Nota
Ciao, benvenuto nella Community di appassionati di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme agli altri appassionati.
Perché unirti a noi?
Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.
Anteprime esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e anteprime.
Sconti speciali: Godi di sconti esclusivi sui nostri prodotti più recenti.
Promozioni festive e omaggi: Partecipa a omaggi e promozioni speciali per le festività.
👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!
3.1.5 Indicatore di Batteria
Nota
A seconda della versione del tuo kit, identifica se hai ADC0834 o MCP3008 e procedi con la sezione corrispondente.
Introduzione
In questo progetto, realizzeremo un dispositivo indicatore di batteria che può visualizzare visivamente il livello della batteria sul LED Bargraph.
Avvertimento
Non utilizzare batterie che superano i 3.3V per evitare sovraccarichi che potrebbero danneggiare il chip o il Raspberry Pi.
Componenti necessari
In questo progetto, avremo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Kit Raphael |
337 |
Puoi anche acquistare i componenti separatamente dai link qui sotto.
INTRODUZIONE COMPONENTI |
LINK DI ACQUISTO |
|---|---|
- |
|
- |
Schema elettrico
T-Board Name |
physical |
wiringPi |
BCM |
GPIO17 |
Pin 11 |
0 |
17 |
GPIO18 |
Pin 12 |
1 |
18 |
GPIO27 |
Pin 13 |
2 |
27 |
GPIO25 |
Pin 22 |
6 |
25 |
GPIO12 |
Pin 32 |
26 |
12 |
GPIO16 |
Pin 36 |
27 |
16 |
GPIO20 |
Pin 38 |
28 |
20 |
GPIO21 |
Pin 40 |
29 |
21 |
GPIO5 |
Pin 29 |
21 |
5 |
GPIO6 |
Pin 31 |
22 |
6 |
GPIO13 |
Pin 33 |
23 |
13 |
GPIO19 |
Pin 35 |
24 |
19 |
GPIO26 |
Pin 37 |
25 |
26 |
Procedura sperimentale
Passo 1: Costruisci il circuito.
Passo 2: Vai alla cartella del codice.
cd ~/raphael-kit/c/3.1.5/
Passo 3: Compila il codice.
gcc 3.1.5_BatteryIndicator.c -lwiringPi
Passo 4: Esegui il file eseguibile.
sudo ./a.out
Dopo l’esecuzione del programma, collega il 3° pin di ADC0834 e il GND separatamente a due fili e collegali ai due poli di una batteria separatamente. Vedrai che i LED corrispondenti sul LED Bargraph si accendono per mostrare il livello di carica (intervallo di misura: 0-5V).
Nota
Se non funziona dopo l’esecuzione, o appare un errore come: "wiringPi.h: Nessun file o directory", fai riferimento a Installa e Controlla wiringPi.
Spiegazione del codice
void LedBarGraph(int value){
for(int i=0;i<10;i++){
digitalWrite(pins[i],HIGH);
}
for(int i=0;i<value;i++){
digitalWrite(pins[i],LOW);
}
}
Questa funzione serve a controllare l’accensione o lo spegnimento dei 10 LED sul LED Bargraph. Diamo a questi 10 LED un livello alto in modo che siano spenti all’inizio, poi decidiamo quanti LED accendere cambiando il valore analogico ricevuto.
int main(void)
{
uchar analogVal;
if(wiringPiSetup() == -1){ //quando l'inizializzazione di wiring fallisce, stampa un messaggio sullo schermo
printf("setup wiringPi failed !");
return 1;
}
pinMode(ADC_CS, OUTPUT);
pinMode(ADC_CLK, OUTPUT);
for(int i=0;i<10;i++){ //imposta i pin dei LED come output
pinMode(pins[i], OUTPUT);
digitalWrite(pins[i],HIGH);
}
while(1){
analogVal = get_ADC_Result(0);
LedBarGraph(analogVal/25);
delay(100);
}
return 0;
}
analogVal genera valori (0-255) con tensioni variabili (0-5V), es., se viene rilevato un valore di 3V su una batteria, il valore corrispondente 152 viene visualizzato sul voltmetro.
I 10 LED sul LED Bargraph vengono utilizzati per visualizzare le letture di analogVal. 255/10=25, quindi ogni 25 che il valore analogico aumenta, si accende un LED in più, es., se “analogVal=150 (circa 3V), si accendono 6 LED.”
Foto del fenomeno