Turinys:

Skaitmeninis termometras su „Arduino“ir DS18B20: 7 žingsniai
Skaitmeninis termometras su „Arduino“ir DS18B20: 7 žingsniai

Video: Skaitmeninis termometras su „Arduino“ir DS18B20: 7 žingsniai

Video: Skaitmeninis termometras su „Arduino“ir DS18B20: 7 žingsniai
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Liepa
Anonim
Skaitmeninis termometras su „Arduino“ir DS18B20
Skaitmeninis termometras su „Arduino“ir DS18B20
Skaitmeninis termometras su „Arduino“ir DS18B20
Skaitmeninis termometras su „Arduino“ir DS18B20

Tiesiog sukurkite skaitmeninį termometrą, kuris LCD ekrane parodys esamą kambario temperatūrą. Tai pradedančiųjų projektas. Jums reikalinga aparatūra: 1. „Arduino UNO R3“2. DS18B20 temperatūros jutiklis. 3. 16X2 LCD ekranas. 4. Prijungimo laidai. 5. Projekto lenta. Dabar padarykime skaitmeninį termometrą….. Tai yra „Atmega168“kištukai, skirti „arduino“. Tiesiog praleiskite tai, jei ketinate gaminti šį termometrą su savo arduino.

1 žingsnis: Padarykite „Arduino“ant „Breadboard“

Padarykite „Arduino“ant „Breadboard“
Padarykite „Arduino“ant „Breadboard“

„Breduoard“sukurti arduino yra labai paprasta. Dabar žingsnis po žingsnio prijungimo procedūra pateikiama žemiau: 1. 7 kaištis -> +5 V 2. 8 kaištis -> GND 3. Pin9 -> krištolas -> 22pF kondensatorius -> GND 4. Pin10-> krištolas -> 22pF kondensatorius -> GND 5. kaištis 22 -> GND 6. „Pin21“ir „Pin20“-> +5V 7. „Pin1-> 10K“registratorius prie GND +paspauskite mygtuką iki +5V Dabar esate pasiruošę ……………..

2 žingsnis: LCD prijungimas

LCD prijungimas
LCD prijungimas

3 žingsnis: DS18B20 temperatūros jutiklio prijungimas

Jungiamas DS18B20 temperatūros jutiklis
Jungiamas DS18B20 temperatūros jutiklis

4 žingsnis: grandinės paruošimas

Grandinės paruošimas
Grandinės paruošimas

Prijunkite skystųjų kristalų ekraną prie „atmega“arba „arduino“pagal numatytąjį arduino IDE skystųjų kristalų ekrano pavyzdį. Dabar prijunkite DS1307 DATA magistralę prie DIGITAL PIN 7 („Atmega pin 13“)

5 veiksmas: „Arduino“KODAS

#include #include #include int DS18S20_Pin = 7; // DS18S20 Signal pin on digital 7 by rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Temperatūros lustas i/o OneWire ds (DS18S20_Pin); // ant skaitmeninio kaiščio 7, kurį pateikė rahulmitra void setup (void) {Serial.begin (9600); LCD. pradžia (16, 2); // Spausdinkite pranešimą į LCD. lcd.print („Rahul Mitra“); } void loop (void) {plūdės temperatūra = getTemp (); Serial.println (temperatūra); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.print (temperatūra); lcd.print (" *C"); vėlavimas (100); // čia tik norint sulėtinti išvestį, kad būtų lengviau skaityti} float getTemp () {// grąžina temperatūrą iš vieno DS18S20 DEG Celsijaus baitų duomenimis [12]; baitų pridėtojas [8]; if (! ds.search (addr)) {// nebeliko jutiklių grandinėje, iš naujo nustatykite paiešką ds.reset_search (); grąža -1000; } if („OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println („ CRC negalioja! “); grąža -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print („Įrenginys neatpažintas“); grąža -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // pradėti konversiją, kai parazitų maitinimas įjungtas baito pabaigoje = ds.reset (); ds.select (addr); ds.write (0xBE); // Skaitykite „Scratchpad“(int i = 0; i <9; i ++) {// mums reikia 9 baitų duomenų = ds.read (); } ds.reset_search (); baitas MSB = duomenys [1]; baitas LSB = duomenys [0]; plūdės tempRead = ((MSB << 8) | LSB); // naudojant dviejų komplimentų plūdę TemperatureSum = tempRead /16; grįžti TemperatureSum; }

6 žingsnis: pagaliau jūs padarėte

Pagaliau tu padarei
Pagaliau tu padarei
Pagaliau tu padarei
Pagaliau tu padarei

7 žingsnis: žiūrėkite tiesioginę transliaciją

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

Rekomenduojamas: