17-01-2016, 16:07
(Ten post był ostatnio modyfikowany: 17-01-2016, 16:42 przez CEO.
Powód edycji: Używamy znaczników kodu
)
Witam, mam problem z odczytem temperatury na wyświetlaczu. Pokazuje mi raz prawidłową temperaturę później -273,15. Wyświetlacz lcd 20x4 podłączony do arduino za pomocą i2c. Termometr DS18B20.
Kod:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DS18B20.h>
#define ONEWIRE_PIN 2
byte address[8] = {0x28, 0xFF, 0xD7, 0xEA, 0x0, 0x15, 0x3, 0xE4};
LiquidCrystal_I2C lcd(0x3F, 20, 4);
OneWire onewire(ONEWIRE_PIN);
DS18B20 sensors(&onewire);
void setup() {
while(!Serial);
Serial.begin(9600);
sensors.begin();
sensors.request(address);
}
void loop()
{
termometr();
}
void termometr(){
if (sensors.available())
{
float temperature = sensors.readTemperature(address);
Serial.print(temperature);
Serial.println(F(" 'C"));
lcd.begin();
lcd.print(temperature);
sensors.request(address);
delay(1000);
}
}