Indholdsfortegnelse:

Digitalt termometer med Arduino & DS18B20: 7 trin
Digitalt termometer med Arduino & DS18B20: 7 trin

Video: Digitalt termometer med Arduino & DS18B20: 7 trin

Video: Digitalt termometer med Arduino & DS18B20: 7 trin
Video: Использование датчика DHT22 на свинарнике 2024, Juli
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

Du skal blot oprette et digitalt termometer med kan fortælle dig den aktuelle rumtemperatur på en LCD -skærm. Dette er et begynderprojekt. Apparat, du har brug for: 1. Arduino UNO R3 2. DS18B20 temperatursensor. 3. 16X2 LCD -display. 4. Tilslutning af ledninger. 5. Projektbord. Lad os nu lave et digitalt termometer….. Dette er en Atmega168 pinouts til arduino. Spring bare dette over, hvis du vil lave dette termometer med din arduino.

Trin 1: Lav Arduino på brødbræt

Lav Arduino på brødbræt
Lav Arduino på brødbræt

At oprette arduino på et tavle er meget let. Nu beskrives trin for trin ledningsgangsproceduren herunder: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Krystal -> 22pF kondensator -> GND 4. Pin10-> Krystal -> 22pF kondensator -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K registor til GND +Tryk på knappen til +5V Nu er du klar ……………..

Trin 2: Tilslutning af LCD

Tilslutter LCD
Tilslutter LCD

Trin 3: Tilslutning af DS18B20 temperatursensor

Tilslutning af DS18B20 temperatursensor
Tilslutning af DS18B20 temperatursensor

Trin 4: Forberedelse af kredsløbet

Klargøring af kredsløbet
Klargøring af kredsløbet

Tilslut LCD'en med atmega eller arduino i henhold til standard LCD -eksemplet på arduino IDE. Tilslut nu DS1307 DATA -bus til DIGITAL PIN 7 (Atmega pin 13)

Trin 5: Arduino KODE

#include #include #include int DS18S20_Pin = 7; // DS18S20 Signalpind på digital 7 af rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Temperaturchip i/o OneWire ds (DS18S20_Pin); // på digital pin 7 af rahulmitra void setup (void) {Serial.begin (9600); lcd.begin (16, 2); // Udskriv en besked til 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"); forsinkelse (100); // bare her for at bremse output, så det er lettere at læse} float getTemp () {// returnerer temperaturen fra en DS18S20 i byte data i DEG Celsius [12]; byte addr [8]; hvis (! ds.search (addr)) {// ikke flere sensorer på kæden, nulstil søgning ds.reset_search (); return -1000; } hvis (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC er ikke gyldig!"); return -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("Enheden genkendes ikke"); return -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // start konvertering, med parasitkraft tændt i slutbyte til stede = ds.reset (); ds.select (addr); ds.write (0xBE); // Læs Scratchpad for (int i = 0; i <9; i ++) {// vi har brug for 9 bytes data = ds.read (); } ds.reset_search (); byte MSB = data [1]; byte LSB = data [0]; float tempRead = ((MSB << 8) | LSB); // ved hjælp af to kompliment float TemperatureSum = tempRead /16; returnere TemperatureSum; }

Trin 6: Endelig har du gjort

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

Trin 7: Se LIVE

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

Anbefalede: