Съдържание:

Цифров термометър с Arduino и DS18B20: 7 стъпки
Цифров термометър с Arduino и DS18B20: 7 стъпки

Видео: Цифров термометър с Arduino и DS18B20: 7 стъпки

Видео: Цифров термометър с Arduino и DS18B20: 7 стъпки
Видео: Уроки Arduino. Подключение термометров DS18B20 и NTC термистора 2024, Ноември
Anonim
Цифров термометър с Arduino и DS18B20
Цифров термометър с Arduino и DS18B20
Цифров термометър с Arduino и DS18B20
Цифров термометър с Arduino и DS18B20

Просто създайте цифров термометър с може да ви каже текущата стайна температура на LCD екран. Това е проект за начинаещи. Апарати, от които се нуждаете: 1. Arduino UNO R3 2. Температурен сензор DS18B20. 3. 16X2 LCD дисплей. 4. Свързване на проводници. 5. Борд на проекта. Сега нека направим цифров термометър ….. Това е разпечатки на Atmega168 за arduino. Просто пропуснете това, ако искате да направите този термометър с вашия arduino.

Стъпка 1: Направете Arduino на Breadboard

Направете Arduino на Breadboard
Направете Arduino на Breadboard

Създаването на arduino на табла е много лесно. Сега стъпка по стъпка процедурата за окабеляване е дадена по -долу: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Кристал -> 22pF кондензатор -> GND 4. Pin10-> Кристал -> 22pF кондензатор -> GND 5. щифт 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K регистратор към GND +Натиснете бутон към +5V Сега сте готови ……………..

Стъпка 2: Свързване на LCD

Свързване на LCD
Свързване на LCD

Стъпка 3: Свързване на температурен сензор DS18B20

Свързване на температурен сензор DS18B20
Свързване на температурен сензор DS18B20

Стъпка 4: Подготовка на веригата

Подготовка на веригата
Подготовка на веригата

Свържете LCD дисплея с atmega или arduino според примера за LCD по подразбиране в arduino IDE. Сега свържете DS1307 DATA шина към DIGITAL PIN 7 (Atmega pin 13)

Стъпка 5: Arduino CODE

#include #include #include int DS18S20_Pin = 7; // Сигнален щифт DS18S20 на цифров 7 от lcd rahulmitra LiquidCrystal (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) {float temperature = getTemp (); Serial.println (температура); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.print (температура); lcd.print (" *C"); забавяне (100); // само тук, за да забавим изхода, така че да е по -лесно да се чете} float getTemp () {// връща температурата от един DS18S20 в байтови данни DEG Celsius [12]; добавяне на байтове [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.write (0x44, 1); // стартиране на преобразуването, с включено паразитно захранване в края на байта = ds.reset (); ds.select (addr); ds.write (0xBE); // Четене на Scratchpad за (int i = 0; i <9; i ++) {// имаме нужда от 9 байта данни = ds.read (); } ds.reset_search (); байт MSB = данни [1]; байт LSB = данни [0]; float tempRead = ((MSB << 8) | LSB); // използвайки два комплимента float TemperatureSum = tempRead /16; връщане TemperatureSum; }

Стъпка 6: Най -накрая сте направили

Най -накрая сте направили
Най -накрая сте направили
Най -накрая сте направили
Най -накрая сте направили

Стъпка 7: Вижте НА ЖИВО

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

Препоръчано: