Integrazione di MecWilly con Google Assistant SDK

Come sappiamo la versione MecWilly Compact ha una scheda di controllo che può essere gestita tramite Bluetooth con un dispositivo Android. Ma e possibile anche staccare il modulo Bluetooth e sfruttare la comunicazione seriale per controllare MecWilly da Arduino o Raspberry, quest’ultimo è ottimo per l’integrazione con Google Assistant tramite l’sdk di Google.

In alternativa è disponibile la versione MecWilly Compact Essential che non ha la scheda di controllo MecWilly Board quindi sarà necessario pilotare direttamente i servomotori con un servocontroller esterno non incluso, il quale puo essere poi controllato da Raspberry dove sarà installato l’SDK di Google Assistant.

Le alternative sono tante, ecco qui uno schema delle principali modalità di connessione di MecWilly:

Collegare i sensori

Possiamo collegare fino a sei sensori direttamente sulla scheda di MecWilly Compact. I nomi dei pin sono A1, A2, A3, A4, A5, A6.

Supponiamo ad esempio di voler collegare un sensore ad infrarossi per rilevare la presenza di una persona davanti al robot, ad esempio un sensore come questo:

img sensore infrarosso

Utilizzando un cavetto di questo tipo è possibile collegare il sensore direttamente alla scheda senza nessuna modifica:

cavo jst sensore

Vediamo un esempio di codice. Supponimo che abbiamo connesso il sensore nell’ingresso A1:

do
read 1
save val
if val > 80
say Hey tu!
repeat

In questo esempio MecWilly dirà ‘Hey tu!’ ogni volta che il valore letto sul sensore è maggiore di 80.

Ora vediamo un altro semplice esempio, ogni volta che premiamo il bottone nell’applicazione MecWilly pronuncerà il valore che legge dal sensore:

do
read 1
save val
sayb [val]
repeat

Se hai bisogno di sensori, cavi o altro tipo di assistenza non esitare a contattarci.

Controllare MecWilly con un dispositivo esterno come Arduino o Raspberry

MecWilly Compact può essere controllato in vari modi. Il metodo più immediato è con un dispositivo Android tramite Bluetooth. Ma è possibile controllare MecWilly Compact con qualsiasi tipo di dispositivo provvisto di una porta seriale.

Sarà molto semplice controllare MecWilly in quanto la MecWilly Compact Board è già programmata e pronta per eseguire il movimento del labiale e le espressioni facciali, è sufficiente inviare alla seriale alcuni semplici comadi (scrivici per avere la lista completa dei comandi che è possibile utilizzare).

Ovviamente la MecWilly Compact Board arriva con il modulo Bluetooth installato, per poterla controllare tramite seriale dobbiamo per prima cosa scollegare il modulo Bluetooth. Otterremo così due pin, RX e TX con cui possiamo comandare la MecWilly Compact Board tramite qualunque dispositivo con una porta seriale.

Il pin RX della MecWilly Compact Board andrà collegato al pin TX della scheda di controllo (Arduino, Raspberry, ecc…) la stessa cosa per il pin TX, andrà collegato al rispettivo RX.

Il gioco è fatto. Ora Arduino potrà impartire comandi a MecWilly. Nei prossimi post vedremo quali comandi è possibile inviargli.

Personalizzare gli occhi con i led

Gli occhi sono due palline da ping-pong tagliate a metà e si illuminano se una luce è posta dietro di essi. Con una semplice personalizzazione è possibile inserire dei led ed illuminarli. Se si scelgono i led multicolore gli occhi potranno anche assumere più colorazioni diverse. Volendo è disponibile anche un kit di estensione con led multicolore, resistenze, cavi, viti e supporti, altrimenti potete realizzarlo voi stessi, è semplice.

Come accenderli? E’ sufficiente collegarli (con una opportuna resistenza) sfruttando le 6 uscite digitali presenti nella MecWilly Compact Board.

E’ possibile poi comandarli dal codice come per tutte le altre funzioni. Il comando da utilizzare è il seguente:

write 1 on (Accende l'uscita digitale 1)
write 2 off (Spegne l'uscita digitale 2)
write 4 on (Accende l'uscita digitale 4)

La prima riga accende l’uscita digitale 1, la seconda spegne l’uscita 2 e la terza accende l’uscita 4. Essendo tre istruzioni che si susseguono senza comandi di pausa, verranno eseguite contemporaneamente.