Mündəricat:

Arduino və DS18B20 ilə rəqəmsal termometr: 7 addım
Arduino və DS18B20 ilə rəqəmsal termometr: 7 addım

Video: Arduino və DS18B20 ilə rəqəmsal termometr: 7 addım

Video: Arduino və DS18B20 ilə rəqəmsal termometr: 7 addım
Video: Arduino Dərs 2 . Rəqəmsal və Analog siqnal "Serial","digitalRead","analogRead","analogWrite" əmrləri 2024, Iyul
Anonim
Arduino və DS18B20 ilə Rəqəmsal Termometr
Arduino və DS18B20 ilə Rəqəmsal Termometr
Arduino və DS18B20 ilə Rəqəmsal Termometr
Arduino və DS18B20 ilə Rəqəmsal Termometr

LCD ekranda cari otaq temperaturunu deyə biləcəyiniz rəqəmsal bir termometr yaradın. Bu yeni başlayanlar üçün bir layihədir. Ehtiyacınız olan cihaz: 1. Arduino UNO R3 2. DS18B20 temperatur sensoru. 3. 16X2 LCD displey. 4. Bağlayıcı tellər. 5. Layihə lövhəsi. İndi rəqəmsal termometr hazırlayaq ….. Bu arduino üçün Atmega168 pinoutlarıdır. Arduino ilə bu termometr hazırlamaq istəyirsinizsə, bunu atlayın.

Addım 1: Breadboard -da Arduino yaradın

Breadboard -da Arduino yaradın
Breadboard -da Arduino yaradın

Sahibkarlıqda arduino yaratmaq çox asandır. İndi addım -addım kabel çəkmə proseduru aşağıda verilmişdir: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Crystal -> 22pF kondansatör -> GND 4. Pin10-> Crystal -> 22pF kondansatör -> GND 5. pin 22 -> GND 6. Pin21 və Pin20 -> +5V 7. Pin1-> 10K registoru GND -ə +Düyməni +5V -ə basın İndi hazırsınız ……………..

Addım 2: LCD -yə qoşulun

LCD -yə qoşulma
LCD -yə qoşulma

Addım 3: DS18B20 Temperatur Sensorunun Bağlanması

DS18B20 Temperatur Sensorunun qoşulması
DS18B20 Temperatur Sensorunun qoşulması

Addım 4: Dövrənin hazırlanması

Dövrün Hazırlanması
Dövrün Hazırlanması

Arduino IDE -də standart LCD nümunəsinə uyğun olaraq LCD -ni atmega və ya arduino ilə bağlayın. İndi DS1307 DATA avtobusunu DİJİTAL PIN 7 -yə (Atmega pin 13) qoşun

Addım 5: Arduino KODU

#include #include #include int DS18S20_Pin = 7; // rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2) tərəfindən rəqəmsal 7 -də DS18S20 Siqnal pimi; // Temperatur çipi i/o OneWire ds (DS18S20_Pin); // rəqəmsal pin 7 -də rahulmitra tərəfindən boşluq qurulması (boşluq) {Serial.begin (9600); lcd.begin (16, 2); // LCD -yə mesaj yazın. lcd.print ("Rahul Mitra"); } void loop (void) {float temperatur = getTemp (); Serial.println (temperatur); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd çap (temperatur); lcd.print (" *C"); gecikmə (100); // çıxışı yavaşlatmaq üçün burda oxumaq daha asandır} float getTemp () {// temperaturu bir DS18S20 -dən DEG Celsius bayt məlumatlarına qaytarır [12]; bayt addr [8]; əgər (! ds.search (addr)) {// zəncirdə artıq sensorlar yoxdursa, ds.reset_search () axtarışını sıfırlayın; qaytarma -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC etibarlı deyil!"); qaytarma -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("Cihaz tanınmır"); qaytarma -1000; } ds.reset (); ds.seç (addr); ds.write (0x44, 1); // çevrilməyə başlayın, sonda parazit gücü ilə bayt indiki = ds.reset (); ds.seç (addr); ds.write (0xBE); // Scratchpad -ı oxuyun (int i = 0; i <9; i ++) {// bizə 9 bayt məlumat lazımdır = ds.read (); } ds.reset_search (); bayt MSB = məlumat [1]; bayt LSB = məlumat [0]; float tempRead = ((MSB << 8) | LSB); // ikisinin iltifat floatını istifadə edərək TemperatureSum = tempRead /16; qaytarma temperaturu cəmi; }

Addım 6: Nəhayət, bitirdiniz

Nəhayət Etdin
Nəhayət Etdin
Nəhayət Etdin
Nəhayət Etdin

Addım 7: CANLI bax

www.youtube.com/watch?v=7718FODdtio&list=UUY916I6z4Y3QQhzjHsIhR8w

Tövsiyə: