In questo articolo vedremo come realizzare dei circuiti comandati dalla scheda Arduino Uno senza dovere acquistare o possedere la scheda, i componenti elettronici (LED, display, Sensori, …), la breadboard, i fili, gli attrezzi, ecc. Come è possibile? Segui questo articolo e lo scoprirai!
Tutto ciò che ci serve è:
- Un computer con connessione a Internet https://www.tinkercad.com/circuits
- Un browser che supporti il plugin flash (firefox, chrome, ecc.)
- Un indirizzo e-mail valido
Apriamo il browser e digitiamo il seguente indirizzo: https://circuits.io/ (toviamo la seguente novità: Electronics Lab has moved to Tinkercad. Cioè bisogna trasferisi al nuovo link: https://www.tinkercad.com/circuits )
Finiamo nella pagine principale di Autodek Circuits dove sono presenti una serie di tools (strumenti) on line per sviluppare e sperimentare progetti elettronici messi a disposizione gratuitamente (per ora) dalla Autodesk l’azienda che produce il noto programma di disegno AutoCAD.
Uno di questi tools: Eletronics Lab Hub permette di progettare circuiti realizzati con Arduino ora spostato al link: https://www.tinkercad.com/circuits .
In particolare sarà possibile:
- Montare i componenti su breadborad (prelevandoli da una vasta libreria organizzata per categorie) e collegarli alla scheda Arduino
- Modificare lo schema elettrico risultante dal montaggio (solo la disposizione)
- Programmare Arduino cioè scrivere il codice sorgente
- Simulare il funzionamento del circuito cioè vedere a video LED che si accendo, motori che girano, ecc.
- Fare il debug (ricerca errori del codice) o gestire il monitor seriale ed altre cose ancora
Cominciamo ad usarlo.
La prima operazione da fare è registrarsi. La registrazione è gratuita ed estremamente veloce.
Dalla home page del sito (https://www.tinkercad.com/circuits ) fare click sul pulsante Iscriviti presente in alto a destra.
NOTA: L'ambiente è stato modificato è quindi le videate sono leggermente diverse dalle figure mostrate in questo articolo
Si apre una finestra a centro schermo e qui selezioniamo la nostra nazione dall’elenco ed inseriamo la nostra data di nascita (dati obbligatori) quindi premiamo il pulsante Avanti
Nella finestra successiva, inserire un vostro indirizzo mail valido ed una password (minimo 8 caratteri con almeno un numero ed una lettera) quindi confermare con “Crea account”.
Dopo pochi istanti sarete re-indirizzati nella vosta home page personale dove potrete iniziare a lavorare e riceverete una mail di notifica al vostro indirizzo di posta : “Welcome to Autodesk 123D Circuits!”
Adesso possiamo iniziare a sperimentare!
Facciamo click sul pulsante in alto a destra (+ New) e poi selezioniamo il pulsante verde che compare sulla destra “New Electronics Lab”.
Ecco come si presenta il nostro ambiente di lavoro (dopo aver inserito il componente Breadbord Small che si trova subito sotto):
Procediamo con ordine.
Diamo un nome al nostro progetto.
Click sull'icona TINDERKARD (torniamo nella videata precedente)
Facciamo click sull'icona con la rotella (Options) che compare mettendo il cursore sul nostro progetto (in alternativa clik sul nostro progetto e poi click sulla rotella Properties. vedi fig. 6bis) e dal menù selezioniamo la voce Proprietà...: nella videata che si apre inseriamo un titolo al progetto (Nome), un sunto di cosa fa (Design description) nelle apposite caselle di testo. Fare click sul pulsante Salva Modifiche in fondo al modulo. E' possibile documentare il progetto aggiungendo foto.
Possiamo, volendo, compilare anche gli altri campi: i TAGS (parole chiave) permettono ad altri utenti di cercare più facilmente il nostro progetto (se lo condividiamo); Possiamo invitare altre persone a collaborare al nostro progetto inserendo il loro indirizzo e-mail e premendo il pulsante “Invite” (Access); Possiamo scegliere sotto quale licenza condividere il nostro progetto (License)
Facciamo click sull'icona Modifica per tornare alla nostra breadboard e proseguire il progetto
Nota: mettendo il cursore del mouse sull’icona e l’asciandolo li per qualche instante compare il nome assegnato all’icona. Nell’ordine: Circuit View; Component List; il vostro account;
Inseriamo i componenti.
Click sul pulsante “+ Component”. Sotto la breadbord compaiono i componenti disponibili.
Selezionando le voci: All component Grid; All component List, ecc. si cambia la vista dei componenti organizzata in modi diversi.
Per inserire la resistenza: click sulla resistenza nel riquadro sotto e poi spostare il cursore sulla breadboard, quindi fare click per posizionarlo dove si desidera.
Quando il componente è selezionato (bordo blu che lo circonda) possiamo:
- Ruotarlo o cancellarlo mediante i comandi in alto a sinistra
- Inserire la numerazione (1 per R1; 2 per R2; ecc.) ed il valore (220 Ohm) mediante il riquadro azzurro sulla destra
Ora inseriamo gli altri componenti (LED e scheda Arduino UNO) come da disegno.
Per il LED porre attenzione ai terminali. L’Anodo (Anode) va collegato alla resistenza mentre il catodo (Chatode) andrà collegato a GND sulla scheda Arduino (il nome del terminale compare mettendo il cursore del mouse sul terminale del componente).
La scheda Arduino si può trovare facilmente digitando “Arduino” nella casella di ricerca presente sulla destra della scheda componenti.
Nota: usando la rotella del mouse si può fare lo zoom della videata (ingrandimento/riduzione) mentre col cursore del mouse si può spostare tutta la vista (facendo click su una zona vuota, tenendo il click e spostandoci col mouse)
Facciamo i collegamenti.
Posizioniamoci sul foro sotto il Chatodo del LED e facciamo click col mouse. Trasciniamo il filo fino al pin GND di Arduino e facciamo di nuovo click. Il collegamento è fatto!
Per cancellare un collegamento: selezionare il filo e poi fare click sull’icona col cestino in alto a sinistra;
Per spostare un collegamento: Fare click su un’estremita del filo e tenendo premuto spostare il filo nella nuova posizione quindi rilasciare il pulsante del mouse.
Nota: Quando il filo è selezionato è possibile cambiarne il colore mediante il riquadro azzurro che compare sulla destra
Completare il disegno come in figura.
Nota: Non è necessario fare alcuna operazione di salvataggio. Ogni modifica viene salvata automaticamente come evidenziato dalla scritta All changes saved in alto vicino all’icona Lab View
Scriviamo il codice per Arduino.
Selezioniamo il pulsante Code Editor presente in alto a destra (sotto l’icona Lab View). Si apre l’ambiente di programmazione di Arduino con pre-caricato il programma di esempio blink (lampeggio LED) già citato (nel nuovo ambiente si può programmare usandola versione Scratch per Arduino nota anche come S4A. Premendo il pulsante BLOCK si può nascondere o visualizzare)
Facendo click sul pulsante “Upload & Run” si avvia la fase di compilazione e caricamento del programma sulla scheda Arduino (cioè la simulazione). Questo lo si evince dal fatto che il pulsante in alto a destra “Start Simulation” diventa blu e cambia la sua scritta in “Stop Simulation” ed in più il led presente sulla scheda Arduino (quello collegato al pin 13) lampeggia. Non si vede molto ma si colora di arancione quando è acceso. Il LED si trova sulla scheda Arduino subito sotto il pin GND (e sopra i due led TX ed RX) ed è marchiato con la lettera “L” (ingrandite la scheda se non lo vedete!).
Premere il pulsante “Stop Simulation” per fermare la simulazione.
Per vedere lampeggiare il LED del circuito da noi disegnato, dobbiamo modificare la linea 3 del codice.
Il nostro LED è collegato all’uscita digitale 9 (pin 9) di Arduino. Sarà quindi sufficiente andare a scrivere il numero 9 al posto del 13 (int led=9; ).
Facciamo la modifica ed avviamo la simulazione. Ora vedrete lampeggiare il LED rosso che avete messo sulla breadboard.
A questo punto possiamo:
- Scaricare il codice collaudato sul simulatore premendo il pulsante “Download Code” (Nome del file=nome Progetto.ino). Nel nostro caso scaricherà un file di nome: “arduino_LEDIntermittenteblink.ino” che conterrà il codice che si potrà aprire nell’IDE ufficiale di Arduino
- Premere il pulsante “Libraries” per aggiungere librerie al nostro codice (per progetti particolari)
- Fare il debug del programma premendo il pulsante “Debugger”. Selezionando uno o più punti di interruzione (click sulla linea di codice). Avviare la simulazione. Il programma si arresta automaticamente alla linea selezionata (breakpoint). A questo punto possiamo: vedere lo stato delle variabili posizionando il cursore sopra la variabile (ad esempio mettendo il cursore sulla variabile “led” comparirà il numero “9” cioè il valore assunto dalla variabile in quell’istante). Premendo il pulsante con “pallino e freccia” (Step Over Next Function) si procederà con l’esecuzione passo-passo del codice (una riga per volta). Premendo il pulsante con la freccia (resume execution) a sinistra del precedente il programma riparte dall’inizio.
- Aprire la finestra “Serial Monitor” per comunicare con la scheda Arduino mediante l’interfaccia seriale di quest’ultima. Per comunicare con Arduino è necessario inserire apposite linee di codice (tipo: Serial.begin(9600); e Serial.println(valoreSensore); ) per vedere qualcosa sul monitor (non è il nostro caso!)
Una volta simulato il circuito possiamo, volendo, procedere alla realizzazione pratica, scaricando il codice e realizzando il montaggio. Il caricamento del codice sulla scheda reale si ottiene mediante l’IDE di Arduino.
Il nostro ambiente di simulazione, una volta giunti a questo punto, permette anche di fare altre cose come:
- Modificare la posizione dei componenti nello schema elettrico (Schematics View)
- Creare il circuito stampato (PCB View)
- Vedere e scaricare come file CSV la lista dei componenti (Bill Of Materials)
Alcune videate esemplificative
Lo schema elettrico
Il circuito stampato (PCB=Print Circuit Board)
L’elenco componenti (Bill Of Materials)
Il circuito incorporato (embed) da provare
Possiamo concludere qui il nostro articolo. Buon divertimento
A titolo di esempio, ecco come appare il monitor seriale con un altro progetto che invia i dati letti e calcolati sul monitor (Sensore di temperatura con LM35)
Sotto il codice completo non visibile nell'immagine
//Autore: Vincenzo Maida //Termometro ambiente con LM35 //Monitoraggio dati acquisiti e variabili interne su monitor seriale int pinLM35=A0; //pin sensore di temperatura LM35 double valoreSensore=0; //Valore letto dal sensore LM35 double tensione=0.0; //Valore di tensione corrispondente al valore letto dall'ADC double temp=0; //Temperatura corrispondente al valore letto dall'LM35 (tensione) int k=0; // the setup routine runs once when you press reset: void setup() { //Initialize serial and wait for port to open: Serial.begin(9600); } // the loop routine runs over and over again forever: void loop() { //Legge sensore LM35 valoreSensore=analogRead(pinLM35); tensione=valoreSensore*5/1023; //Valore della tensione letta in ingresso temp=tensione*100;//Valore di tensione convertito in temperatura if(k>10){ stampa(); k=0; } delay(500); k++; } void stampa(){ Serial.println("Stampa acquisizioni:"); Serial.print("Sensore LM35:"); Serial.println(valoreSensore); Serial.print("tensione:"); Serial.println(tensione); Serial.print("Temperatura:"); Serial.println(temp); Serial.println(); }