Ecco un esempio di codice Arduino che utilizza un sensore di livello dell’acqua e un display LCD I2C per visualizzare il livello dell’acqua rilevato:
#include <Wire.h> // Libreria per la comunicazione I2C
#include <LiquidCrystal_I2C.h> // Libreria per il display LCD I2C
// Indirizzo I2C del display LCD
#define LCD_ADDRESS 0x27
// Numero di colonne e righe del display LCD
#define LCD_COLUMNS 16
#define LCD_ROWS 2
// Pin analogico a cui è collegato il sensore di livello dell'acqua
#define WATER_SENSOR_PIN A0
LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLUMNS, LCD_ROWS);
void setup() {
// Inizializza il display LCD
lcd.begin(LCD_COLUMNS, LCD_ROWS);
lcd.backlight();
// Avvia la comunicazione seriale per il debug (opzionale)
Serial.begin(9600);
}
void loop() {
// Leggi il valore del sensore di livello dell'acqua
int waterLevel = analogRead(WATER_SENSOR_PIN);
// Converte il valore analogico in percentuale
int waterLevelPercentage = map(waterLevel, 0, 1023, 0, 100);
// Visualizza il livello dell'acqua sul display LCD
lcd.setCursor(0, 0);
lcd.print("Livello acqua:");
lcd.setCursor(0, 1);
lcd.print(waterLevelPercentage);
lcd.print("%");
// Stampa il livello dell'acqua sulla porta seriale per il debug (opzionale)
Serial.print("Livello acqua: ");
Serial.print(waterLevelPercentage);
Serial.println("%");
delay(1000); // Attendi un secondo prima di effettuare una nuova lettura
}
Assicurati di aver installato le seguenti librerie nella tua IDE di Arduino:
- “Wire” per la comunicazione I2C
- “LiquidCrystal_I2C” per il display LCD I2C
Inoltre, assicurati di aver collegato correttamente il display LCD I2C al tuo Arduino e il sensore di livello dell’acqua al pin analogico A0 (puoi modificare il pin nel codice se necessario).
Questo codice legge il valore analogico dal sensore di livello dell’acqua, lo converte in una percentuale e lo visualizza sul display LCD I2C. Puoi anche stampare il valore sul monitor seriale per scopi di debug.
