Мазмуну:

Ардуино жана DS18B20 менен санарип термометр: 7 кадам
Ардуино жана DS18B20 менен санарип термометр: 7 кадам

Video: Ардуино жана DS18B20 менен санарип термометр: 7 кадам

Video: Ардуино жана DS18B20 менен санарип термометр: 7 кадам
Video: FLProg10: датчик температуры DS18B20 | ESP32 NodeMCU | Визуальное программирование для Arduino 2024, Июль
Anonim
Санарип термометр Arduino жана DS18B20 менен
Санарип термометр Arduino жана DS18B20 менен
Санарип термометр Arduino жана DS18B20 менен
Санарип термометр Arduino жана DS18B20 менен

Жөн эле санарип термометрин түзүңүз, анын жардамы менен ЖК экрандан учурдагы бөлмө температурасын айта аласыз. Бул башталгыч долбоор. Сизге керектүү аппарат: 1. Arduino UNO R3 2. DS18B20 температура сенсору. 3. 16X2 ЖК дисплей. 4. Зымдарды туташтыруу. 5. Долбоордун тактасы. Эми санарип термометрин жасайлы ….. Бул arduino үчүн Atmega168 pinouts. Эгерде сиз бул термометрди arduino менен жасоону кааласаңыз, муну өткөрүп жибериңиз.

1 -кадам: Breadboardдо Arduino жасаңыз

Breadboardдо Arduino жасаңыз
Breadboardдо Arduino жасаңыз

Ардуинону бренд тактасында түзүү абдан оңой. Эми этап -этабы менен өткөрмө процедурасы төмөндө берилет: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Crystal -> 22pF конденсатору -> GND 4. Pin10-> Crystal -> 22pF конденсатору -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K регистору GND +баскычын +5V басуу Эми сиз даярсыз ……………..

2 -кадам: ЖК кошуу

ЖК кошуу
ЖК кошуу

3 -кадам: DS18B20 температура сенсорун туташтыруу

DS18B20 температура сенсорун туташтыруу
DS18B20 температура сенсорун туташтыруу

4 -кадам: Районду даярдоо

Районду даярдоо
Районду даярдоо

ЖКны armeino IDEдеги демейки ЖК мисалына ылайык atmega же arduino менен туташтырыңыз. Эми DS1307 DATA автобусун DIGITAL PIN 7ге туташтырыңыз (Atmega pin 13)

5 -кадам: Arduino CODE

#кошуу #кошуу #кошуу int DS18S20_Pin = 7; // DS18S20 Signal pin in digital 7 by rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Температура чипи i/o OneWire ds (DS18S20_Pin); // санарип пин 7де rahulmitra аркылуу боштукту орнотуу (жараксыз) {Serial.begin (9600); lcd.begin (16, 2); // ЖКга билдирүү басып чыгаруу. 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дан температураны Цельсий боюнча байт маалыматында кайтарат [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); // экөөнүн комплиментин калкып колдонуу TemperatureSum = tempRead /16; кайтуу TemperatureSum; }

6 -кадам: Акыры сиз бүттүңүз

Акыры кылдың
Акыры кылдың
Акыры кылдың
Акыры кылдың

7 -кадам: LIVE караңыз

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

Сунушталууда: