Innholdsfortegnelse:

Digitalt termometer med Arduino og DS18B20: 7 trinn
Digitalt termometer med Arduino og DS18B20: 7 trinn

Video: Digitalt termometer med Arduino og DS18B20: 7 trinn

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

Bare lag et digitalt termometer som kan fortelle deg gjeldende romtemperatur på en LCD -skjerm. Dette er et nybegynnerprosjekt. Apparater du trenger: 1. Arduino UNO R3 2. DS18B20 temperatursensor. 3. 16X2 LCD -skjerm. 4. Koble til ledninger. 5. Prosjektbord. La oss nå lage et digitalt termometer … Dette er en Atmega168 pinouts for arduino. Bare hopp over dette hvis du vil lage dette termometeret med din arduino.

Trinn 1: Lag Arduino på brødbrett

Lag Arduino på brødbrett
Lag Arduino på brødbrett

Å lage arduino på et tavle er veldig enkelt. Nå er trinnvis kablingsprosedyre gitt nedenfor: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Krystall -> 22pF kondensator -> GND 4. Pin10-> Krystall -> 22pF kondensator -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K registor til GND +Trykknapp til +5V Nå er du klar ……………..

Trinn 2: Koble til LCD

Koble til LCD
Koble til LCD

Trinn 3: Koble til DS18B20 temperatursensor

Koble til DS18B20 temperatursensor
Koble til DS18B20 temperatursensor

Trinn 4: Forbered kretsen

Forbereder kretsen
Forbereder kretsen

Koble LCD -en til atmega eller arduino i henhold til standard LCD -eksempel på arduino IDE. Koble nå DS1307 DATA -bussen til DIGITAL PIN 7 (Atmega pin 13)

Trinn 5: Arduino KODE

#include #include #include int DS18S20_Pin = 7; // DS18S20 Signalpinne på digital 7 av rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Temperaturbrikke i/o OneWire ds (DS18S20_Pin); // på digital pin 7 av rahulmitra void setup (void) {Serial.begin (9600); lcd.begin (16, 2); // Skriv ut en melding til LCD -skjermen. 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"); forsinkelse (100); // bare her for å senke utgangen, slik at det er lettere å lese} float getTemp () {// returnerer temperaturen fra en DS18S20 i byte -data på DEG Celsius [12]; byte addr [8]; hvis (! ds.search (addr)) {// ikke flere sensorer på kjeden, tilbakestill søk ds.reset_search (); retur -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC er ikke gyldig!"); retur -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("Enheten gjenkjennes ikke"); retur -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // start konvertering, med parasittkraft på på slutten av byte present = ds.reset (); ds.select (addr); ds.write (0xBE); // Les Scratchpad for (int i = 0; i <9; i ++) {// vi trenger 9 bytes data = ds.read (); } ds.reset_search (); byte MSB = data [1]; byte LSB = data [0]; float tempRead = ((MSB << 8) | LSB); // ved å bruke to komplimentflotter TemperatureSum = tempRead /16; retur TemperatureSum; }

Trinn 6: Endelig har du gjort det

Endelig har du gjort det
Endelig har du gjort det
Endelig har du gjort det
Endelig har du gjort det

Trinn 7: Se LIVE

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

Anbefalt: