Sommario:

Termometro digitale con Arduino e DS18B20: 7 passaggi
Termometro digitale con Arduino e DS18B20: 7 passaggi

Video: Termometro digitale con Arduino e DS18B20: 7 passaggi

Video: Termometro digitale con Arduino e DS18B20: 7 passaggi
Video: Using the DS18B20 thermometer on the web server and OLED | ds18b20 temperature sensor Arduino 2024, Luglio
Anonim
Termometro digitale con Arduino e DS18B20
Termometro digitale con Arduino e DS18B20
Termometro digitale con Arduino e DS18B20
Termometro digitale con Arduino e DS18B20

Crea semplicemente un termometro digitale in grado di dirti la temperatura ambiente corrente su uno schermo LCD. Questo è un progetto per principianti. Apparato di cui hai bisogno: 1. Arduino UNO R3 2. Sensore di temperatura DS18B20. 3. Display LCD 16X2. 4. Cavi di collegamento. 5. Scheda di progetto. Ora facciamo un termometro digitale….. Questo è un pinout Atmega168 per arduino. Salta questo se vuoi realizzare questo termometro con il tuo arduino.

Passaggio 1: crea Arduino su Breadboard

Crea Arduino su Breadboard
Crea Arduino su Breadboard

Creare arduino su un tagliere è molto semplice. Ora la procedura di cablaggio passo passo è riportata di seguito: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Crystal -> condensatore 22pF -> GND 4. Pin10-> Crystal -> condensatore 22pF -> GND 5. pin 22 -> GND 6. Pin21 e Pin20 -> +5V 7. Pin1-> registro 10K a GND + Pulsante a +5V Ora sei pronto……………..

Passaggio 2: collegamento LCD

Collegamento LCD
Collegamento LCD

Passaggio 3: collegamento del sensore di temperatura DS18B20

Collegamento del sensore di temperatura DS18B20
Collegamento del sensore di temperatura DS18B20

Passaggio 4: preparazione del circuito

Preparazione del circuito
Preparazione del circuito

Collega l'LCD con l'atmega o arduino secondo l'esempio LCD predefinito sull'IDE arduino. Collegare ora il bus DATI DS1307 al PIN 7 DIGITALE (pin 13 Atmega)

Passaggio 5: CODICE Arduino

#include #include #include int DS18S20_Pin = 7; //DS18S20 Pin segnale su 7 digitale di rahulmitra LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Chip temperatura i/o OneWire ds(DS18S20_Pin); // sul pin digitale 7 di rahulmitra void setup(void) { Serial.begin(9600); lcd.begin(16, 2); // Stampa un messaggio sul display LCD. lcd.print("Rahul Mitra"); } void loop(void) { float temperatura = getTemp(); Serial.println(temperatura); lcd.setCursor(0, 1); lcd.print("Temp: "); lcd.print(temperatura); lcd.print("*C"); ritardo(100); //solo qui per rallentare l'output in modo che sia più facile da leggere } float getTemp(){ //restituisce la temperatura da un DS18S20 in DEG Celsius byte data[12]; indirizzo di byte[8]; if (!ds.search(addr)) { //non più sensori sulla catena, resetta la ricerca ds.reset_search(); ritorno -1000; } if (OneWire::crc8(addr, 7) != addr[7]) { Serial.println("CRC non è valido!"); ritorno -1000; } if (addr[0] != 0x10 && addr[0] != 0x28) { Serial.print("Il dispositivo non è riconosciuto"); ritorno -1000; } ds.reset(); ds.select(addr); ds.write(0x44, 1); // avvia la conversione, con l'accensione del parassita alla fine del byte presente = ds.reset(); ds.select(addr); ds.write(0xBE); // Leggi Scratchpad for (int i = 0; i < 9; i++) { // abbiamo bisogno di 9 byte data = ds.read(); } ds.reset_search(); byte MSB = dati[1]; byte LSB = dati[0]; float tempRead = ((MSB << 8) | LSB); //usando il complimento a due float TemperatureSum = tempRead / 16; ritorno TemperaturaSomma; }

Passaggio 6: finalmente hai finito

Finalmente hai fatto
Finalmente hai fatto
Finalmente hai finito
Finalmente hai finito

Passaggio 7: guarda LIVE

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

Consigliato: