dominoFiber     domiRobot     Forum


Projeler: DS1820 Termometre

DS1820 Termometre
Bu yazımızda DS1820 sıcaklık sensörü ile lcd termometre yapmayı göreceğiz. DS1820  ile  -10 °C ‘den +85 °C ‘ye kadar olan sıcaklıklar ±0.5°C  hassasiyetle ölçülebilir. Maksimum -55 °C ‘den +125 °C arasındaki sıcaklıklar ölçülebilir. Projemizde ölçülen sıcaklık değerini 16x2 LCD ekranda göstereceğiz.

Fotoğraf 1: Projeye ait fotoğraf

Şema 1 : Arduino Bağlantı Şeması

Şema 2 : ISIS Bağlantı Şeması

Malzeme listesi
Tüm malzemeleri malzeme isimlerine tıklayarak temin edebilirsiniz.

DS1820 Termometre arduino kodu
Kod: [Seç]
/*
www.domirobot.com
DS18B20 Termostat
Aralık 2016
@2016, All Rights Reserved
@2016 Tüm Hakları Saklıdır. */
#include <OneWire.h>
OneWire  ds(2);
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);   
void setup(void) {
  lcd.begin(16, 2);}
void loop(void) {
  byte i;
  byte present = 0;
  byte type_s;
  byte data[12];
  byte addr[8];
  float celsius, fahrenheit;
  if ( !ds.search(addr)) {
    ds.reset_search();
    delay(250);
    return;}
  switch (addr[0]) {
    case 0x10:
       type_s = 1;
      break;}
  ds.reset();
  ds.select(addr);
  ds.write(0x44, 1);       
  delay(1000);   
  present = ds.reset();
  ds.select(addr);   
  ds.write(0xBE);         
    for ( i = 0; i < 9; i++) {           
    data[i] = ds.read();}
  int16_t raw = (data[1] << 8) | data[0];
  if (type_s) {
    raw = raw << 3;
    if (data[7] == 0x10) {
      raw = (raw & 0xFFF0) + 12 - data[6];} } else {
    byte cfg = (data[4] & 0x60);
    if (cfg == 0x00) raw = raw & ~7; 
    else if (cfg == 0x20) raw = raw & ~3;
    else if (cfg == 0x40) raw = raw & ~1;}
  celsius = (float)raw / 16.0;
  fahrenheit = celsius * 1.8 + 32.0;
  lcd.clear(); 
  lcd.setCursor(0,0);
  lcd.print("SICAKLIK: ");
  lcd.print(celsius);
  lcd.print((char)223);
  lcd.print("C"); 
  lcd.setCursor(0,1);
  lcd.print("domiRobot");}

Download
Projeye ait dosyaları buraya tıklayıp indirebilirsiniz.

DS18B20 satın al

  • DS18B20 satın alDS18B20 satın alDS18B20 satın al