Агуулгын хүснэгт:

Arduino ба DS18B20 бүхий дижитал термометр: 7 алхам
Arduino ба DS18B20 бүхий дижитал термометр: 7 алхам

Видео: Arduino ба DS18B20 бүхий дижитал термометр: 7 алхам

Видео: Arduino ба DS18B20 бүхий дижитал термометр: 7 алхам
Видео: FLProg10: датчик температуры DS18B20 | ESP32 NodeMCU | Визуальное программирование для Arduino 2024, Долдугаар сарын
Anonim
Arduino ба DS18B20 бүхий дижитал термометр
Arduino ба DS18B20 бүхий дижитал термометр
Arduino ба DS18B20 бүхий дижитал термометр
Arduino ба DS18B20 бүхий дижитал термометр

Зүгээр л дижитал термометрийг бий болгосноор өрөөний одоогийн температурыг LCD дэлгэц дээр хэлж чадна. Энэ бол эхлэгчдэд зориулсан төсөл юм. Танд хэрэгтэй төхөөрөмж: 1. Arduino UNO R3 2. DS18B20 температур мэдрэгч. 3. 16X2 хэмжээтэй LCD дэлгэц. 4. Утас холбох. 5. Төслийн самбар. Одоо дижитал термометр хийцгээе ….. Энэ бол arduino -д зориулсан Atmega168 pinouts юм. Хэрэв та энэ термометрийг arduino -тойгоо хийвэл үүнийг алгасаарай.

Алхам 1: Breadboard дээр Arduino хийх

Breadboard дээр Arduino хийх
Breadboard дээр Arduino хийх

Хуурамч самбар дээр arduino үүсгэх нь маш хялбар байдаг. Одоо алхам алхамаар утас холбох процедурыг доор өгөв. 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K регисторыг GND -д оруулах +Товчлуурыг +5V руу дарах Одоо та бэлэн боллоо ……………..

Алхам 2: LCD холбох

LCD холболт
LCD холболт

Алхам 3: DS18B20 температур мэдрэгчийг холбох

DS18B20 температур мэдрэгчийг холбож байна
DS18B20 температур мэдрэгчийг холбож байна

Алхам 4: Хэлхээ бэлтгэх

Хэлхээ бэлтгэх
Хэлхээ бэлтгэх

LCD -ийг atmega эсвэл arduino -той холбоно уу. Одоо DS1307 DATA автобусыг DIGITAL PIN 7 (Atmega pin 13) руу холбоно уу.

Алхам 5: Arduino CODE

#include #include #include int DS18S20_Pin = 7; // DS18S20 дохионы зүү тоон 7 дээр rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Температурын чип i/o OneWire ds (DS18S20_Pin); // дижитал зүү 7 дээр rahulmitra void setup (void) {Serial.begin (9600); lcd.begin (16, 2); // Зурвасыг LCD дэлгэц дээр хэвлэх. lcd.print ("Rahul Mitra"); } void loop (void) {хөвөх температур = getTemp (); Цуваа.хэвлэх (температур); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd хэвлэх (температур); lcd.print (" *C"); саатал (100); // энд зөвхөн гаралтыг удаашруулахын тулд уншихад хялбар болно} float getTemp () {// нэг DS18S20 -аас температурыг Цельсийн хэмийн байтын өгөгдөлд буцаана [12]; байт addr [8]; if (! ds.search (addr)) {// гинжинд мэдрэгч байхгүй бол ds.reset_search () хайлтыг дахин тохируулна уу; буцах -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC буруу байна!"); буцах -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("Төхөөрөмжийг танихгүй"); буцах -1000; } ds.reset (); ds.select (addr); ds. бичих (0x44, 1); // хөрвүүлэлтийг эхлүүлэх, паразитын хүчийг асаахад байт байт одоогийн = ds.reset (); ds.select (addr); ds. бичих (0xBE); // Scratchpad -ийг уншина уу (int i = 0; i <9; i ++) {// бидэнд 9 байтын өгөгдөл хэрэгтэй = ds.read (); } ds.reset_search (); MSB байт = өгөгдөл [1]; байт LSB = өгөгдөл [0]; float tempRead = ((MSB << 8) | LSB); // хоёрын магтаалын хөвөгч ашиглан TemperatureSum = tempRead /16; буцах температурын нийлбэр; }

Алхам 6: Эцэст нь та хийсэн

Эцэст нь та хийсэн
Эцэст нь та хийсэн
Эцэст нь та хийсэн
Эцэст нь та хийсэн

Алхам 7: ШУУД үзэх

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

Зөвлөмж болгож буй: