Archivi tag: ultrasuoni

Controlliamo DotBot con Arduino

DotBot

Questo tutorial è la prima bozza di parte delle lezioni di “Alfabeto Arduino con DotBot” per l’apprendimento dell’uso di Arduino mediante lo starter kit open source per l’insegnamento del coding e della robotica che abbiamo chiamato DotBot.
Sperimenterò questa prima parte durante il corso di cui sarò relatore presso l’IIS Cassato Gattapone (Gubbio): “Apprendimento attivo con Raspberry Pi e Arduino”.

Nel tutorial che segue illustro un schema estremamente semplice per la realizzazione del controllo di DotBot effettuata con Arduino con i relativi sketch di esempio è può essere considerato la base di partenza per ogni sperimentazione basata appunto su Arduino.
Per il pilotaggio dei motori ho utilizzato l’Arduino Motor Schield R3 di cui ho già effettuato un tutorial nei giorni scorsi (Utilizzo dell’Arduino Motor Shields R3) ed è propedeutico a questa lezione.

Più avanti aggiungerò esempi pratici con ulteriori sensori e inoltre mostrerò come far funzionare DotBot come segui linea e utilizzando soluzioni con motorini passo-passo. Vi saranno ulteriori lezioni basate su Raspberry Pi 3 e programmazione in Python e successive approfondimenti sull’uso di ROS (Robot Operating System).

L’intero tutorial sarà basato sulle indicazioni costruttive di DotBot che trovate descritte nell’articolo: DotBot: lo starter kit open source per l’insegnamento del coding e della robotica che ricordo potete stampare in 3D seguendo le indicazioni che trovate nell’articolo.
In ogni caso se non avete stampato DotBot potrete tranquillamente applicarlo al robot che disponete.

Ricordo che la rotazione, senza il controllo dei numeri di giri, dipende dalla carica delle batterie, quindi per ogni test effettuare un controllo ed eventualmente modificare la variabile: “tempoRotazione” che potrete poi tarare mediante la funzione calibrazioneRotazione() che trovate nell’ultimo sketch proposto. La soluzione ottimale per il controllo preciso del robot prevede l’uso di motorini con encoder, che mostrerò in lezioni successive.

Ovviamente anche la soluzione proposta in questo tutorial risulta approssimata (ed anche dettata da un risparmio economico) ricordo che lo scopo è comprenderne il funzionamento del movimento di DotBot, lascio a voi i successivi perfezionamenti.

Potrete sostituire alle batterie che io ho utilizzato, batterie ricarrabili, o pacchi batterie con autonomia maggiore che potrete fissare utilizzando gli appositi fori predisposti sullo chassis

Componenti utilizzati

  • Arduino UNO R3
  • Arduino Motor Shield R3
  • Sensore ad ultrasuoni HC-SR04

Montaggio del circuito

DotBot-Arduino-01

DotBot-Arduino-02

DotBot-Arduino-03

Ribadisco, come già indicato nel tutorial: Utilizzo dell’Arduino Motor Shields R3 che sono state fornite due alimentazioni diverse una per la scheda Arduino ed una per i motori, per effettuare tale operazione è indispensabile effettuare il taglio del “Vi connect

Come evidenziato i due motori sono stati collegati con polarità invertita in quanto per muovere in avanti il robot le due ruote dovranno muoversi in senso opposto.

Negli esempio che seguono verranno di volta aggiunte nuove funzioni, la lista completa è la seguente:

setupDotBot()

Imposta i pin dell’Arduino Motor Shield

driveDotBot([motore], [direzione], [velocità], [brake])

La funzione è da leggersi in questo modo:
driveDotBot pilota il [motore] (0 per A, 1 per B) in senso [direzione] (0 o 1 – orario o antiorario) a velocità [velocità] (tra 0 e 255), [brake] attiva o rilascia blocco motore.
I motori vanno avanti fino a quando non gli verrà detto di fermarsi.

stopDotBot([motore])

ferma il motore [motore] (0 o 1).

rotazioneOraria()

gira il robot di 90° in senso orario

rotazioneAntioraria()

gira il robot di 90° in senso antiorario

distanzaOstacolo()

restituisce la distanza in cm dell’ostacolo rilevato

paragonaDistanze()

verifica la distanza dell’ostacolo che si trova a distanza maggiore dal robot

scegliDirezione();

sceglie la direzione da prendere in funzione della distanza a cui si trova l’ostacolo

La spiegazione del funzionamento d ogni parte del codice è inclusa all’interno dello sketch come commento.

Nota per lo studio:
i 6 sketch proposti variano solo nel loop per la realizzazione delle funzioni richieste, la variazione tra uno sketch e l’altro consiste nell’aggiunta di poche linee di codice, sarà quindi necessario effettuare uno studio preliminare di tutte le parti dello sketch 1.

Continua a leggere

Robot Beginner KIT V2 – ARDUINO UNO REV3

È un periodo di intensa sperimentazione e come avrete avuto modo di notare sono alle prese con un serie di kit di robot che sto costruendo, a prima vista questa attività potrebbe sembrare un mero esercizio tecnologico che discosta dall’obiettivo, ovvero far didattica, in realtà la ricerca è quella di costruire il giusto robot che “calza” con la didattica che ritengo importante svolgere, quindi non il “super kit robotico” ma oggetti semplici da aggiungere alla cassetta degli attrezzi del docente che vuole svolgere queste attività. Alcuni, privatamente via e-mail mi hanno chiesto se io mai avessi acquistato kit per la costruzione di robot, o se ne avessi fatto uso in classe, o più semplicemente: “Michele non ho una stampante 3D e non riesco a realizzare prototipi, mi consigli kit che poteri acquistare?” Domande di questo genere mi vengono poste spesso da colleghi, genitori, studenti e poiché mi sento soprattutto in debito verso questi ultimi, risponderò prendendo in analisi alcuni robot che posseggo la cui costruzione non richiede, almeno nelle prime fasi, competenze specifiche, sarà sufficiente saper usare un cacciavite e in alcune occasioni essere in grado di effettuare delle semplici saldature a stagno, la fase di costruzione si esaurisce in breve tempo dopo di che ci si potrà concentrare sulla programmazione.

Per ogni kit mostrerò le fasi costruttive passo passo, e proporrò alcuni semplicissimi sketch per il controllo del robot, da questi potrete partire per migliorare ed espanderne le funzionalità.
L’obiettivo è come sempre quello di porre le basi di partenza, semplificare la fase di start up e permettere di avere un tutorial di partenza che potrete impiegare per i vostri scopi a scuola o con i vostri figli, quindi come sempre se questo breve percorso vi soddisferà copiate ed incollate 🙂

Da dove partire?

Prendo in analisi il Robot Beginner KIT V2 – ARDUINO UNO REV3, che mi è stato gentilmente donato da ROBOT DOMESTICI che ringrazio a nome mio e dei miei studenti. Per chi desiderasse acquistarlo, partendo da questo sito, potrà ottenere uno sconto del 5% sul prezzo indicato sul sito utilizzando il codice di sconto: CC-RD-16.

Quindi grazie a ROBOT DOMESTICI che mi ha permesso di aggiungere alla dotazione del laboratorio scolastico un nuovo sussidio didattico.

Il kit che vi segnalo è probabilmente tra i più diffusi a livello didattico, io stesso iniziai a pensare ai miei robot stampati in 3D osservando con attenzione questo kit, caratterizzato dalla semplicità del montaggio e dalla versatilità, infatti permette di aggiungere, secondo le esigenze, ulteriori dispositivi elettronici in modo molto semplice. Sul sito di ROBOT DOMESTICI troverete manuali ben dettagliati (in lingua italiana)  che mostrano le fasi costruttive e sketch di esempio, il tutto potrà essere realizzato in circa 1 ora di lavoro.

Il montaggio non richiede l’acquisto di ulteriori parti, tutto è incluso, addirittura il cacciavite a stella per il montaggio meccanico.

Cosa include il kit

01-Robot-Beginner-KIT-V2

02-Robot-Beginner-KIT-V2

Continua a leggere