Sadržaj:

Digitalni termometar s Arduinom i DS18B20: 7 koraka
Digitalni termometar s Arduinom i DS18B20: 7 koraka

Video: Digitalni termometar s Arduinom i DS18B20: 7 koraka

Video: Digitalni termometar s Arduinom i DS18B20: 7 koraka
Video: Digitalni termometar(ds18b20) 2024, Srpanj
Anonim
Digitalni termometar s Arduinom i DS18B20
Digitalni termometar s Arduinom i DS18B20
Digitalni termometar s Arduinom i DS18B20
Digitalni termometar s Arduinom i DS18B20

Jednostavno stvorite digitalni termometar koji vam može reći trenutnu sobnu temperaturu na LCD ekranu. Ovo je projekt za početnike. Uređaji koji su vam potrebni: 1. Arduino UNO R3 2. Senzor temperature DS18B20. 3. 16X2 LCD zaslon. 4. Spajanje žica. 5. Projektna ploča. Sada napravimo digitalni termometar … Ovo je Atmega168 ispis za arduino. Samo preskočite ovo ako želite napraviti ovaj termometar sa svojim arduinom.

Korak 1: Napravite Arduino na pločici

Napravite Arduino na Breadboard -u
Napravite Arduino na Breadboard -u

Stvaranje arduina na grudnoj ploči vrlo je jednostavno. Sada je korak po korak postupak ožičenja dan u nastavku: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> kristal -> 22pF kondenzator -> GND 4. Pin10-> kristal -> 22pF kondenzator -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K registrator na GND +Pritisnite gumb na +5V Sada ste spremni ……………..

Korak 2: Povezivanje LCD -a

Povezivanje LCD -a
Povezivanje LCD -a

Korak 3: Spajanje temperaturnog osjetnika DS18B20

Priključivanje temperaturnog osjetnika DS18B20
Priključivanje temperaturnog osjetnika DS18B20

Korak 4: Priprema kruga

Priprema kruga
Priprema kruga

Spojite LCD s atmegom ili arduinom prema zadanim primjeru LCD -a na arduino IDE -u. Sada spojite DS1307 DATA sabirnicu na DIGITALNI PIN 7 (Atmega pin 13)

Korak 5: Arduino KOD

#include #include #include int DS18S20_Pin = 7; // DS18S20 Signalni pin na digitalnom 7 od rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Temperaturni čip i/o OneWire ds (DS18S20_Pin); // na digitalnom pinu 7 by rahulmitra void setup (void) {Serial.begin (9600); lcd.begin (16, 2); // Ispis poruke na LCD -u. lcd.print ("Rahul Mitra"); } void loop (void) {float temperature = getTemp (); Serial.println (temperatura); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.tisak (temperatura); lcd.print (" *C"); kašnjenje (100); // samo ovdje za usporavanje izlaza radi lakšeg čitanja} float getTemp () {// vraća temperaturu s jednog DS18S20 u bajtskim podacima DEG Celzijusa [12]; dodavač bajtova [8]; if (! ds.search (addr)) {// nema više senzora u lancu, poništite pretraživanje ds.reset_search (); povrat -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC nije važeći!"); povrat -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("Uređaj nije prepoznat"); povrat -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // početak pretvorbe, s uključenim parazitom na zadnjem bajtu prisutan = ds.reset (); ds.select (addr); ds.write (0xBE); // čitati Scratchpad za (int i = 0; i <9; i ++) {// potrebni su nam podaci od 9 bajta = ds.read (); } ds.reset_search (); bajt MSB = podaci [1]; bajt LSB = podatak [0]; float tempRead = ((MSB << 8) | LSB); // pomoću dva komplimenta float TemperatureSum = tempRead /16; povratna temperaturaSum; }

Korak 6: Napokon ste učinili

Konačno ste učinili
Konačno ste učinili
Konačno ste učinili
Konačno ste učinili

Korak 7: Pogledajte UŽIVO

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

Preporučeni: