Come fare un voltmetro digitale utilizzando Arduino
da Harshita Arora
Domenica scorsa, mentre stavo spiegando le basi di elettronica e Arduino al mio compagno di stanza, lei mi ha sfidato a capire come funziona un voltmetro e costruire uno da zero solo utilizzando le cose che possiedo già. Ho accettato la sfida, iniziato l’hacking, codifica, test, ri-codifica, e ri-test, e, infine, ho avuto il mio voltmetro pronto e funzionante entro l’ora di cena!
Ho usato Arduino Uno (per raccogliere la tensione in analogico e per alimentare il display LCD), un piccolo schermo LCD che ho ottenuto nel mio Arduino starter kit (per visualizzare la tensione), una breadboard (per collegare tutto), e ponticelli.
Se stai cercando un progetto facile per imparare l’elettronica, allora fare un voltmetro digitale sarà divertente. Cominciamo!
Il circuito elettrico
Passo 1
Prendi una breadboard (ne ho usata una piccola con 30 righe) e collega uno schermo LCD ad essa. Quindi, utilizzando un filo, collegare un filo dal pin GND (stato fondamentale) su Arduino alla carica negativa sulla breadboard e un filo dal pin 5V alla carica positiva. Ciò fornisce corrente elettrica alle colonne sulla breadboard, che ora possiamo collegare al display LCD.
Passo 2
Ora collegheremo i pin sul display LCD alla breadboard in modo da poter ottenere corrente ad esso. Collegare il Pin 1 dell’LCD a una carica negativa, il Pin 2 a una carica positiva, il Pin 3 a una carica negativa, il Pin 5 a una carica negativa, il Pin 15 a una carica positiva e il Pin 16 a una carica negativa. Collegare il vostro Arduino per testare e vedere se il display LCD si accende!
Passo 3
Colleghiamo il display LCD all’Arduino in modo da poter visualizzare la tensione (che raccoglieremo da un pin analogico) sul display LCD. Collegare i Pin 4, 6, 11, 12, 13, e 14 del display LCD a qualsiasi pin digitale su Arduino (ad esempio, Pin 2). Quindi metti un filo nel GND e un altro in un pin analogico, come A5. I due fili sono ora i cavi della sonda.
Ora abbiamo finito con l’elettronica/hardware. Passiamo al codice.
Il codice
Il codice è piuttosto semplice. Vogliamo solo raccogliere il segnale analogico che Arduino riceve al Pin A5 (o qualsiasi altro pin analogico) e convertirlo in digitale. Vogliamo quindi visualizzare i risultati sullo schermo LCD.
Questo è il codice che è possibile copiare e incollare.
#include <LiquidCrystal.h> int Vpin=A5;float voltage;float volts;LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {Serial.begin(9600);lcd.begin(16,2);}
void loop() {
voltage = analogRead(Vpin); volts = voltage/1023*5.0; Serial.println(volts);lcd.print("voltage = ");lcd.print(volts);delay(200);lcd.clear();}
Che succede qui?
Quindi stiamo prima importando la libreria LCD, quindi creando una variabile denominata Vpin (che sarà la tensione raccolta da A5). Successivamente, creiamo altre due variabili per la tensione, e quindi una variabile di tipo LiquidCrystal. Infine, facciamo l’installazione con il monitor seriale (che è uno strumento davvero utile in Arduino! Una sorta di console di debug), convertire la tensione analogica in tensione digitale e stampare (visualizzare) quel valore sullo schermo LCD.
E il gioco è fatto! Vai a testare varie batterie e punti! Ecco le foto di alcuni test che ho fatto:
Inoltre, se si desidera rendere più leggibile la lettura sul display LCD, inserire un resistore da 1k ohm nel percorso del Pin 3 (che è per le regolazioni del contrasto). Limitando la corrente elettrica che scorre a quel pin, migliorerai il contrasto dello schermo.
Anche nota importante: In questo voltmetro, qualunque tensione si prova andrà come un ingresso diretto al Arduino, così si dovrebbe testare solo roba che è nella gamma di volt che Arduino può gestire in modo sicuro (0-5 V). Test con una batteria da 9 V friggerà il vostro Arduino.
Grazie a questo video tutorial per aiutarmi a capire il circuito elettrico. Un ringraziamento speciale ai miei amici Nick Arner e Johnny Wang per avermi aiutato a sistemare le cose. E grazie a Laura Deming per la sfida! 🙂
Altri articoli e tutorial su elettronica / hardware e interfacce cervello-computer sulla strada! : D
Se avete risposte da condividere, non esitate a scrivermi a [email protected]. Non vedo l’ora di sentire da voi!