In questo articolo vi mostro come ho ridato vita a un vecchio giocattolo impiantandogli un nuovo cuore fatto da RaspberryPi 3.
Per prima cosa vediamo il risultato:
e questo è il video finale:
Hardware
L’hardware usato per questo progetto:
- Old motorized toy
- RaspberryPi 3 model b
- Lithium Battery Pack Expansion Board
- UltraSonic module hc-sr04
- L298 Dual H-Bridge Motor Driver (DC and Stepper Motors)
- Raspicam
- breadboard
- un po di fili per cablatura
Software
Il software sviluppato gira su un Raspbian 8 (jessie). Ho scelto di sviluppare in nodejs perché javascript è IL linguaggio del momento e nodejs è diventato molto popolare e soddisfacentemente veloce. Tutto questo è poi la mia palestra per imparare ES6. Nel repo github troverete due sottoprogetti:
- un sistema per pilotare manualmente il robot attraverso la tastiera
- un sistema di guida automatica che sfrutta il sonar. In questo progetto ho fatto uso dell’architettura event-driven degli eventEmitter qui ben documentati.
Installazione
git clone https://github.com/dynamick/phil05
cd phil05
sudo npm install
Per vedere in tempo reale i movimenti del robot ho usato motion un server di streaming della raspicam.
Uso
Per usare il robot in modalità manuale, lanciare il comando :
sudo npm run manual
… invece per l’autopilot, lanciare il comando:
sudo npm run autopilot
… oppure potete lanciare entrambi i comandi su console diverse per avere un sistema di guida ibrido.