Buonasera a tutti,
premetto che ho letto molto dal vostro sito prima di scrivere cercando una soluzione ma nulla, non sono riuscito a risolvere.
Cerco di descrivere il problema al meglio:
componenti: Arduino UNO R3, sensore temperatura DS18B20, display lcd 20x4 con HD77480 e interfaccia I2C. Collegata la sonda e ok, collegata l'interfaccia i2C con i classici +5v e GND e i cablaggi SDA e SCL li ho collegati alle porte SDA e SCL di arduino (che se non ho letto male corrispondono a A4 e A5.
Libreria: Arduino-LiquidCrystal-I2C-library-master
ed ecco il codice:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(0x3F, 20, 4);
void setup(void)
{
// start serial port
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");
// Start up the library
sensors.begin();
lcd.begin();
lcd.backlight();
lcd.setCursor(0,0);
}
void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print("Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println("DONE");
Serial.print("Temperature for the device 1 (index 0) is: ");
float temperatura = sensors.getTempCByIndex(0);
Serial.println(temperatura);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(temperatura);
delay(5000);
}
praticamente sul Monitor Seriale va tutto bene, vedo i dati correttamente. Ma sul display nulla... ho provato con varie librerie e non sono riuscito a veder nulla, neanche lo sketch esempio Hello World! di LiquidCrystal_I2C.
far funzionare il display è un po' la base di partenza del mio progetto, e non funziona