b

 

 

Бложик потихоньку переезжает сюда

Подключаем датчик DS18B20 к Arduino и считываем показания, код из видео




О том, как подключить к ардуино датчик температуры DALLAS DS18B20 и простой способ считывать показания c датчика.










#include <OneWire.h> // http://www.pjrc.com/teensy/td_libs_OneWire.html
OneWire  ds(11);  

void setup() {
  Serial.begin(9600);  
}

void loop() { 
  byte data[12];
  byte addr[8];  

 
  if (!ds.search(addr)) {
    Serial.println("No more addresses."); 
    return;
  }
   ds.reset_search(); 
 
  if (OneWire::crc8(addr, 7) != addr[7]) {
      Serial.println("CRC is not valid!");
      delay(1000);
      return;
  }
 

  ds.reset();            
  ds.select(addr);        
  ds.write(0x44);      
  delay(1000);   
  
  ds.reset();
  ds.select(addr);    
  ds.write(0xBE);          

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

  int raw = (data[1] << 8) | data[0];
  
  // Переводим в температуру   

  if (data[7] == 0x10) raw = (raw & 0xFFF0) + 12 - data[6];  
  float temperature = raw / 16.0;
  
  
  for (int i = 0; i < 8; i++) Serial.print(addr[i], HEX);
  Serial.print(" Temp: ");   
  Serial.print(temperature);
  Serial.println("C ");
     
 
}