Archivi tag: making

EduRobot Circuit Blocks – dalla manualità al PCB: L’Evoluzione di un Apprendimento Pratico dell’elettronica

Nella mia esperienza come giovane studente, l’apprendimento pratico della teoria elettronica ha avuto inizio con l’uso di semplici blocchetti in cui erano inseriti componenti elettronici. Questi blocchetti venivano collegati tra loro mediante cavi dotati di connettori a coccodrillo o banana. Questo sistema, da giovanissimo studente, mi rendeva estremamente semplice la connessione con i puntali dei multimetri digitali, consentendo di realizzare senza sforzi collegamenti in serie e parallelo di resistori e di eseguire misurazioni della resistenza equivalente. Era altresì intuitivo inserire strumenti all’interno di un circuito per misurare correnti e tensioni.

Ricordo con affetto quella fase iniziale, un periodo in cui l’elettronica sembrava un magico puzzle da esplorare e comprendere. Con il tempo, la mia esperienza pratica si è evoluta: sono passato all’uso di breadboard, poi alle basette millefiori e, infine, alla progettazione e realizzazione di PCB.

Tuttavia, recentemente, la mia attività di insegnamento è tornata a quei blocchetti iniziali un po’ per necessità pratica ed un po’ per la gestione di classi “particolari” da motivare. Mi è stato chiesto di ideare lezioni con un’attività di laboratorio della durata di non più di 45 minuti per classi di seconda superiore. Ho constatato che molti studenti non avevano mai avuto esperienza diretta con componenti elettronici o strumenti di misura. Da qui l’idea di reintrodurre l’approccio “manuale” e intuitivo delle mie origini. Ho pensato a blocchetti stampati in 3D in cui inserire i reofori dei resistori, fissati mediante viti e bulloni. Queste viti, estendendo i reofori, facilitano il collegamento con altri resistori mediante connettori a coccodrillo.

Continua a leggere

EduRobot 4WD – Bluetooth

Alcuni lettori hanno notato nella lezione in cui ho condiviso i sorgenti per la stampa 3D del robot, che la scheda motori utilizzata è una Adafruit Motor Shield V01 e mi è stato fatto notare che esiste la V02 della scheda, quindi perché ho usato la versione precedente? La risposta non è tecnica ma economica, ho acquistato ad un prezzo interessante, su uno store cinese, una grande quantità di queste schede che poi ho usato per i miei corsi. Ovviamente nulla vieta che voi possiate utilizzare una qualsiasi altra scheda, la logica di programmazione è la medesima, ma certamente varieranno il nome delle istruzioni che controllano il motore, se avete necessità contattatemi.

Lista componenti

  • N. 1 Arduino UNO R3
  • N. 1 Adafruit Motor Shield V01
  • Modulo Bluetooth HC05
  • N. 4 Motori DC 6V
  • N. 4 Ruote

Di seguito trovate i collegamenti elettrici effettuati e il primo sketch di esempio con cui parto per svolgere le successive esercitazioni. Per gli allievi e i docenti che si iscriveranno ai miei corsi darò ulteriori esempi e spiegazioni.

Lo shield per il controllo motori può gestire fino a 4 motori DC in entrambe le direzioni, ciò vuol dire che possono essere azionati sia in avanti che all’indietro. La velocità può anche essere variata con incrementi dello 0,5% utilizzando PWM integrato sulla scheda, ciò permetterà un movimento uniforme e non brusca del robot.

Il ponte H presente sulla scheda può pilotare carichi NON superiori ai 0,6A o che hanno picchi di richiesta corrente NON superiori a 1,2A, quindi utilizzate questa scheda per piccoli motori, i classici motori gialli da 6V vanno più che bene.

Collegamento motori allo shield Arduino Motor Driver

Come indicato nell’immagine che segue è molto semplice:
– saldate due cavi al motorino (in commercio trovate motori con fili saldati)
– collegate i motori ai morsetti: M1, M2, M3 o M4.

Collegamento scheda Bluetooth HC-05 allo shield Arduino Motor Driver

Come sicuramente saprete, il modulo Bluetooth HC-05 permette di convertire una porta seriale UART in una porta Bluetooth e la utilizzeremo per inviare su seriale i caratteri selezionati da una specifica app Android, per comandare direzione e velocità dei motori del robot.

I collegamenti sono:

HC05 <-> Arduino Motor Driver
RX - Pin 1
TX - Pin 0
G - GND
V - +5V

Orientamento ruote.

Collegamento motori M1 e M2.

Collegamento motori M3 e M4.

Modulo Bluetooth HC-05.

Connessione dei pin RX e TX del modulo Bluetooth HC-05 alla seriale di Arduino (pin 0 e pin 1).

Alimentazione del modulo Bluetooth HC-05 attraverso lo shield.

Alimentazione dello shield.

Continua a leggere

EduRobot 4WD – stampare e costruire il robot

Avevo promesso qualche mese fa che avrei rilasciato i sorgenti grafici di EduRobot 4WD e lo scorso giugno studenti di alcune scuole italiane mi hanno chiesto la cortesia di rendere disponibili i sorgenti per la stampa 3D. Gli impegni di fine anno non mi hanno permesso di essere celere nella pubblicazione e visto che domani è l’inizio di un nuovo anno scolastico rendo disponibile la semplice base robotica in modo che possa essere utilizzata e spero anche migliorata dagli allievi.

Ma qual è l’idea progettuale di base di EduRobot 4WD?

Come ribadito nel post di presentazione di EduRobot 4WD, durante le attività laboratoriali di robotica con studenti e docenti, spesso la costruzione della parte meccanica richiede molta attenzione e tempo. Per questo motivo, ho deciso di realizzare un design semplice, ma funzionale, su cui poter facilmente integrare qualsiasi sistema di controllo elettronico. Pertanto per rendere la programmazione più stimolante e varia, ho progettato un robot 4WD che può avere diverse funzionalità: può essere comandato via Bluetooth o WiFi, può operare autonomamente, seguire persone, reagire alla luce, rilevare gas, seguire una linea, o ancora rispondere ai comandi vocali.

In questa struttura le parti che necessitano di solidità sono vincolate da viti metalliche mentre i circuiti di controllo e le batterie di alimentazione sono fissate con velcro a forte tenuta. L’utilizzo del velcro è stata una soluzione che mi ha permesso di ridurre le fasi di assemblaggio e di modifica della struttura. Ovviamente una struttura di questo genere non è cosa nuova, potete ritrovare design simili realizzati in compensato o in plexiglass su cui ad esempio i motori sono vincolati con colla a caldo, ma ciò ovviamente non permette di riutilizzare velocemente i motori per altre esercitazioni; inoltre le forcelle che vincolano i motori possono essere riutilizzati anche in altri kit che ho sviluppato, si veda ad esempio EduRobot Black Panther.

In questo modello, gli elementi che richiedono maggiore robustezza sono assicurati con viti metalliche, mentre i circuiti di controllo e le batterie di alimentazione sono fissate con velcro a forte tenuta. La scelta del velcro ha notevolmente semplificato e velocizzato le fasi di assemblaggio e modifica. Ovviamente una struttura di questo genere non è cosa nuova, potete ritrovare design simili realizzati in compensato o del plexiglass in cui ad esempio i motori sono vincolati con colla a caldo, ma ciò ovviamente non permette di riutilizzare velocemente i motori per altre esercitazioni; inoltre le forcelle che vincolano i motori possono essere riutilizzati anche in altri kit che ho sviluppato, si veda ad esempio EduRobot Black Panther.

La sequenza di assemblaggio è estremamente semplice, bisogna porre attenzione solo all’orientamento dei motori, ma le foto che seguono mostrano tutti i dettagli che vi permetteranno di assemblare il robot in circa 15 minuti.

Nelle foto potete vedere le due versioni:

  • controllo remoto Bluetooth
  • segui linea

Non posso mostrarvi la versione WiFi e con telecamera in quanto in questo momento sono disassemblati.

Ovviamente se serve, con piccole modifiche, potrete realizzare una versione a più livelli in modo da aggiungere tutti i circuiti che vi servono.

Per prelevare i sorgenti grafici seguire il link su Thingiverse.

Versione Bluetooth

Complessivo.

Vista motori.

Dettaglio forcella motori.

Dettaglio sensore Bluetooth.

Continua a leggere

Un base robotica molto semplice: EduRobot 4WD

Durante le attività di robotica sia con allievi che con docenti la fase di costruzione meccanica può richiedere parecchio tempo, pertanto ho pensato di realizzare qualcosa di molto semplice su cui disporre l’elettronica di controllo che si preferisce. Per rendere più interessante l’attività di programmazione ho realizzato un robot 4WD da utilizzare per costruire diverse tipologie di robot: controllati remotamente via Bluetooth, WiFi, autonomi, inseguitore di persone, inseguitore di luce, rilevatore di gas, line follower, controllato dalla voce umana.

5 minuti di Yoga creativo per recuperare elementi da altri progetti in questo modo è nato EduRobot 4WD, su questa base solamente i fori per le forcelle che sostengono i motori e fori per passaggio cavi, tutto il resto sarà a carico del Maker che farà i fori opportuni con un piccolo trapano o cacciavite in modo da disporre l’elettronica che desidera, costo di stampa dell’intera struttura 1€.

Per chi seguirà il mio prossimo corso di robotica organizzato da Tecnica della Scuola: “Creare un kit robotico educativo a basso costo – 4′ edizione”, renderò disponibile il codice di controllo e nei prossimi giorni per tutti, sul mio sito personale, i file sorgenti per realizzare la struttura di supporto.

Buon Making a tutti 🙂

Laboratori Green – Real Time Clock – DS3231

Durante il corso “Laboratori Green” in partenza il prossimo 7 dicembre, tra le varie attività che svolgerò in presenza online, mostrerò anche come gestire eventi che dovranno essere attivati ad una data ed ora specifici in quanto si avrà l’esigenza di realizzare un sistema autonomo che non faccia uso di un computer esterno per registrare i dati (temperatura, umidita, pressione, ecc…). L’elemento fondamentale della nostra automazione sarà un piccolo modulo di clock (orologio) in tempo reale (RTC) che ci consentirà di stabilire i tempi precisi in cui effettuare una specifica misurazione: una volta all’ora, una volta al giorno, alla settimana, ecc…

II modulo RTC è costituita da un piccola scheda elettronica economica su cui è inclusa una batteria ricaricabile che ci permetterà di non dover reimpostare l’ora sul microbit se viene sconnesso dall’alimentazione, quella che impiegheremo noi è la scheda HW-84 su cui è collocato l’RTC DS3231.

Commercialmente esistono diverse tipologie di RTC, il il DS3231 e tra quelli più adatti per essere usati con un micro:bit in quanto è progettato per funzionare con dispositivi a 3V pertanto potrà essere alimentato direttamente dal microcontrollore.
Durante il corso vedremo l’utilizzo di questo tipo di RTC anche mediante scheda Arduino.

Il DS3231 ha anche altre funzionalità che lo rendono molto interessante e che andremo ad utilizzare

  • possiede 2 allarmi
  • ha un sensore di temperatura con accuratezza di +/- 3C

Esistono diverse ragioni per cui è utile utilizzare Real Time Clock (orologio) all’interno del vostro sistema di automazione realizzato con qualsiasi microcontrollore, micro:bit, Arduino, o altro:

  • Se state registrando costantemente delle misurazioni (registrazione dei dati) è siuramente necessario registrare il tempo in cui la misurazione viene effettuata, la misurazione del tempo in cui avviene la misurazione prende il nome di timestamp.
  • Se state automatizzando eventi, come ad esempio l’accensione della luce ad una determinata ora, l’irrigazione della vostra serra, la rilevazione di umidità e temperatura della serra, l’accensione del riscaldamento, ecc…

Connessione dell’HW-84 al micro:bit

Il micro:bit comunica con il modulo RTC usando il protocollo di comunicazione I2C (inter-integrated circuit). Questo tipo di comunicazione utilizza 2 fili (SDA e SCL) e due file per l’alimentazione (Vcc e GND). Bisogna effettuare il seguente collegamento:

RTC ------ micro:bit
GND ------ GND
Vcc ------ 3V su micro:bit
SDA ------ SDA (pin 20)
SCL ------ SCL (pin 19)

Il pin SQW sull’HW-84 viene utilizzato per comunicare al micro:bit quando è stato attivato un allarme. Ciò può essere fatto collegando SQW al pin P0 del micro:bit

All’interno di MakeCode esiste un set di istruzioni per l’RTC DS3231. In MakeCode, fare clic “Extensions”. Nel campo di ricerca inserire DS3231, clic sull’icona per includere nell’ambiente di sviluppo il set di istruzioni.

Realizzare il programma indicato nell’immagine che segue. All’interno dell’istruzione “on start” sarà inserita un’icona che all’avvio del micro:bit darà percezione che il sistema è stato avviato. Nell’istruzione “forever” verrà impostata la struttura dell’output del testo mediante istruzioni di join del testo. La stampa delle stringhe del giorno e dell’ora avverrà mediante l’uso di istruzioni “serial write”. L’impostazione dell’ora iniziale sarà effettuta mediante l’istruzione specifica di inizializzazione dell’RTC in cui si dovranno inserire anno, mese, giorno, ora, minuto, secondo, il tutto inserito in un’istruzione “on button A pressed” che consentirà fisicamente di inizializzare l’RTC alla pressione del pulsante A del micro:bit. Per avere percerzione che l’impostazione è andata a buon fine verrà mostrata un’icona sul display del micro:bit mediante l’istruzione “show icon”.

Durante il corso aggiungerò a quanta sopra spiegato ulteriori indicazioni per realizzare un data logger di temperatura, ovvero un sistema in grado di registrare il valore della temperatura misurata in momenti specifici per poi mostrare su grafico la serie dei dati registrati.

Si svilupperanno anche altre attività come ad esempio:

  • realizzazione di allarmi, in generale attivazione di eventi in momenti programmati
  • registrazione dei dati su file all’interno del micro:bit
  • utilizzo di un sistema di registrazione dati su schede di memoria micro SD
  • … e molto altro

Vi aspetto al mio corso.
Buon Making a tutti 🙂