Obsah:

Digitálny teplomer s Arduino a DS18B20: 7 krokov
Digitálny teplomer s Arduino a DS18B20: 7 krokov

Video: Digitálny teplomer s Arduino a DS18B20: 7 krokov

Video: Digitálny teplomer s Arduino a DS18B20: 7 krokov
Video: Jednoduchý a lacný digitálny teplomer s Arduinom a shieldom Funduino 2024, November
Anonim
Digitálny teplomer s Arduino a DS18B20
Digitálny teplomer s Arduino a DS18B20
Digitálny teplomer s Arduino a DS18B20
Digitálny teplomer s Arduino a DS18B20

Jednoducho vytvorte digitálny teplomer, ktorý vám na LCD obrazovke oznámi aktuálnu izbovú teplotu. Toto je projekt pre začiatočníkov. Potrebné zariadenie: 1. Arduino UNO R3 2. Teplotný snímač DS18B20. 3. LCD displej 16X2. 4. Pripojovacie vodiče. 5. Projektová rada. Teraz si vyrobme digitálny teplomer ….. Toto je pinout Atmega168 pre arduino. Preskočte to, ak chcete tento teplomer vyrobiť s arduinom.

Krok 1: Vytvorte Arduino na Breadboarde

Vyrobte si Arduino na Breadboarde
Vyrobte si Arduino na Breadboarde

Vytvorenie arduina na nástenke je veľmi jednoduché. Teraz je nižšie uvedený postup zapojenia krok za krokom: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Crystal -> 22pF kondenzátor -> GND 4. Pin10-> Crystal -> 22pF kondenzátor -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K registrátor na GND +Tlačidlo na +5V Teraz ste pripravení ……………..

Krok 2: Pripojenie LCD

Pripojenie LCD
Pripojenie LCD

Krok 3: Pripojenie teplotného senzora DS18B20

Pripojenie snímača teploty DS18B20
Pripojenie snímača teploty DS18B20

Krok 4: Príprava obvodu

Príprava obvodu
Príprava obvodu

Pripojte LCD k atmega alebo arduino podľa predvoleného príkladu LCD na arduino IDE. Teraz pripojte zbernicu DS1307 DATA k DIGITÁLNEMU PIN 7 (pin Atmega 13)

Krok 5: KÓD Arduino

#include #include #include int DS18S20_Pin = 7; // Signálny kolík DS18S20 na digitálnom 7 od rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Teplotný čip i/o OneWire ds (DS18S20_Pin); // na digitálnom pine 7 od rahulmitra void setup (void) {Serial.begin (9600); lcd.begin (16, 2); // Vytlačte správu na LCD. lcd.print („Rahul Mitra“); } void loop (void) {float temperature = getTemp (); Serial.println (teplota); lcd.setCursor (0, 1); lcd.print ("Teplota:"); lcd.print (teplota); lcd.print (" *C"); oneskorenie (100); // len tu na spomalenie výstupu, aby bolo ľahšie čitateľné} float getTemp () {// vracia teplotu z jedného DS18S20 v bajtových údajoch ° C Celzia [12]; byte addr [8]; if (! ds.search (addr)) {// už nie sú žiadne reťaze senzorov, resetujte vyhľadávanie ds.reset_search (); návratnosť -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC nie je platný!"); návratnosť -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("Zariadenie nebolo rozpoznané"); návratnosť -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // spustenie konverzie, so zapnutým parazitom na konci prítomný bajt = ds.reset (); ds.select (addr); ds.write (0xBE); // Prečítajte si Scratchpad pre (int i = 0; i <9; i ++) {// potrebujeme údaje 9 bajtov = ds.read (); } ds.reset_search (); bajt MSB = údaje [1]; bajt LSB = údaje [0]; float tempRead = ((MSB << 8) | LSB); // pomocou dvojitého komplimentu float TemperatureSum = tempRead /16; návrat TeplotaSum; }

Krok 6: Konečne ste urobili

Konečne máte hotovo
Konečne máte hotovo
Konečne máte hotovo
Konečne máte hotovo

Krok 7: Pozrite si LIVE

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

Odporúča: