Inhoudsopgave:

Digitale thermometer met Arduino & DS18B20 - Ajarnpa
Digitale thermometer met Arduino & DS18B20 - Ajarnpa

Video: Digitale thermometer met Arduino & DS18B20 - Ajarnpa

Video: Digitale thermometer met Arduino & DS18B20 - Ajarnpa
Video: Уроки Arduino. Подключение термометров DS18B20 и NTC термистора 2024, Juli-
Anonim
Digitale thermometer met Arduino & DS18B20
Digitale thermometer met Arduino & DS18B20
Digitale thermometer met Arduino & DS18B20
Digitale thermometer met Arduino & DS18B20

Maak eenvoudig een digitale thermometer die u de huidige kamertemperatuur op een LCD-scherm kan vertellen. Dit is een beginnersproject. Apparatuur die je nodig hebt: 1. Arduino UNO R3 2. DS18B20 temperatuursensor. 3. 16X2 LCD-scherm. 4. Draden aansluiten. 5. Projectbord. Laten we nu een digitale thermometer maken … Dit is een Atmega168-pinout voor Arduino. Sla dit gewoon over als je deze thermometer wilt maken met je Arduino.

Stap 1: Maak Arduino op Breadboard

Maak Arduino op Breadboard
Maak Arduino op Breadboard

Arduino maken op een breaboard is heel eenvoudig. Hieronder wordt stapsgewijs de bedradingsprocedure gegeven: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Crystal -> 22pF condensator -> GND 4. Pin10-> Crystal -> 22pF condensator -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K registror naar GND + Drukknop naar +5V Nu ben je klaar……………..

Stap 2: LCD aansluiten

LCD aansluiten
LCD aansluiten

Stap 3: DS18B20-temperatuursensor aansluiten

DS18B20-temperatuursensor aansluiten
DS18B20-temperatuursensor aansluiten

Stap 4: Het circuit voorbereiden

Het circuit voorbereiden
Het circuit voorbereiden

Verbind de LCD met de atmega of arduino volgens het standaard LCD-voorbeeld op de arduino IDE. Sluit nu de DS1307 DATA-bus aan op de DIGITAL PIN 7 (Atmega-pin 13)

Stap 5: Arduino-CODE

#include #include #include int DS18S20_Pin = 7; // DS18S20 Signaalpin op digitale 7 door rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); //Temperatuurchip i/o OneWire ds (DS18S20_Pin); // op digitale pin 7 door rahulmitra void setup (void) {Serial.begin (9600); lcd.begin (16, 2); // Druk een bericht af op het LCD-scherm. lcd.print("Rahul Mitra"); } void loop (void) { float-temperatuur = getTemp (); Serial.println(temperatuur); lcd.setCursor(0, 1); lcd.print("Temp: "); lcd.afdruk(temperatuur); lcd.print(" *C"); vertraging (100); // alleen hier om de uitvoer te vertragen, zodat het gemakkelijker te lezen is } float getTemp () { // retourneert de temperatuur van één DS18S20 in DEG Celsius bytegegevens [12]; byte-adres[8]; if (!ds.search(addr)) {//geen sensoren meer aan de ketting, reset zoeken ds.reset_search(); retour -1000; } if (OneWire::crc8(addr, 7) != addr[7]) { Serial.println("CRC is niet geldig!"); retour -1000; } if (addr[0] != 0x10 && addr[0] != 0x28) { Serial.print("Apparaat wordt niet herkend"); retour -1000; } ds.reset(); ds.select(addr); ds.write(0x44, 1); // start conversie, met parasiet power aan het einde byte present = ds.reset(); ds.select(addr); ds.write(0xBE); // Lees Scratchpad voor (int i = 0; i <9; i++) {// we hebben 9 bytes data nodig = ds.read (); } ds.reset_search(); byte MSB = gegevens[1]; byte LSB = gegevens[0]; float tempRead = ((MSB << 8) | LSB); // met behulp van two's compliment float TemperatureSum = tempRead / 16; retour TemperatuurSom; }

Stap 6: Eindelijk ben je klaar

Eindelijk heb je het gedaan
Eindelijk heb je het gedaan
Eindelijk heb je het gedaan
Eindelijk heb je het gedaan

Stap 7: Zie LIVE

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

Aanbevolen: