Cuprins:

Termometru digital cu Arduino și DS18B20: 7 pași
Termometru digital cu Arduino și DS18B20: 7 pași

Video: Termometru digital cu Arduino și DS18B20: 7 pași

Video: Termometru digital cu Arduino și DS18B20: 7 pași
Video: Placi Arduino tutorial 2024, Iulie
Anonim
Termometru digital cu Arduino și DS18B20
Termometru digital cu Arduino și DS18B20
Termometru digital cu Arduino și DS18B20
Termometru digital cu Arduino și DS18B20

Pur și simplu creați un termometru digital cu care vă poate indica temperatura curentă a camerei pe un ecran LCD. Acesta este un proiect pentru începători. Aparatul de care aveți nevoie: 1. Arduino UNO R3 2. Senzor de temperatură DS18B20. 3. Afișaj LCD 16X2. 4. Conectarea firelor. 5. Consiliul de proiect. Acum să facem termometru digital ….. Acesta este un pinout Atmega168 pentru arduino. Omiteți acest lucru dacă doriți să faceți acest termometru cu arduino.

Pasul 1: creați Arduino pe Breadboard

Creați Arduino pe Breadboard
Creați Arduino pe Breadboard

Crearea arduino pe o placă este foarte ușoară. Acum procedura de cablare pas cu pas este prezentată mai jos: 1. Pin 7 -> + 5V 2. Pin8 -> GND 3. Pin9 -> Cristal -> condensator 22pF -> GND 4. Pin10-> Cristal -> condensator 22pF -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> + 5V 7. Pin1-> 10K registor la GND + Apăsați butonul la + 5V Acum sunteți gata ……………..

Pasul 2: Conectarea ecranului LCD

Conectare LCD
Conectare LCD

Pasul 3: Conectarea senzorului de temperatură DS18B20

Conectarea senzorului de temperatură DS18B20
Conectarea senzorului de temperatură DS18B20

Pasul 4: Pregătirea circuitului

Pregătirea circuitului
Pregătirea circuitului

Conectați ecranul LCD cu atmega sau arduino conform exemplului LCD implicit de pe IDE-ul arduino. Acum conectați DS1307 magistrala de date la PIN-ul DIGITAL 7 (Atmega pin 13)

Pasul 5: CODUL Arduino

#include #include #include int DS18S20_Pin = 7; // DS18S20 Pin de semnal pe digital 7 de rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Cip de temperatură i / o OneWire ds (DS18S20_Pin); // pe pinul digital 7 de rahulmitra void setup (void) {Serial.begin (9600); lcd.inceput (16, 2); // Imprimați un mesaj pe ecranul LCD. lcd.print ("Rahul Mitra"); } bucla void (nul) {float temperature = getTemp (); Serial.println (temperatura); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.print (temperatura); lcd.print ("* C"); întârziere (100); // tocmai aici pentru a încetini ieșirea, astfel încât să fie mai ușor de citit} float getTemp () {// returnează temperatura de la un DS18S20 în date DEG Celsius octet [12]; octet addr [8]; if (! ds.search (addr)) {// nu mai există senzori în lanț, resetați căutarea ds.reset_search (); retur -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC nu este valid!"); retur -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print („Dispozitivul nu este recunoscut”); retur -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // începe conversia, cu puterea parazitului la octetul final prezent = ds.reset (); ds.select (addr); ds.write (0xBE); // Citiți Scratchpad pentru (int i = 0; i <9; i ++) {// avem nevoie de 9 octeți date = ds.read (); } ds.reset_search (); octet MSB = date [1]; octet LSB = date [0]; float tempRead = ((MSB << 8) | LSB); // folosind float compliment de doi TemperatureSum = tempRead / 16; retur Suma Temperatură; }

Pasul 6: În cele din urmă ai terminat

În cele din urmă ai făcut
În cele din urmă ai făcut
În cele din urmă ai făcut
În cele din urmă ai făcut

Pasul 7: vezi LIVE

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

Recomandat: