NAO e Arduino si parlano!



Documenti analoghi
TERMOSTATO CON REGOLAZIONE A TRIGGER DI SCHMITT

DOMOTIC ARDUINO PROJECT MANUALE D'USO

ISTRUZIONI PER L INVIO TRAMITE PEC (POSTA ELETTRONICA CERTIFICATA) DI ISTANZE, COMUNICAZIONI E DOCUMENTI

NTC E MISURA DELLA TEMPERATURA CON ARDUINO

Presentazione della Charge2go

Gestione di una UART SOFTWARE.

SINT-13 SINTESI VOCALE VIA RADIO CON ATTIVAZIONE. Il presente manuale può essere soggetto a modifiche senza preavviso

Test di Autovalutazione

La comunicazione interpersonale. Dr. Savio Stocco, psicologo e psicoterapeuta

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

MONITORAGGIO ACQUEDOTTO MANUALE UTENTE

TITOLO ESPERIENZA: Progetto Arduino GPS OBIETTIVO: Realizzare tramite Arduino un sistema di localizzazione GPS

CONVERTITORE SERIALE ASINCRONO RS232/USB, TTL/USB e RS485/USB CONFIG BOX PLUS

CONVERTITORE SERIALE ASINCRONO RS485 / USB

Stefano Ceroni. Scheda del prototipo The Brain arm

Printer Driver. Questa guida descrive l installazione dei driver stampante per Windows Vista e Windows XP.

Collegamento e funzionamento di un normale TNC con il D-RATS

Autoware Ladder Tool (per Arduino ) Basic Tutorial

ISTITUTO NAZIONALE DI FISICA NUCLEARE

Guida all'installazione driver per DFUSB Rel.1.0 Febbraio 2011

Giorgio Maria Di Nunzio

Architetture Applicative

#guida 06 INBOUND MARKETING ROI CON HUBSPOT

ALTRI SUGGERIMENTI PER IL PERCORSO AD OSTACOLI

EW1051 Lettore di schede USB

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

Guida Rapida all Installazione WLN10 e WLN10HS Server Wireless NMEA

Il funzionamento di prezzipazzi, registrazione e meccanismi

Elettronica In. Gratis per te tutto il materiale per i tuoi progetti. SCACCIA la CRISI... PROGETTA & DIVERTITI con NOI!

PLIDA Progetto Lingua Italiana Dante Alighieri Certificazione di competenza in lingua italiana

Indruduzione... 1 Il modulo Bluetooth HC Il firmware... 3 Collegamento della scheda... 4 Software PC e l applicazione Android...

D.N.S. Domain Name Server A cosa serve un servizio DNS per i computer?

Progetti reali con ARDUINO

Raspberry Pi: Hardware Programming. Rossi Pietro Alberto

Installazione di Zelio Soft 2 su Microsoft Windows Vista

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

PROMUOVERSI MEDIANTE INTERNET di Riccardo Polesel. 1. Promuovere il vostro business: scrivere e gestire i contenuti online» 15

RIPETITORE DI SEGNALE WIRELESS PER SISTEMA VIA RADIO ART. 45RPT000

MT2 e MT3: Schede e sistemi di controllo motori passo passo

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

VOCALIST S I N T E S I V O C A L E V I A R A D I O C O N A T T I V A Z I O N E MANUALE D USO E INSTALLAZIONE (VERSIONE )

PANNELLO REMOTO PER BARRIERE 48BFC000 E 48BFC001

INTERFACCIA PER PC MEDIANTE PORTA SERIALE

16/01/2009 AGGIORNAMENTO SOFTWARE LS7 AGGIORNAMENTO SOFTWARE LS7

Aspettate il giorno 2

GESCO MOBILE per ANDROID

COME PREPARARE UN DOSSIER DI CANDIDATURA? Collo uio di presentazione

PRESENTAZIONE OPZIONI DI PARTECIPAZIONE

Report di valutazione studiolegalebraggio.it

Our Mobile Planet: Italia

Guida Compilazione Piani di Studio on-line

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Trasponder Key Programmer Generalità

L ENGAGEMENT: TUTTO QUELLO CHE GLI E-COMMERCE ANCORA NON FANNO

RILANCIO ALLARMI SU SWC701

La piattaforma e-learning Informazioni e strumenti principali

Guida alla registrazione on-line di un DataLogger

Il metodo comportamentale 1

Traccia delle soluzioni

ISTRUZIONI PER LA TRASFORMAZIONE DI UN DISPOSITIVO By10850 IN UN DISPOSITIVO By10870

POLITECNICO DI TORINO

Internet Access Monitor. Informazioni sul prodotto

YouLove Educazione sessuale 2.0

Manuale di installazione del lettore Smart Card MiniLector USB"

La posta elettronica (mail)

Sistemi GPS Mo d u l i G S M. Controlli remoti GSM. Esempio applicativo. Moduli GSM

Piasiniengineering s.a.s di Piasini Patrik & Christian Via Isole, 13 Piateda (SO) Italia Tel: Fax: P:IVA : IT

Configurazione di Outlook Express

Contingente Italiano FIS - Federazione Italiana dello Scautismo VADEMECUM PER VIVERE AL MEGLIO IL PERCORSO EDUCATIVO DEL JAMBOREE

Guida alla compilazione on-line delle domande di Dote Scuola A.S componente Merito INDICE

Per utilizzare il sistema VCP il programmatore deve inserire una porzione di codice di VCP nella sua applicazione.

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Panasonic. Panasonic. Digital Super Hybrid System Voice Mail KX-TVP200E. Installazione e configurazione sistema Voice Mail KX-TVP200E

Insegnare può essere facile

Mostra Personale Enrico Crucco

KIT SUPERVISORE INSTALLAZIONE ED USO

MICRO USB OTG TO SERIAL Adattatore da Micro USB OTG a Seriale RS232 per Tablet & Smartphone

Corso Base Arduino ed Elettronica

Software per la diagnostica

Alimentazione Switching con due schede ATX.

Come usare P-touch Transfer Manager

da 2 a 5 giocatori, dai 10 anni in su, durata 30 minuti

come fare nas Configurare un NAS per accedere ai propri file ovunque

IL SISTEMA SMART RESPONSE

Che cos'è OC-Counter? Perchè OC-Counter? OC-Counter aumenta le opportunità di vendita e migliora le strategie di marketing.

IRINA E GIOVANNI. La giornata di Irina

DL8 config REVISIONE DATA

Francesco Silvi IKØRKS e_mail Trasmettiamo con l interfaccia digitale (S.B.)

Manuale di installazione e uso

Guida ai prodotti DOP, IGT, etc. Proposta per la realizzazione di una App

MANUALE PER L UTILIZZO DEI SOCIAL NETWORKS. Dedicato alle organizzazioni partner

CORSO DI INFORMATICA PER ADULTI

ADM Associazione Didattica Museale. Progetto Educare alla Scienza con le mani e con il cuore

Secure domande e risposte

Transcript:

TITOLO NAO e Arduino si parlano! PRODOTTI UTILIZZATI OBIETTIVO AUTORE RINGRAZIAMENTI Far comunicare una scheda Arduino con il robot umanoide NAO. L utente chiederà vocalmente a NAO di accendere/spegnere un LED collegato alla scheda Arduino, oppure di sapere qual è il valore di temperatura o luminosità di due sensori collegati ad Arduino. NAO dovrà interpretare i comandi vocali dell utente e fornire risposte. Pietro Alberti (Media Direct srl, Italia) p.alberti@mediadirect.it Jonas Lerebours (Aldebaran Robotics, France) Dedicato alla mia famiglia: Marco, Luca, Chiara, Francesco e Maria

ABSTRACT Che sfida interessante far comunicare tra loro due tra i prodotti per robotica più famosi al mondo: NAO e Arduino! NAO ha una porta USB nella parte posteriore della testa a cui si può collegare direttamente una scheda Arduino. L utente chiederà a NAO di accendere/spegnere un LED e/o leggere i valori di due sensori di luminosità e temperatura collegati alla Arduino. NAO, dopo aver capito i comandi dell utente, invierà dei messaggi sulla seriale. Tali messaggi verranno interpretati da Arduino, che esaudirà le richieste di NAO, e risponderà sempre sulla seriale con altrettanti messaggi verso NAO. I messaggi di ritorno a NAO implicheranno che il nostro piccolo grande amico dirà il valore di temperatura, di luminosità e/o se ha acceso/spento il LED.

DESCRIZIONE DEL SISTEMA: NAO + ARDUINO NAO: robot umanoide alto 58 cm in grado di camminare, parlare, ascoltare, collegarsi a Internet, corredato di molti sensori. Per una descrizione completa si rimanda al sito: http://www.campustore.it/nao NAO possiede una porta USB nella parte posteriore della testa, normalmente usata per il reflashing suo sistema operativo. Celata da una copertura rimovibile, questa è una porta USB standard che permette di collegare dispositivi aggiuntivi, ad esempio il sensore Kinect o una mitica scheda Arduino! Il sistema operativo NAOqi include i driver per i chipset FTDI, pertanto un dispositivo dotato di tale tipo di interfaccia quando collegato a tale porta USB di NAO viene visto come una porta seriale o TTY. Quindi, se prendiamo una scheda Arduino Uno e la colleghiamo a NAO mediante un cavo USB, qualsiasi cosa inviata da Arduino sulla seriale verrà di fatto inviata a NAO, e così il gioco è fatto! ARDUINO: la scheda di prototipazione più economica, più famosa, più Per una descrizione un po più approfondita si rimanda al sito: www.campustore.it/arduino In questa esperienza, ho utilizzato: - Scheda Arduino Uno rev3-1 led rosso collegato al solito pin 13-1 termistore NTC collegato al pin A0-1 fotoresistore collegato al pin A1 All inizio sono partito con una basetta dello starter kit, poi con fili volanti ed infine, per rendere più ordinato il tutto, ho saldato i 3 componenti e 3 resistenze su un pezzetto ritagliato di basetta millefori, appoggiando poi il tutto su un pezzetto di polistirolo, per isolare la scheda. CAVO USB: classico cavo stampante, che funge da cordone ombelicale tra NAO e Arduino, consentendo la comunicazione seriale.

DESCRIZIONE DEL FUNZIONAMENTO DEI PROGRAMMI SVILUPPATI Il sistema si basa sullo scambio di messaggi tra NAO e Arduino usando il canale seriale. Ho sviluppato 2 programmi: uno per NAO e uno per Arduino; entrambi usano la porta seriale. I due programmi sono commentati abbastanza. Esempio di funzionamento: 1) L utente dice a NAO: temperatura 2) NAO capisce il comando vocale e trasmette sulla porta seriale il messaggio gettemp 3) Arduino si accorge che nella seriale è stato scritto un messaggio e lo interpreta, andando a leggere il pin A0 e scrivendo sulla seriale il valore di temperatura 4) NAO legge il valore dalla seriale e lo comunica vocalmente all utente In modo analogo, l utente dirà luminosità, accendi o spegni. Tabella di messaggi: Parole che NAO può capire: "temperatura", "quanto caldo fa?" "luce", "luminosità", "quanta luce c'è?" "accendi", "accendi LED" "spegni", "spegni LED" "fine", "esci" NAO passa ad Arduino: gettemp getlight setled resetled setlanguageita setlanguageeng Programma per NAO: - Sviluppato in Choregraphe - Sviluppato un blocco in Python per la comunicazione seriale, usando la relativa classe standard di NAOqi (import serial) - Uso di un blocco di Dialogo per l interazione utente-robot NAO

Dal blocco di dialogo escono delle stringhe che poi vengono passate al blocco If che segue: il terminale uscita è di tipo stringa e può assumere i valori seguenti (vedasi il dialogo Arduino_iti.top ): temperatura, luce, accendi, spegni, fine. Nel blocco in Python di Choregraphe, dove NAO riceve dati da Arduino, ho messo qualche istruzione condizionale per far dire a NAO qualcosina in più, in base ai valori di temperatura e luminosità: - Se la temperatura supera i 30 gradi, allora NAO dice Oggi, fa molto caldo! Prendiamoci una granatina, dai! - Se è la luminosità supera il 70%, allora NAO dice C'è parecchia luce. - Se è la luminosità è minore del 30%, allora NAO dice E' un po' buio, accendiamo una luce? Ultima cosa: il valore di luminosità proveniente dal fotoresistore collegato ad Arduino è un numero tra 0 e 1024, ove 0 significa luminosità minima/buio e 1024 significa luminosità massima. Tale valore lo mappo nell intervallo 0-100, per avere un valore in percentuale (%).

Programma per Arduino: - Sviluppato con l IDE di Arduino - Legge la seriale e intraprende le azioni in base ai comandi - Lo sketch di Arduino va caricato mediante l ambiente di sviluppo di Arduino

CONSIDERAZIONI FINALI E un progetto molto interessante e divertente, in cui ho avuto modo di scambiare idee e informazioni con varie persone. Hardware: L idea iniziale era di collegare semplicemente una scheda Arduino. Ho iniziato con lo starter kit di Arduino per poi passare a qualcosa che fosse il più essenziale e leggero possibile, da fissare sulla schiena di NAO con del velcro o con un elastico. Al termine del progetto mi è venuta l idea di realizzare uno zainetto MeteoDuino, aggiungendo un sensore di umidità e trasformando NAO in un meteorologo del futuro ;-) Software: Per NAO ho sviluppato due versioni del software, in ITALIANO e in INGLESE. La versione in inglese all inizio invia il messaggio setlanguageeng, che istruisce Arduino a fornire feedback in lingua inglese. Idee per ulteriori implementazioni software: - far pubblicare a NAO su Internet i valori dei sensori meteo di Arduino - far intraprendere a NAO azioni/dialoghi a seconda dei valori rilevati dai sensori di Arduino Nota di colore: la prima versione di questo software l ho messa a punto a Bologna presso la Fondazione Golinelli, durante il sabato sera e la domenica mattina della gara di robotica NAO Challenge 2015, con il sostegno e l approvazione di colleghi, amici, visitatori e insegnanti. Grazie per la vostra attenzione! Pietro Alberti pietro@mediadirect.it 01 Luglio 2015 Disclaimer: il sottoscritto declina ogni responsabilità per eventuali danni a persone e/o cose derivanti dall uso del presente documento.