Innehållsförteckning:

Digital termometer med Arduino & DS18B20: 7 steg
Digital termometer med Arduino & DS18B20: 7 steg

Video: Digital termometer med Arduino & DS18B20: 7 steg

Video: Digital termometer med Arduino & DS18B20: 7 steg
Video: Уроки Arduino. Подключение термометров DS18B20 и NTC термистора 2024, November
Anonim
Digital termometer med Arduino & DS18B20
Digital termometer med Arduino & DS18B20
Digital termometer med Arduino & DS18B20
Digital termometer med Arduino & DS18B20

Skapa helt enkelt en digital termometer med kan berätta den aktuella rumstemperaturen på en LCD -skärm. Detta är ett nybörjarprojekt. Apparater som du behöver: 1. Arduino UNO R3 2. DS18B20 temperaturgivare. 3. 16X2 LCD -skärm. 4. Anslutning av ledningar. 5. Projektstyrelse. Nu kan vi göra digital termometer … Detta är en Atmega168 pinouts för arduino. Hoppa bara över det här om du vill göra denna termometer med din arduino.

Steg 1: Gör Arduino på Breadboard

Gör Arduino på Breadboard
Gör Arduino på Breadboard

Det är väldigt enkelt att skapa arduino på en tavla. Nu ges steg för steg kopplingsproceduren nedan: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Crystal -> 22pF kondensator -> GND 4. Pin10-> Crystal -> 22pF kondensator -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K registor till GND +Tryckknapp till +5V Nu är du redo ……………..

Steg 2: Ansluta LCD

Ansluter LCD
Ansluter LCD

Steg 3: Anslutning av DS18B20 temperatursensor

Ansluter DS18B20 temperatursensor
Ansluter DS18B20 temperatursensor

Steg 4: Förbered kretsen

Förbereda kretsen
Förbereda kretsen

Anslut LCD -skärmen med atmega eller arduino enligt standard -LCD -exemplet på arduino IDE. Anslut nu DS1307 DATA -buss till DIGITAL PIN 7 (Atmega pin 13)

Steg 5: Arduino -KOD

#include #include #include int DS18S20_Pin = 7; // DS18S20 Signalstift på digital 7 av rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Temperaturchip i/o OneWire ds (DS18S20_Pin); // på digital pin 7 av rahulmitra void setup (void) {Serial.begin (9600); lcd.begin (16, 2); // Skriv ut ett meddelande till LCD -skärmen. lcd.print ("Rahul Mitra"); } void loop (void) {float temperature = getTemp (); Serial.println (temperatur); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.print (temperatur); lcd.print (" *C"); fördröjning (100); // bara här för att sakta ner utmatningen så att det är lättare att läsa} float getTemp () {// returnerar temperaturen från en DS18S20 i DEG Celsius byte data [12]; byte addr [8]; om (! ds.search (addr)) {// inga fler sensorer på kedjan, återställ sökningen ds.reset_search (); avkastning -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC är inte giltigt!"); avkastning -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("Enheten känns inte igen"); avkastning -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // starta omvandling, med parasitkraft på vid byte närvarande = ds.reset (); ds.select (addr); ds.write (0xBE); // Läs Scratchpad för (int i = 0; i <9; i ++) {// vi behöver 9 bytes data = ds.read (); } ds.reset_search (); byte MSB = data [1]; byte LSB = data [0]; float tempRead = ((MSB << 8) | LSB); // med hjälp av två komplimanger float TemperatureSum = tempRead /16; retur TemperatureSum; }

Steg 6: Äntligen har du gjort

Äntligen har du gjort
Äntligen har du gjort
Äntligen har du gjort
Äntligen har du gjort

Steg 7: Se LIVE

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

Rekommenderad: