Differenze tra le versioni di "Milkbot"

Da raspibo.
Jump to navigation Jump to search
(Parte iniziale del tutorial sul milkbot)
(Convertita sintassi markdown a sintassi mediawiki)
Riga 3: Riga 3:
  
 
APS, per gli amici MilkBot è un piccolo robot da costruire utilizzando, per
 
APS, per gli amici MilkBot è un piccolo robot da costruire utilizzando, per
quanto possibile, materiali di riciclo e da animare utilizzando [Scratch 4
+
quanto possibile, materiali di riciclo e da animare utilizzando [http://s4a.cat Scratch 4
Arduino](http://s4a.cat) (S4A), un fork di [Scratch](http://scratch.mit.edu),
+
Arduino] (S4A), un fork di [http://scratch.mit.edu Scratch],
 
1.4 che mette a disposizione alcuni blocchi aggiuntivi per pilotare e leggere
 
1.4 che mette a disposizione alcuni blocchi aggiuntivi per pilotare e leggere
 
ingressi ed uscite di una scheda arduino basata su microcontrollore Atmel 328p.
 
ingressi ed uscite di una scheda arduino basata su microcontrollore Atmel 328p.
Riga 10: Riga 10:
 
[[File:milkbot_parts.png]]
 
[[File:milkbot_parts.png]]
  
     __NOTA:__ Ad oggi non è possibile utilizzare Arduino Leonardo perché non
+
     '''NOTA:''' Ad oggi non è possibile utilizzare Arduino Leonardo perché non
 
     dispone di un secondo clock necessario per la gestione del protocollo di
 
     dispone di un secondo clock necessario per la gestione del protocollo di
 
     comunicazione tra il robot e il programma di controllo.
 
     comunicazione tra il robot e il programma di controllo.
Riga 57: Riga 57:
 
Dopo essersi procurati tutto il materiale, almeno quello base, bisogna
 
Dopo essersi procurati tutto il materiale, almeno quello base, bisogna
 
utilizzare il latte/succo/contenuto della scatola, lavare ed asciugare
 
utilizzare il latte/succo/contenuto della scatola, lavare ed asciugare
accuratamente il tetrapack. Il mio consiglio è di farlo _prima_ di
+
accuratamente il tetrapack. Il mio consiglio è di farlo ''prima'' di
 
sagomare il telaio in modo da non bagnare il cartone compresso tra i due
 
sagomare il telaio in modo da non bagnare il cartone compresso tra i due
 
fogli di materiale impermeabile del tetrapack.
 
fogli di materiale impermeabile del tetrapack.
  
E\' possibile optare per un modello scoperto, come la prima versione del
+
E' possibile optare per un modello scoperto, come la prima versione del
 
milkbot, [[milkbot_1.0-img.png]] oppure, come nel video in fondo, ricavare
 
milkbot, [[milkbot_1.0-img.png]] oppure, come nel video in fondo, ricavare
 
uno sportello da richiudere in cui inserire l'elettronica di controllo ed
 
uno sportello da richiudere in cui inserire l'elettronica di controllo ed
Riga 78: Riga 78:
 
e del caster.
 
e del caster.
  
Cos'è un _caster_? Nei robot che hanno tre punti d'appoggio si usano due ruote
+
Cos'è un ''caster''? Nei robot che hanno tre punti d'appoggio si usano due ruote
 
più una sfera (il caster). La direzione del movimento si determina variando il
 
più una sfera (il caster). La direzione del movimento si determina variando il
 
verso e la velocità delle due ruote senza doversi preoccuare di direzionare la
 
verso e la velocità delle due ruote senza doversi preoccuare di direzionare la
Riga 153: Riga 153:
 
==Varianti==
 
==Varianti==
  
E\' possibile creare un carrello porta caramelle, sostituendo il contenitore
+
E' possibile creare un carrello porta caramelle, sostituendo il contenitore del latte con un vassoio in polistirolo per la carne o per la frutta.
del latte con un vassoio in polistirolo per la carne o per la frutta.
 

Versione delle 10:37, 7 dic 2013

MilkBot

Ricetta per la costruzione di un Automa Parziamente Scremato

APS, per gli amici MilkBot è un piccolo robot da costruire utilizzando, per quanto possibile, materiali di riciclo e da animare utilizzando [http://s4a.cat Scratch 4 Arduino] (S4A), un fork di Scratch, 1.4 che mette a disposizione alcuni blocchi aggiuntivi per pilotare e leggere ingressi ed uscite di una scheda arduino basata su microcontrollore Atmel 328p.

Milkbot parts.png

   NOTA: Ad oggi non è possibile utilizzare Arduino Leonardo perché non
   dispone di un secondo clock necessario per la gestione del protocollo di
   comunicazione tra il robot e il programma di controllo.

Abbiamo pensato di evitare l'uso di strumenti come un saldatore per limitare la possibilità di incidenti durante l'assemblaggio dei componenti.

La lista della spesa

- Un litro di latte o, in alternativa di succo di frutto in tetrapack;
- qualche pezzo di nastro biadesivo;
- del Nastro adesivo (io preferisco il nastro carta che permette di
  riutilizzare i componenti per un nuovo progetto quando questo diventerà
  obsoleto);
- due motori servo a rotazione continua, detti anche servo360;
- una mini breadboard, in alternatica un paio di mammuth che si
  possono reperire più facilmente oppure, per chi è autarchico, della
  plastilina conduttiva.
- una pallina da ping pong
- due ruote da modellismo
- qualche fascetta per chiudere le buste per surgelare
- un cavo USB di tipo AB (quelli usati per connettere le stampanti).
- un porta batterie per 4 stilo di tipo AA
- cavetteria varia
- arduino uno/2009/mega (in ordine di preferenza) o compatibile


Chi volesse esagerare può anche procurarsi

- Un tappo addizionale come base per la pallina da ping pong
- un modulo di trasmissione dati bluetooth o wifi per far a meno
  del cavo di comunicazione mentre si impartiscono i comandi al robot
- uno o più connettori per batteria da 9v
- un sensore di distanza a infrarossi o ultrasuoni
- un buzzer da pc (per il clackson)
- qualche led per gli indicatori di direzione, i fari/stop, o status

Consumabili

- 4 batterie stilo di tipo AA (meglio se ricaricabili)
- 1 batteria da 9v (ricaricabile è meglio) [opzionale]
- Stoffa, cartone, carta, tempere e colori per decorare il robot.

Cominciamo a costruire

Dopo essersi procurati tutto il materiale, almeno quello base, bisogna utilizzare il latte/succo/contenuto della scatola, lavare ed asciugare accuratamente il tetrapack. Il mio consiglio è di farlo prima di sagomare il telaio in modo da non bagnare il cartone compresso tra i due fogli di materiale impermeabile del tetrapack.

E' possibile optare per un modello scoperto, come la prima versione del milkbot, milkbot_1.0-img.png oppure, come nel video in fondo, ricavare uno sportello da richiudere in cui inserire l'elettronica di controllo ed avere un risultato più pulito.

Una volta aperto un varco verso l'interno del telaio bisogna assicurarsi che l'interno sia effettivamente asciutto.

   Annotate un commento sul livello di paranoia su questo aspetto della
   preparazione e seguitela scrupolosamente perché si tratta di uno dei punti
   più critici della costruzione. Acqua ed elettronica non sono molto
   compatibili.

Ribaltiamo il telaio e tracciamo con un pennarello una linea lungo l'asse longitudinale (per lungo) del telaio per aiutarci nel posizionamento dei motori e del caster.

Cos'è un caster? Nei robot che hanno tre punti d'appoggio si usano due ruote più una sfera (il caster). La direzione del movimento si determina variando il verso e la velocità delle due ruote senza doversi preoccuare di direzionare la terza che, essendo una palla, ruoterà sempre.

Applichiamo un pezzo di nastro biadesivo sul tappo della confezione del latte ed incolliamolo sul fondo del robot sull'asse mediano che avevamo tracciato poco prima. Io solitamente lo attacco a circa tre dita dal bordo anteriore del cartone. Siete ovviamnete liberi di scegliere una posizione più adatta, visto che il mio criterio di scelta è stato assolutamente empirico: la prima volta che abbiamo assemblato il robot l'abbiamo posizionato così e, visto che funzionava, non ne ho più modificato la posizione.

Sempre lungo l'asse pratichiamo un foro abbastanza grande per far passare i cavi che serviranno a pilotare i motori.

Ad un paio di centrimetri dal retro applichiamo una striscia di nastro biadesivo, magari due, e posizioniamo i motori. Questi ultimi vanno posizionati specularmente rispetto all'asse facendo molta attenzione a che siano dritti. Io uso un pezzo delle costruzioni dei miei figli per assiicurarmi che siano quanto più possibile in asse e procedo ad incollare il tutto. Uso qualche strappo di nastro carta per assicurarmi una tenuta sicura senza dover passare troppo tempo a togliere residui di colla dai motori in caso debba riutilizzare i pezzi del robot per qualche altra cosa.

A dire il vero questa è una possibilità ancora teorica visto che fino ad adesso non ho apportato modifiche alla struttura.

Facciamo passare i cavi dall'esterno all'interno del robot e fissiamoli con un altro pezzo di nastro carta per impedire che penzolino e vadano a dar fastidio alle ruote durante la marcia.

Se avete le ruote e la palla da ping pong l'esterno della versione base è pronto. Non ci resta che creare i collegamenti e cominciare a sperimentare.

Prima, però, abbiamo bisogno di qualche minuscola base teorica su S4A.

Arduino e Scratch

Per poter assicurare una certa semplicità di utilizzo Scratch 4 Arduino è dovuto scendere a compromessi che ne limitano la flessibilità e quindi alcune delle nostre scelte progettuali sono obbligate, a cominciare dalla scelta dei motori, dal loro posizionamento e dal loro utilizzo.

In particolare S4A riserva i pin digitali 4 e 7 ai motori usati per la propulsione ed il pin 8 a quello per un motore che permette di brandeggiare un eventuale motore aggiuntivo. Per ora noi non sfrutteremo quest'ultima possibilità ma non potremo in ogni caso utilizzare quel pin. A questi pin sono dedicati degli appositi blocchi in S4A, gli altri potranno essere pilotati attraverso dei blocchi generici. Potremmo approfondire parecchio questo argomento e non ne mancherà l'occasione, per ora restiamo sul vago e finiamo di allestire il nostro automa.

I Motori

I motori che utilizziamo per far muovere il robot sono due servomotori a rotazione continua. Solitamente i servomotori hanno una escursione limitata a circa 180 gradi sessagesimali (era tanto che non scrivevo o pronunciavo questa parola, mi sembra di ritornare bambino :) ) i nostri invece, per questo è più difficile procurarseli, sono capaci di effettuare una rotazione completa e questo li rende adatti a far girare delle ruote. Per pilotare questi motori arduino deve inviare loro una serie di impulsi che dicono al motore in che direzione ed a che velocità muoversi. Sto semplificando moltissimo ma S4A fa ancora di più. Per quest'ultimo un motore può avere solo tre configurazioni: Avanti tutta, Indietro tutta e Fermo o, per dirla con i termini che troverete sui blocchi Clockwise, Anticlockwise e Stop.

Il connettore del motore comprende tre cavi: Positivo, Massa e Segnale. Quest'ultimo viene usato per inviare i comandi sotto forma di impulsi elettrici al motore, gli altri due per l'alimentazione. Ovviamente

Per dare i comandi al motore abbiamo bisogno di un cavo per far viaggiare gli impulsi ma sui connettore del motore ci sono tre fili,

Varianti

E' possibile creare un carrello porta caramelle, sostituendo il contenitore del latte con un vassoio in polistirolo per la carne o per la frutta.