Microbot irrigatore sketch porta a conclusione del progetto iniziato un paio di articoli fa per la realizzazione di un robot didattico semplice da programmare.
Il codice è composto da due parti:
- una per il robot
- una per il controller o gamepad
in questo articolo leggerai come sono costruite entrambi gli sketch usando l’IDE online della MicroBit.
Microbot irrigatore sketch – gamepad
Lo sketch del gamepad, o controller, del microbot irrigatore sketch è semplice:
alla pressione di ogni pulsante del controller deve inviare un numero sul canale definito per la comunicazione.
Andiamo con ordine, il codice è diviso in tre parti, facilmente riconducibili a due:
- on start;
- on button X is pressed;
- on button X is released;
Gli ultimi due possono essere assimilati sia per funzionalità dia per tipo di componenti che userai nell’IDE:
L’unica differenza tra “on button X is pressed” e on “button X is released” è che i primi invieranno un numero alla pressione del pulsante corrispondente ed i secondi invieranno per il medesimo puldante il valore 0.
Analizzandoli in ordine:
on start
In fase di start il microbit imposterà il gruppo di comunicazione per la trasmissione dei comandi a “8”;
poi visualizzerà uno “smile” realizzato con i Led per indicare che la routine di start è stata avviata;
on button X is pressed
per ciascun bottone del gamepad che l’utente potrebbe premere, ad es.: “D-PAD up”
invia il numero “1” al ricevitore;
on button X is released
allo stesso modo della funzione precedente il rilascio ( released ) del medesimo bottone invia il valore “0”;
Sono certo che tutto sarà più chiaro quando leggerai il codice del robot.
Microbot irrigatore sketch – robot
La programmazione della parte robot del microbot irrigatore è visibile nell’IDE online come mostrato di seguito:
In pratica è composto da tre parti:
- on start;
- on radio received;
- on Button X pressed;
Analizziamo le singolarità del codice e a cosa serve:
On start
è la parte del codice che si attiva all’accensione della base robot:
Quando alimenti il circuito del robot, o base, del progetto ciò che è scritto nel blocco “on start” viene eseguito:
- visualizza un cuore con i led della MicroBit;
- imposta la ricezione radio sul canale 8;
- imposta il valore della variabile “timewait” a 20;
Ti invito a soffermarti sul punto 2 e confrontarlo con il valore impostato sul gamepad.
I due valori devono coincidere perché le due microbit si parlino.
Notice
Suggerimento: se hai due o più gamepad e robot e vuoi utilizzarli insieme potrai impostare gruppi di numero differente tra ciascuna coppia robot-gamepad.
On radio received
E’ la parte più corposa del progetto e gestisce la ricezione dei valori dalla trasmittente e li trasforma in azioni sul robot.
Leggendolo ti sarai accorto che la programmazione è molto semplice, una serie di “if, else if e else” definiscono le azioni da intraprendere.
Per rifarci all’esempio visto per il gamepad: la pressione del “D-PAD up” invia il valore “1” al robot che lo interpreta;
Il valore 1, ricevuto, invia a tutti i motori il valore 255 ( ossia il massimo della velocità ) per il tempo definito dalla variabile timewait in millisecondi.
Allo stesso modo ciascun valore ricevuto attua una azione sui motori o sulla pompa.
Nota che in questo sketch non è presente alcun comando di attivazione della pompa che ti lascio compilare come esercizio.
Per aiutarti ti invito a leggere il paragrafo successivo.
On Button X pressed
Nel microbot irrigatore sketch questa parte di sketch è relativa al test e controllo della pompa di irrigazione.
Il verso di rotazione della pompa dipende da come sono connessi i terminali del driver drv8833 e i terminali della pompa al driver.
Usando il codice riportato di seguito alla pressione del pulsante “B” presente sul MicroBit del robot attivi il pin P1 e poni a 0 il pin P2:
viceversa alla pressione del pulsante “A” presente sul MicroBit del robot attivi il pin P2 e poni a 0 il pin P1.
In questo modo potrai testare quale sia il corretto funzionamento della pompa prima di inserire il blocco corrispondente nella posizione desiderata della sezione “On radio received”.
Puoi aiutarti con lo schema dei collegamenti presente nell’articolo e che ti riporto:
Infine ti riporto la lista dei componenti utili alla realizzazione del progetto ed il link all’articolo in cui troverai i file STL per la parte da stampare in 3D.
Microbot irrigatore sketch – materiale
Ti riporto la lista del materiale necessario alla realizzazione del progetto:
- n.1 pompa per aria ( https://amzn.to/3AwWusf )
- n.1 mini motor driver drv8833 ( https://amzn.to/3YRTyjn )
- n.1 dfrobot maqueen microbit robot platform ( https://www.robotics-3d.com/microbit/7169-micro-maqueen-microbit-robot-platform.html )
- n.1 micro Game pad ( https://www.robotics-3d.com/microbit/6963-microgamepad.html )
- n.2 microbit ( https://amzn.to/4ft9OfW )
- n.1 contenitore per liquidi 100 ml ( https://amzn.to/3Ai0Rrf )
- n.1 tubo in silicone diametro esterno 6 mm
- n.3 viti M3x16 mm testa a brugola;
- n.4 viti M3x10 mm in plastica;
- n. 2 dadi in platica M3;
- n.4 viti M2x10 mm
- n.2 rondelle per M2;
- n.2 distanziali in plastica M3x30 mm;