Ciao a tutti,
sto provando ad interfacciare l'attiny85 con il sensore mlx90614 e vorrei visualizzare i dati su un lcd (HD44780, 16x2).
Nessun problema a leggere il sensore, ho provato ad interfacciare il tiny con un nano usando SoftwareSerial e riesco a leggere i dati correttamente.
Nessun problema ad usare il display, riesco a scrivere quello che voglio.
Se li connetto insieme non riesco a leggere (o visualizzare?) correttamente i dati del sensore.
Ho provato sia con sia senza pull-up sull'i2c.
Gli indirizzi sono:
lcd 0x27
mlx90614 0x3c
Tutti quei delay li ho aggiunti sperando fosse solo un problema di "lentezza".
Il tiny ha bootloader a 8MHz.
Un grazie anticipato a chi avrà voglia di aiutarmi a capire!!
#include <TinyWireM.h>
#include <Adafruit_MiniMLX90614.h>
Adafruit_MiniMLX90614 mlx = Adafruit_MiniMLX90614();
#include <LiquidCrystal_attiny.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
TinyWireM.begin();
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Object:");
lcd.setCursor(0,1);
lcd.print("Ambient:");
delay(1000);
mlx.begin();
delay(1000);
}
void loop() {
float uno=mlx.readObjectTempC();
delay(300);
lcd.setCursor(9,0);
lcd.print(uno);
float due=mlx.readAmbientTempC();
delay(300);
lcd.setCursor(10,1);
lcd.print(due);
delay(300);
}
EDIT: a ben vedere delle parole "Object" e "Ambient" mi stampa solo il primo carattere...
EDIT BIS: ho provato nel loop a dichiarare e printare un float, e in effetti è un problema di lcd... hardware o software?