Progetto: Macchinina comandata tramite bluetooth
Mattia Lancieri VB Informatica Pag. 1
Progetto: Macchinina comandata tramite bluetooth
Indice
- Pagina 1: Titolo e foto
- Pagina 2: Indice
- Pagina 3: Scopo, componenti, schema a blocchi
- Pagina 4: Arduino
- Pagina 5: Motor shield, LLC, bluetooth
- Pagina 6: Continua Bluetooth, sensori di distanza
- Pagina 7: LED, software di Arduino
- Pagina 8: Codice di Arduino
- Pagina 9: Continua codice
- Pagina 10: Interfaccia in Visual Basic
- Pagina 11: Continua codice
- Pagina 12: Approfondimenti su LLC e LED
Scopo del progetto
Comandare una macchinina radiocomandata eliminando la classica interfaccia a radiocomando e realizzarne una in Visual Basic, che invii comandi al ricevitore bluetooth della macchinina.
Tramite i sensori di distanza quando la macchina si troverà a 30 cm da un ostacolo i motori si fermeranno.
Mattia Lancieri VB Informatica Pag. 2
Progetto: Macchinina comandata tramite bluetooth
Componenti utilizzati
- Una macchinina radiocomandata Gig Nikko con 2 motori in corrente continua
- Una scheda Arduino 2009
- Interfaccia motor shield (controllo motori per Arduino)
- Modulo LLC
- Una scheda bluetooth
- 2 sensori di distanza Sharp
- 4 LED
- Pacco batterie contenente 6 pile AA
- Un notebook fornito di bluetooth
- Visual Basic 6
Schema a blocchi dei collegamenti
Arduino
Logic Level Converter
Bluetooth
PC
Motor Shield
Motore
Motore
Trazione
Sterzo
Hardware
Cenni su Arduino
Il progetto Arduino ha preso il via ad Ivrea all'Interaction Design Institute di Olivetti e Telecom nel 2005 ed è completamente Open Source, ovvero chiunque può replicarsi la piastrina in casa oppure modificarla a piacimento senza violare alcuna licenza.
Arduino Duemilanove (anno di uscita di questa versione) è una scheda basata su un microcontroller ATmega 328, è provvista di La scheda Arduino Duemilanove
Mattia Lancieri VB Informatica Pag. 3
Progetto: Macchinina comandata tramite bluetooth
14 entrate/uscite digitali, 6 di queste possono essere usate come uscite PWM.
La scheda può essere connessa a un computer tramite un cavo USB (Universal Serial Bus) emulando una porta seriale, da dove prende anche l’alimentazione a 5V necessaria al suo funzionamento, in caso si debbano alimentare anche motori si può provvedere a una alimentazione esterna.
Arduino si programma attraverso il computer, con un ambiente di sviluppo apposito in C++, più avanti verrà trattato il codice in modo più approfondito.
La piastrina può essere accoppiata a vari shield, ovvero schede specifiche che permettono di estendere le sue capacità come l’ethernet shield che permette di connettere Arduino ad una rete per essere controllato a distanza o il motor shield.
Al momento Arduino si è diffuso in tutto il mondo, è usato in ogni campo, anche quello ospedaliero, in quanto semplicemente programmandolo correttamente gli si può fare eseguire qualsiasi funzione, dalla semplice accensione di una lampadina per un certo tempo fino al controllo di apparecchiature complesse.
La scheda esiste in varie versioni, la duemilanove usata nel progetto è la versione base, adatta alla maggior parte degli utenti, esiste poi una versione Mega con più entrate\uscite, la versione mini per piccoli progetti e una versione LilyPad da usare per T-Shirt con display incorporato (ad esempio con barre che si muovono a ritmo di musica).
Versione Lilypad
Versione Mega
Motor shield
La piastrina motor shield è una delle tante estensioni applicabili ad Arduino, essa permette di controllare più motori elettrici, nel nostro caso i 2 motori della macchinina: quello dello sterzo e il motore di trazione.
Si applica al di sopra di Arduino e viene collegata a una alimentazione supplementare per permettere di azionare i motori, dato che l’alimentazione USB non fornisce abbastanza potenza, sopra di essa è presente un LED che ne indica lo stato.
Tramite apposite librerie è possibile il controllo via software.
Piastrina motor shield collegata su Arduino
Mattia Lancieri VB Informatica Pag. 4
Progetto: Macchinina comandata tramite bluetooth
LLC (Logic Level Converter)
Il ricevitore bluetooth è alimentato a 3,3V, mentre Arduino è alimentato a 5V, questo comporta una disparità nei livelli logici, per ovviare a questo inconveniente si usa un convertitore di livelli logici (LLC) che si preoccupa di adattare i livelli logici tra le 2 architetture.
LLC usato per il progetto
Bluetooth
Il modulo installato permette di trasferire i dati ricevuti dall’interfaccia direttamente alla porta seriale di Logo Arduino, come se si stesse comandando via cavo.