Taula de continguts:

Termòmetre digital amb Arduino i DS18B20: 7 passos
Termòmetre digital amb Arduino i DS18B20: 7 passos

Vídeo: Termòmetre digital amb Arduino i DS18B20: 7 passos

Vídeo: Termòmetre digital amb Arduino i DS18B20: 7 passos
Vídeo: Уроки Arduino. Подключение термометров DS18B20 и NTC термистора 2024, Juliol
Anonim
Termòmetre digital amb Arduino i DS18B20
Termòmetre digital amb Arduino i DS18B20
Termòmetre digital amb Arduino i DS18B20
Termòmetre digital amb Arduino i DS18B20

Simplement creeu un termòmetre digital que us indiqui la temperatura ambient actual en una pantalla LCD. Es tracta d’un projecte per a principiants. Aparell que necessiteu: 1. Arduino UNO R3 2. Sensor de temperatura DS18B20. 3. Pantalla LCD de 16X2. 4. Connexió de cables. 5. Taula de projectes. Ara fem un termòmetre digital ….. Aquest és un pinout Atmega168 per a arduino. Només cal saltar-ho si voleu fer aquest termòmetre amb el vostre arduino.

Pas 1: feu Arduino a la taula de pa

Feu Arduino a Breadboard
Feu Arduino a Breadboard

Crear arduino en un armari és molt fàcil. A continuació es mostra el procediment de cablejat pas a pas: 1. Pin 7 -> + 5V 2. Pin8 -> GND 3. Pin9 -> Crystal -> condensador 22pF -> GND 4. Pin10-> Crystal -> condensador 22pF -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> + 5V 7. Pin1-> 10K registor a GND + Premeu el botó a + 5V Ara ja esteu preparats …

Pas 2: Connexió de la pantalla LCD

Connexió LCD
Connexió LCD

Pas 3: Connexió del sensor de temperatura DS18B20

Connexió del sensor de temperatura DS18B20
Connexió del sensor de temperatura DS18B20

Pas 4: Preparació del circuit

Preparació del circuit
Preparació del circuit

Connecteu la pantalla LCD amb l'atmega o l'arduino segons l'exemple LCD per defecte de l'IDE arduino. Ara connecteu el bus de dades DS1307 al PIN 7 DIGITAL (pin 13 Atmega)

Pas 5: CODI Arduino

#include #include #include int DS18S20_Pin = 7; // DS18S20 Pin de senyal al digital 7 per rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Xip de temperatura i / o OneWire ds (DS18S20_Pin); // al pin digital 7 per rahulmitra void setup (void) {Serial.begin (9600); lcd.begin (16, 2); // Imprimiu un missatge a la pantalla LCD. lcd.print ("Rahul Mitra"); } bucle buit (buit) {temperatura flotant = getTemp (); Serial.println (temperatura); lcd.setCursor (0, 1); lcd.print ("Temp:"); impressió lcd (temperatura); lcd.print ("* C"); retard (100); // només aquí per alentir la sortida de manera que sigui més fàcil llegir} float getTemp () {// retorna la temperatura d'un DS18S20 en dades de bytes DEG Celsius [12]; byte addr [8]; if (! ds.search (addr)) {// no hi ha més sensors a la cadena, restableix la cerca ds.reset_search (); retorn -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC no és vàlid!"); retorn -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("El dispositiu no es reconeix"); retorn -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // iniciar la conversió, amb paràsit activat al final de byte present = ds.reset (); ds.select (addr); ds.write (0xBE); // Llegiu el bloc de notes per a (int i = 0; i <9; i ++) {// necessitem dades de 9 bytes = ds.read (); } ds.reset_search (); byte MSB = dades [1]; byte LSB = dades [0]; float tempRead = ((MSB << 8) | LSB); // utilitzant el complement flotant de dos TemperatureSum = tempRead / 16; retorn Temperatura Suma; }

Pas 6: Finalment ja ho heu fet

Finalment ja ho heu fet
Finalment ja ho heu fet
Finalment ja ho heu fet
Finalment ja ho heu fet

Pas 7: vegeu EN DIRECTE

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

Recomanat: