🚀 Introduzione
Vuoi sapere a colpo d’occhio se una batteria è carica o scarica? 👀
Con questo progetto Arduino realizzi un sistema che mostra lo stato della batteria usando LED colorati, proprio come gli indicatori delle batterie reali.
👉 Immediato, semplice e super utile.
Vuoi sapere a colpo d’occhio se una batteria è carica o scarica? 👀
Con questo progetto Arduino realizzi un sistema che mostra lo stato della batteria usando LED colorati, proprio come gli indicatori delle batterie reali.
👉 Immediato, semplice e super utile.
🎯 Cosa realizzerai
Con Arduino creerai un sistema che:
Con Arduino creerai un sistema che:
- 🔋 misura la tensione della batteria
- 🟢 indica batteria carica
- 🟡 indica batteria media
- 🔴 indica batteria scarica
- ⚡ aggiorna lo stato in tempo reale
🧰 Materiale necessario
- 1x Arduino UNO
- 3x LED (verde, giallo, rosso)
- 3x resistenze da 220Ω
- 2x resistenze da 10kΩ (partitore di tensione)
- cavetti jumper
- breadboard
- 1x batteria da monitorare
🛒 Componenti e risorse consigliate
👉 Kit Arduino consigliato: https://amzn.to/41fmFNK
💡 Perfetto per progetti con LED e monitoraggio tensione.
📚 I miei libri consigliati
👉 Arduino per tutti – Volume 1: https://amzn.to/4rGNxB9
👉 Arduino per tutti – Volume 2: https://amzn.to/4bkfaey
👉 Arduino per tutti – Volume 3: https://amzn.to/4bogjAg
👉 Kit Arduino consigliato: https://amzn.to/41fmFNK
💡 Perfetto per progetti con LED e monitoraggio tensione.
📚 I miei libri consigliati
👉 Arduino per tutti – Volume 1: https://amzn.to/4rGNxB9
👉 Arduino per tutti – Volume 2: https://amzn.to/4bkfaey
👉 Arduino per tutti – Volume 3: https://amzn.to/4bogjAg
🔌 Schema di collegamento
Partitore di tensione
LED verde
LED giallo
LED rosso
Partitore di tensione
- positivo batteria → resistenza → A0 → resistenza → GND
- negativo batteria → GND
LED verde
- anodo → pin 2
- catodo → GND tramite resistenza 220Ω
LED giallo
- anodo → pin 3
- catodo → GND tramite resistenza 220Ω
LED rosso
- anodo → pin 4
- catodo → GND tramite resistenza 220Ω
💻 Codice Arduino
// ============================================
// Progetto 119 - Indicatore carica batteria LED
// Visualizza lo stato della batteria con LED
// ============================================
const int pinBatteria = A0;
const int ledVerde = 2;
const int ledGiallo = 3;
const int ledRosso = 4;
void setup() {
pinMode(ledVerde, OUTPUT);
pinMode(ledGiallo, OUTPUT);
pinMode(ledRosso, OUTPUT);
Serial.begin(9600);
}
void loop() {
int valoreADC = analogRead(pinBatteria);
// Conversione tensione
float tensioneA0 = valoreADC * (5.0 / 1023.0);
float tensione = tensioneA0 * 2.0; // partitore 1:1
Serial.print("Tensione: ");
Serial.println(tensione);
// Spegne tutti i LED
digitalWrite(ledVerde, LOW);
digitalWrite(ledGiallo, LOW);
digitalWrite(ledRosso, LOW);
// Logica livelli batteria (esempio 7.4V)
if (tensione > 7.0) {
digitalWrite(ledVerde, HIGH); // carica
} else if (tensione > 6.5) {
digitalWrite(ledGiallo, HIGH); // media
} else {
digitalWrite(ledRosso, HIGH); // scarica
}
delay(500);
}
// Progetto 119 - Indicatore carica batteria LED
// Visualizza lo stato della batteria con LED
// ============================================
const int pinBatteria = A0;
const int ledVerde = 2;
const int ledGiallo = 3;
const int ledRosso = 4;
void setup() {
pinMode(ledVerde, OUTPUT);
pinMode(ledGiallo, OUTPUT);
pinMode(ledRosso, OUTPUT);
Serial.begin(9600);
}
void loop() {
int valoreADC = analogRead(pinBatteria);
// Conversione tensione
float tensioneA0 = valoreADC * (5.0 / 1023.0);
float tensione = tensioneA0 * 2.0; // partitore 1:1
Serial.print("Tensione: ");
Serial.println(tensione);
// Spegne tutti i LED
digitalWrite(ledVerde, LOW);
digitalWrite(ledGiallo, LOW);
digitalWrite(ledRosso, LOW);
// Logica livelli batteria (esempio 7.4V)
if (tensione > 7.0) {
digitalWrite(ledVerde, HIGH); // carica
} else if (tensione > 6.5) {
digitalWrite(ledGiallo, HIGH); // media
} else {
digitalWrite(ledRosso, HIGH); // scarica
}
delay(500);
}
⚙️ Come funziona
Arduino legge la tensione della batteria tramite il partitore.
👉 Poi la confronta con delle soglie:
👉 Accende il LED corrispondente.
💡 Le soglie vanno adattate al tipo di batteria (Li-ion, 9V, ecc.).
Arduino legge la tensione della batteria tramite il partitore.
👉 Poi la confronta con delle soglie:
- 🟢 sopra 7.0V → batteria carica
- 🟡 tra 6.5V e 7.0V → media
- 🔴 sotto 6.5V → scarica
👉 Accende il LED corrispondente.
💡 Le soglie vanno adattate al tipo di batteria (Li-ion, 9V, ecc.).
🧠 Perché è un progetto importante
Impari:
👉 È la base per sistemi di monitoraggio energia.
Impari:
- lettura tensione reale
- uso del partitore
- gestione soglie multiple
- visualizzazione immediata
👉 È la base per sistemi di monitoraggio energia.
🔄 Varianti possibili
Vuoi migliorarlo?
Vuoi migliorarlo?
- 📟 aggiungi display LCD con valore preciso
- 🔔 buzzer per batteria scarica
- 📊 barra LED (tipo indicatore livello)
- 📡 monitoraggio remoto WiFi