Termometr cyfrowy DS18B20

Termometr cyfrowy DS18B20

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Witam,

Mam na imię Amadeusz. Od niedawna korzystam z Arduino ,więc prosiłbym o wyrozumiałość. Ja korzystałem z StarterKitu ElektroPrzewodnik .

 

 

 

 

Potrzebne rzeczy:

  • Wyświetlacz lcd
  • ds18b20
  • Oczywiście Arduino (w moim przypadku leonardo)
  • potencjometr 10kΩ
  • rezystor 4,7kΩ
  • płytka stykowa
  • przewody połączeniowe

 

Co dalej?

Ściągamy i instalujemy biblioteki.

  • OneWire
  • DallasTemperature

Dla tych którzy nie wiedzą jak zainstalować bibliotekę https://www.youtube.com/watch?v=3hnQNBX3Tp8.

Termometr

Podłączamy wszystko tak jak na rysunku i wgrywamy program.

#include <OneWire.h>

#include <OneWire.h>
#include <LiquidCrystal.h>
int DS18S20_Pin = 7; //DS18S20 Signal pin on digital 7 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
//Temperature chip i/o
OneWire ds(DS18S20_Pin); // on digital pin 7

void setup(void) {
Serial.begin(9600);
lcd.begin(16, 2);
  // Print a message to the LCD.
lcd.print("Termometr by A.T");
}

void loop(void) {
float temperature = getTemp();
Serial.println(temperature);
lcd.setCursor(0, 1);
    lcd.print("Temp : ");
lcd.print(temperature);
    lcd.print(" *C");
delay(10);

}

float getTemp(){


byte data[12];
byte addr[8];

if ( !ds.search(addr)) {

ds.reset_search();
return -1000;
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
lcd.println("CRC is not valid!");
return -1000;
}

if ( addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print("Device is not recognized");
return -1000;
}

ds.reset();
ds.select(addr);
ds.write(0x44,1);

byte present = ds.reset();
ds.select(addr);
ds.write(0xBE);


for (int i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
}

ds.reset_search();

byte MSB = data[1];
byte LSB = data[0];

float tempRead = ((MSB << 8) | LSB);
float TemperatureSum = tempRead / 16;

return TemperatureSum;

}

To by było wszytko co należy zrobić.

DSC_0621

DSC_0623

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Ocena: 3/5 (głosów: 2)

Podobne posty

11 komentarzy do “Termometr cyfrowy DS18B20

Odpowiedz

anuluj

Masz uwagi?