Inhaltsverzeichnis:

Digitales Thermometer mit Arduino & DS18B20 - Gunook
Digitales Thermometer mit Arduino & DS18B20 - Gunook

Video: Digitales Thermometer mit Arduino & DS18B20 - Gunook

Video: Digitales Thermometer mit Arduino & DS18B20 - Gunook
Video: Digital Thermometer using ATTINY 85 and DS18B20 [Arduino IDE] 2024, Juli
Anonim
Digitales Thermometer mit Arduino & DS18B20
Digitales Thermometer mit Arduino & DS18B20
Digitales Thermometer mit Arduino & DS18B20
Digitales Thermometer mit Arduino & DS18B20

Erstellen Sie einfach ein digitales Thermometer, das Ihnen die aktuelle Raumtemperatur auf einem LCD-Bildschirm anzeigt. Dies ist ein Anfängerprojekt. Geräte, die Sie benötigen: 1. Arduino UNO R3 2. DS18B20 Temperatursensor. 3. 16X2 LCD-Anzeige. 4. Anschließen von Drähten. 5. Projekttafel. Jetzt können wir ein digitales Thermometer machen ….. Dies ist eine Atmega168-Pinbelegung für Arduino. Überspringen Sie dies einfach, wenn Sie dieses Thermometer mit Ihrem Arduino herstellen möchten.

Schritt 1: Machen Sie Arduino auf dem Steckbrett

Machen Sie Arduino auf dem Steckbrett
Machen Sie Arduino auf dem Steckbrett

Arduino auf einem Breaboard zu erstellen ist sehr einfach. Nun wird Schritt für Schritt die Verdrahtung beschrieben: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Quarz -> 22pF Kondensator -> GND 4. Pin10 -> Quarz -> 22pF Kondensator -> GND 5. Pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K Register an GND + Taster an +5V Jetzt sind Sie fertig……………..

Schritt 2: LCD anschließen

Anschließen des LCD
Anschließen des LCD

Schritt 3: Anschließen des DS18B20-Temperatursensors

Anschließen des Temperatursensors DS18B20
Anschließen des Temperatursensors DS18B20

Schritt 4: Vorbereiten der Schaltung

Schaltung vorbereiten
Schaltung vorbereiten

Verbinden Sie das LCD mit dem Atmega oder Arduino gemäß dem Standard-LCD-Beispiel auf der Arduino-IDE. Verbinden Sie nun den DS1307 DATA Bus mit dem DIGITAL PIN 7 (Atmega Pin 13)

Schritt 5: Arduino-CODE

#include #include #include int DS18S20_Pin = 7; // DS18S20 Signalstift auf digital 7 von rahulmitra LiquidCrystal LCD (12, 11, 5, 4, 3, 2); // Temperaturchip i/o OneWire ds (DS18S20_Pin); // auf digitalem Pin 7 von rahulmitra Void setup (void) {Serial.begin (9600); lcd.begin(16, 2); // Eine Nachricht auf dem LCD ausgeben. lcd.print("Rahul Mitra"); aufrechtzuerhalten. Void Schleife (void) { Float-Temperatur = getTemp (); Serial.println (Temperatur); lcd.setCursor(0, 1); lcd.print("Temp:"); lcd.print (Temperatur); lcd.print(" *C"); Verzögerung (100); // nur hier, um die Ausgabe zu verlangsamen, damit es leichter zu lesen ist} float getTemp () { // gibt die Temperatur von einem DS18S20 in DEG Celsius Byte-Daten zurück [12]; Byte-Adresse[8]; if (! ds.search (addr)) {// keine Sensoren mehr in der Kette, Suche zurücksetzen ds.reset_search (); zurück -1000; } if (OneWire::crc8(addr, 7) != addr[7]) {Serial.println("CRC ist nicht gültig!"); zurück -1000; } if (addr[0] != 0x10 && addr[0] != 0x28) {Serial.print("Gerät wird nicht erkannt"); zurück -1000; } ds.reset(); ds.select(adr); ds.write(0x44, 1); // Konvertierung starten, mit Parasiten-Power am Ende Byte vorhanden = ds.reset(); ds.select(adr); ds.write(0xBE); // Scratchpad lesen für (int i = 0; i < 9; i++) { // wir brauchen 9 Byte data = ds.read(); } ds.reset_search(); Byte-MSB = Daten[1]; Byte-LSB = Daten[0]; float tempRead = ((MSB << 8) | LSB); // mit zwei Kompliment Float TemperatureSum = tempRead / 16; TemperaturSumme zurück; }

Schritt 6: Endlich haben Sie es geschafft

Endlich hast du es geschafft
Endlich hast du es geschafft
Endlich hast du es geschafft
Endlich hast du es geschafft

Schritt 7: Siehe LIVE

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

Empfohlen: