Përmbajtje:

Termometër dixhital me Arduino & DS18B20: 7 hapa
Termometër dixhital me Arduino & DS18B20: 7 hapa

Video: Termometër dixhital me Arduino & DS18B20: 7 hapa

Video: Termometër dixhital me Arduino & DS18B20: 7 hapa
Video: Отображение температуры на LCD1602 с помощью датчика температуры LM35 с Arduino 2024, Korrik
Anonim
Termometër dixhital me Arduino & DS18B20
Termometër dixhital me Arduino & DS18B20
Termometër dixhital me Arduino & DS18B20
Termometër dixhital me Arduino & DS18B20

Thjesht krijoni një termometër dixhital me të cilin mund t'ju tregojë temperaturën aktuale të dhomës në një ekran LCD. Ky është një projekt fillestar. Aparatura që ju nevojiten: 1. Arduino UNO R3 2. Sensori i temperaturës DS18B20. 3. Ekran LCD 16X2. 4. Lidhja e telave. 5. Bordi i projektit. Tani le të bëjmë termometër dixhital ….. Ky është një pinout Atmega168 për arduino. Thjesht kaloni këtë nëse doni të bëni këtë termometër me arduino tuaj.

Hapi 1: Bëni Arduino në Breadboard

Bëni Arduino në Breadboard
Bëni Arduino në Breadboard

Krijimi i arduino në një breaboard është shumë e lehtë. Tani procedura hap pas hapi e telave jepet më poshtë: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Kristal -> kondensator 22pF -> GND 4. Pin10-> Kristal -> kondensator 22pF -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K regjistrues në GND +Shtyp butonin në +5V Tani jeni gati ……………..

Hapi 2: Lidhja e ekranit LCD

Lidhja e ekranit LCD
Lidhja e ekranit LCD

Hapi 3: Lidhja e sensorit të temperaturës DS18B20

Lidhja e sensorit të temperaturës DS18B20
Lidhja e sensorit të temperaturës DS18B20

Hapi 4: Përgatitja e qarkut

Përgatitja e qarkut
Përgatitja e qarkut

Lidhni LCD me atmega ose arduino sipas shembullit të paracaktuar të LCD në arduino IDE. Tani lidhni autobusin DS1307 DATA me PIN DIGJITAL 7 (Atmega pin 13)

Hapi 5: KODI Arduino

#përfshi #përfshi #përfshi int int DS18S20_Pin = 7; // DS18S20 Pin sinjal në dixhital 7 nga rahulmitra LiquidCrystal LCD (12, 11, 5, 4, 3, 2); // Çipi i temperaturës i/o OneWire ds (DS18S20_Pin); // në pinin dixhital 7 nga rahulmitra void setup (void) {Serial.begin (9600); lcd.filloni (16, 2); // Shtypni një mesazh në LCD. lcd.print ("Rahul Mitra"); } lak void (i pavlefshëm) {temperatura e notimit = getTemp (); Serial.println (temperatura); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.print (temperatura); lcd.print (" *C"); vonesë (100); // vetëm këtu për të ngadalësuar daljen kështu që është më e lehtë të lexosh} float getTemp () {// kthen temperaturën nga një DS18S20 në të dhënat e bajtit DEG Celsius [12]; bajt addr [8]; nëse (! ds.search (addr)) {// nuk ka më sensorë në zinxhir, rivendosni kërkimin ds.reset_search (); kthimi -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC nuk është e vlefshme!"); kthimi -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("Pajisja nuk njihet"); kthimi -1000; } ds.reset (); ds.zgjedh (addr); ds.shkruaj (0x44, 1); // fillo konvertimin, me fuqinë e parazitit të ndezur në fund byte present = ds.reset (); ds.zgjedh (addr); ds.shkruaj (0xBE); // Lexo Scratchpad për (int i = 0; i <9; i ++) {// na duhen të dhëna 9 bajtësh = ds.read (); } ds.reset_search (); byte MSB = të dhëna [1]; bajt LSB = të dhëna [0]; float tempRead = ((MSB << 8) | LSB); // duke përdorur notën e komplimentit të dy TemperatureSum = tempRead /16; kthimi TemperatureSum; }

Hapi 6: Më në fund Keni Bërë

Më në fund Keni Bërë
Më në fund Keni Bërë
Më në fund Keni Bërë
Më në fund Keni Bërë

Hapi 7: Shih LIVE

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

Recommended: