Prime Lezioni di Robotica - Arduino Robot
Prime
lezioni di robotica
Lezione 1 Robotica- Scheda student - Muoversi nello spazio
Vedi la descrizione del robot su Arduino.cc
Apri l'IDE Arduino
Vedi la descrizione del robot su Arduino.cc
Queste sono alcune istruzioni che ti serviranno
per questa lezione:
Robot.motorsWrite(255,255); // muove il robot in avanti
Robot.motorsStop(); // ferma i motori
Robot.motorsWrite(-255,-255); // muove il
robot indietro
Robot.motorsWrite(0,0); // slow stop
Robot.motorsWrite(-255,255); // ruota a sinistra
Robot.motorsWrite(255,-255); // ruota a destra
delay(2000);
//ritardo
Scegli il
tipo di scheda Arduino
che si sta utilizzando: in questo caso Arduino Robot Control
Accertati che la porta seriale sia quella scelta da Arduino
Accertati che la porta seriale sia quella scelta da Arduino
Carica questo l'esempio:
Esempi -> motor_control -> learn
-> motor test
Collega Arduino Robot alla porta USB del computer e carica il programma.
Attenzione appena staccherai il cavo USB, se l'interruttore è acceso, il
robot partirà.
Prova a scrivere tu un nuovo
sketch con i comandi usati sopra.
Come puoi rallentare il movimento del robot?
Come puoi rallentare il movimento del robot?
Come fai per
farlo girare di 90°?
Crea ora un programma che faccia percorre un quadrato disegnato sul pavimento.
Prova a rendere sempre più veloce in robot ma non a discapito della precisione.
Crea con varie scatole un piccolo labirinto e fai in modo che il Robot percorra il labirinto. Cronometra il risultato.
Il robot Arduino è gestito da una scheda simile ad Arduino
Uno, per capire il funzionamento delle ruote prova a montare un piccolo circuito
che gestisce il movimento di una ruota attraverso un motore elettrico a corrente
continua.
Componenti:
- Un motore a corrente continua
- 2 cavetti di collegamento
- 1 ponticello
Crea tu lo sketch che gestisce il motore collegando un cavo del motore al pin 8.
Prova a modificare la velocità di rotazione della ruota.
Lezione 2 Robotica- Emettere suoni- Raccogliere graffette- Seguire una linea scura
Carica il programma:
Esempi -> Robot Control -> Learn -> Beep
Modifica il programma in modo che il
robot emetta tre beep lunghi, usa il ciclo for
Confronta lo sketch che hai realizzato con questo esempio:
00-Esercizi di Robotica Fab-Lab Bagnacavallo -> LR2-raccogli_graffette -> Beep_lungo_con_ciclo_for
Raccogli graffette
Inserisci
sotto al robot una piccola calamita. Lascia cadere sul pavimento alcune
graffette.
Ora cerca di raccogliere le graffette più velocemente possibile e fai tornare Arduino Robot al punto di partenza. Al termine del percorso fai emettere un bip al Robot.
Prima di tutto è necessario scaricare l'ultima versione dell'IDE Arduino
Ora cerca di raccogliere le graffette più velocemente possibile e fai tornare Arduino Robot al punto di partenza. Al termine del percorso fai emettere un bip al Robot.
Prima di tutto è necessario scaricare l'ultima versione dell'IDE Arduino
Quindi
è necessario creare un percorso circolare con il nastro adesivo nero.
La
linea deve essere larga almeno 2,3 cm e non deve presentare curve troppo
strette.
Carica
ora questo l'esempio:
Segui_la_linea_Fab_Lab_Bagnacavallo:
#include <ArduinoRobot.h> // include the
robot library
#include <Wire.h>
#include <SPI.h>
void
setup() {
// initializza Arduino Robot
Robot.begin();
Robot.lineFollowConfig(8, 6, 50, 20);
//imposta la scheda del motore in modalità
Line follow
Robot.setMode(MODE_LINE_FOLLOW);
}
void
loop() {
}
Oppure scarica il programma da questo link.
L'istruzione:
Robot.lineFollowConfig(8, 6, 50, 20); può essere modificata a piacimento per rendere più veloce il Robot.
Ricorda però: i quattro dati relativi
a Robot.lineFollowConfig si riferiscono, il primo al guadagno proporzionale alla deviazione, il robot cioè si
muove più velocemente se è lontano dal centro della linea nera, il secondo si riferisce allo smorzamento
delle oscillazioni, il terzo alla velocità
percentuale dei motori (0-100), il quarto
dato si riferisce al tempo in ms di ritardo tra due controlli successivi (se il
tempo scende sotto 11, il robot non
arriva a completare il ciclo)
Prova a modificare alcuni parametri, in
modo da rendere più veloce il robot.
Per
ulteriori approfondimenti vedi dettagli sul sito ufficiale di Arduino:
Dentro
la cartella dello sketch trovi anche alcune librerie aggiuntive che sono
necessarie per il corretto funzionamento del programma.
Lezione 3 robotica- evitare gli ostacoli con un sensore a ultrasuoni
Oppure copia il seguente programma
Per rivedere le istruzioni apprese nelle precedenti
lezioni, crea, con varie scatole, un piccolo labirinto e, alla fine del
percorso inserisci una linea nera.
Programma il Robot in modo
che percorra il labirinto e si arresti quando passa sulla linea nera.
Cronometra il risultato.
Ora esplora il funzionamento del sensore a ultrasuoni
Monta il circuito illustrato
nella figura 1, con i seguenti componenti:
- 1
Sensore a ultrasuoni HC-SR04
- 1
cavo a 4 vie
- 4
cavi di collegamento da 12 cm
Nella scheda Arduino Uno collega il sensore a
ultrasuoni in questo modo:
VCC con i 5 volt
ECHO con il pin 13
GND con il pinGND
TRG con il pin 12
HC_SR4_Demo_prova_2_ultrasuoni.ino
Per
visualizzare i dati attivare il monitor seriale:
Strumenti
-> Monitor seriale
Oppure copia il seguente programma
#include
"Ultrasonic.h"
Ultrasonic
ultrasonic(12,13);
void setup() {
Serial.begin
(9600);
delay(1000);
}
void loop()
{
Serial.println (ultrasonic.Ranging(CM));
Serial.println
("cm ");
delay(100);
}
Monta, tra le due piastre di
sostegno di Arduino Robot due sensori a ultrasuoni HC-SR04.
Carica il programma, sotto
indicato, sul robot e controlla se riesce a muoversi evitando gli ostacoli:
00-Esercizi
di Robotica Fab-Lab Bagnacavallo->LR3-robot_ultrasuoni_04 -> LR3_robot_ultrasuoni04_scappa
Prova a modificare alcuni
parametri in modo da migliorare le prestazioni del Robot.
Ora crea di nuovo il labirinto dell'esercizio precedente
e prova se il robot riesce da solo ad uscire dal labirinto.
Lezione 4 robotica
Apri il
programma dell'esercizio precedente che tu hai elaborato.
Lavori
svolti ragazzi -> LR3_robot_ultrasuoni04_scappa
- nomi ragazzi
Aggiungi i
comandi che facciano sì che il robot emetta un suono tutte le volte che si
avvicina ad un ostacolo. Puoi differenziare i suoni a seconda della distanza
dell'ostacolo; simulando così un sensore di parcheggio.
Gara finale
Formate due gruppi e cercate di uscire dal labirinto finale senza rovesciare gli ostacoli. Cronometrate il risultato. Avete cinque tentativi. Vale il tentativo migliore per ogni gruppo.
E, alla fine dei laboratori, ecco le gare di robotica conclusive. Pit stop per mettere a punto i motori. Ecco un prototipo pronto da costruire, con questo potete poi partecipare alle gare di robotica in occasione della Fiera Roboval a Verona: http://www.roboval.it/index.php/e-shop |
Volete costruire il vostro robot? Ecco cosa propongono i maker di RaspiBO (RaspiBO è un gruppo informale di appassionati di elettronica ed informatica libera della zona di Bologna e non solo).
http://www.raspibo.org/wiki/index.php/Milkbot
Tutti i laboratori di elettronica, robotica, grafica e stampa 3D del fab-lab si svolgeranno presso l'associazione Acrylico a Bagnacavallo (Ravenna)
Indirizzo:
Via Togliatti 2
48012 Bagnacavallo (RA)
Contatti:
fablab.bagnacavallo[at]gmail.com
Tutti i laboratori di elettronica, robotica, grafica e stampa 3D del fab-lab si svolgeranno presso l'associazione Acrylico a Bagnacavallo (Ravenna)
Indirizzo:
Via Togliatti 2
48012 Bagnacavallo (RA)
Contatti:
fablab.bagnacavallo[at]gmail.com