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, Decembar
Anonim
Digitalni termometar sa Arduinom i DS18B20
Digitalni termometar sa Arduinom i DS18B20
Digitalni termometar sa Arduinom i DS18B20
Digitalni termometar sa Arduinom i DS18B20

Jednostavno stvorite digitalni termometar koji vam može reći trenutnu sobnu temperaturu na LCD ekranu. Ovo je projekat za početnike. Uređaji koji su vam potrebni: 1. Arduino UNO R3 2. Senzor temperature DS18B20. 3. 16X2 LCD ekran. 4. Priključivanje žica. 5. Projektni odbor. Sada napravimo digitalni termometar … Ovo je Atmega168 pinout 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 krovnoj ploči vrlo je jednostavno. Postupak ožičenja korak po korak je dolje prikazan: 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 dugme na +5V Sada ste spremni ……………..

Korak 2: Povezivanje LCD -a

Povezivanje LCD -a
Povezivanje LCD -a

Korak 3: Spajanje temperaturnog senzora DS18B20

Priključivanje temperaturnog senzora DS18B20
Priključivanje temperaturnog senzora DS18B20

Korak 4: Priprema kruga

Priprema kola
Priprema kola

Povežite 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); // Odštampajte poruku na LCD ekranu. lcd.print ("Rahul Mitra"); } void loop (void) {float temperature = getTemp (); Serial.println (temperatura); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.print (temperatura); lcd.print (" *C"); kašnjenje (100); // samo ovdje za usporavanje izlaza radi lakšeg čitanja} float getTemp () {// vraća temperaturu iz jednog DS18S20 u bajtskim podacima DEG Celzijusa [12]; add byte [8]; if (! ds.search (addr)) {// nema više senzora na lancu, poništite pretraživanje ds.reset_search (); return -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC nije važeći!"); return -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("Uređaj nije prepoznat"); return -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // započinjemo konverziju, sa uključenim parazitom na zadnjem bajtu = ds.reset (); ds.select (addr); ds.write (0xBE); // čitati Scratchpad za (int i = 0; i <9; i ++) {// potrebni su nam podaci od 9 bajtova = ds.read (); } ds.reset_search (); bajt MSB = podaci [1]; bajt LSB = podaci [0]; float tempRead = ((MSB << 8) | LSB); // koristeći dva kompliment float TemperatureSum = tempRead /16; povrat TemperatureSum; }

Korak 6: Konačno ste završili

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čuje se: