Luigi è un appassionato arduino e motori che mi ha inviato il suo progetto perché potessi condividerlo con altri appassionati come lui.
Trovo il lavoro di Luigi un capolavoro di modellismo e non solo.
Luigi si è presentato come appassionato di motori fin da tenera età e di modellismo oltre alla sua passione per il legno e la voglia di realizzare oggetti che siano belli esteticamente e funzionanti.
Quando mi ha mostrato le prime foto del suo motore a scoppio in legno mi ha subito colpito per la grande precisione nella realizzazione e le finiture che evidenziano non solo grande passione ma sopratutto, a mio avviso, grande competenza delle parti meccaniche.
Ho chiesto a Luigi alcune foto dei particolari e mi ha inviato degli approfondimenti di parti realizzate prima dell’assemblaggio come l’albero motore:
o lo spinterogeno:
per finire con il particolare dell’albero a camme:
Il motore a scoppio in legno
Non nascondo che ricevuta l’email di Luigi mi sono fermato un attimo nel leggere “motore a scoppio in legno” in quanto è un ossimoro meccanico se così posso definirlo.
Il titolo è provocatorio almeno quanto reale in quanto il progetto realizzato da Luigi è realmente un motore a scoppio ma del tipo “opera d’arte” in quanto riproduce in modo fedele un motore a scoppio per auto ma chiaramente non puoi utilizzarlo.
La parte per la quale Luigi ha deciso di condividere il suo progetto sul mio blog riguarda l’uso di arduino per controllare un motore passo passo che usa nella sua opera per simulare il vero e proprio movimento meccanico.
Per controllare il motore passo-passo ha deciso di utilizzare un driver basato su L298N:
non trovo sia la scelta migliore per controllare un motore passo-passo ed ho condiviso questa mia idea anche con Luigi, tuttavia in questa specifica funzione posso dire che svolge in modo egregio il suo dovere.
Lo sketch del motore a scoppio in legno con arduino
Ti posto lo sketch che Luigi ha realizzato:
int ledPin1 = 13; int delayTime = 2; void setup() { //ai pin 2-3-4-5 sono configurate le quattro fasi motore pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(13, OUTPUT); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(13, HIGH); } //=============================================== void loop() { digitalWrite(13, HIGH); //LUCI COPPA //prima fase digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); delay(delayTime); //seconda fase digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, HIGH); digitalWrite(5, LOW); delay(delayTime); //terza fase digitalWrite(2, LOW); digitalWrite(3, HIGH); digitalWrite(4, LOW); digitalWrite(5, LOW); delay(delayTime); //quarta fase digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, HIGH); delay(delayTime); }
commentando a partire dalle prime linee 01-02: definisci il pin a cui hai connesso il led ( 13 ) e la variabile delayTime;
linee 07-11: definisci i pin da 2 a 5 ed il pin 13 in modalità OUTPUT;
linee 15-18: imposta a LOW i pin da 2 a 5;
linea 19: imposta HIGH il pin 13;
linea 26: la prima operazione eseguita dal loop() è confermare HIGH il valore del pin 13;
linee 29-32: fa eseguire al motore la prima fase, come descritto anche nel commento dello sketch, in pratica il motore passo passo compie uno spostamento di un passo;
linea 33: attendi un tempo pari a delayTime impostato alla linea 02;
linee 36-57: esegui le medesime operazioni per le fasi successive del motore passo-passo in modo da garantirne la rotazione;
Il video del motore a scoppio
Lo sketch e la mia descrizione penso non rendano giustizia allo splendido lavoro eseguito da Luigi e per fortuna ha realizzato uno splendido video:
Buona visone !!!
2 commenti
complimenti è un lavoro fantastico
ciao Christian
Complimenti, mi piace