devo leggere 4 o piu DS18B20 con arduino mega su display 20x4
sono riuscito a leggerle sulla seriale , ma nel display non riesco
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h> // libreria wire presente, di fault, nell'IDE
#include <LiquidCrystal_I2C.h> // libreria d
LiquidCrystal_I2C lcd(0x27, 20, 4);
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 8
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
// Addresses of 3 DS18B20s
//uint8_t sensor1[8] = { 0x28, 0xEE, 0xD5, 0x64, 0x1A, 0x16, 0x02, 0xEC };
uint8_t sensor1[8] = { 0x28, 0xFF, 0x3A, 0x02, 0xC1, 0x16, 0x05, 0xF7 };
uint8_t sensor2[8] = {0x28,0xFF,0x71,0x21,0xC0,0x16,0x05,0x3d };
uint8_t sensor3[8] = {0x28,0xFF,0x1B,0x43,0xC4,0x16,0x04,0xC6 };
uint8_t sensor4[8] = {0x28,0xFF,0x57,0x08,0xC2,0x16,0x03,0x28 };
//uint8_t sensor5[8] = {0x28,0x1F,0x57,0x08,0xC2,0x16,0x03,0x28 };
void setup(void)
{
Serial.begin(9600);
lcd.begin();
sensors.begin();
}
void loop(void)
{
sensors.requestTemperatures();
Serial.print("S 1: ");
printTemperature(sensor1);
Serial.print("S 2: ");
printTemperature(sensor2);
Serial.print("S 3: ");
printTemperature(sensor3);
Serial.print("S4: ");
printTemperature(sensor4);
//Serial.print("S 5: ");
//printTemperature(sensor5);
Serial.println();
delay(1000);
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
Serial.print(tempC);
Serial.print("C | ");
lcd.setCursor(0,3);
lcd.print(tempC);
//lcd.print((char)176);
lcd.println(" C");
// lcd.setCursor(0, 2);
//lcd.print ("Tura: ");
//lcd.setCursor(0, 3);
// lcd.print (sensor4[8]);
// lcd.print (sensor4);
}