Rieccomi qui,
qualche Mese fa avevo fatto vedere la Saga di Guerre Stellari (Quelle degli anni '80) a mia figlia di 7 anni... è stato amore a prima vista con C1P8 (il nome italiano di R2D2).
Poi ci sono state le pubblicità del Robottino Emiglio (ma in italiano i nomi si scrivono con "LI" e mai con "GLI"?! ) e giu pianti quando gli ho spiegato che erano "solo radiocomandati" che non erano come C1P8...
Da li mi sono messo a giocare con un vecchio chassis di un robot (Cybot) uscito a fascicoli con la DeAgostini (di cui avevo preso solo i primi 4 fascicoli...)
un Arduino Uno R3, ed un chip L293D acquistato in stock su Amazon.
Qui Sotto lo schema del Chip (L293)
Quindi Partendo da questo datasheet ed usando lo schema qui sotto
Sono riuscito a far muovere il tutto alimentandolo con un PowerBank da cellulare.
il Programma usato è stato:
// Motore A #define enable1Pin 11 #define in1Pin 10 #define in2Pin 9 //Motore B #define enable2Pin 6 #define in3Pin 7 #define in4Pin 8 boolean reverse = false; void setup() { // Motore A pinMode(in1Pin, OUTPUT); pinMode(in2Pin, OUTPUT); pinMode(enable1Pin, OUTPUT); // Motore B pinMode(in3Pin, OUTPUT); pinMode(in4Pin, OUTPUT); pinMode(enable2Pin, OUTPUT); } void loop() { setMotorA(0, true); setMotorB(0, true); delay(1000); delay(1000); setMotorA(128, true); setMotorB(128, true); delay(1000); setMotorA(255, true); //setMotorB(128, true); delay(1000); setMotorA(128, true); setMotorB(255, true); delay(1000); } void setMotorA(int speed, boolean reverse) { analogWrite(enable1Pin, speed); digitalWrite(in1Pin, ! reverse); digitalWrite(in2Pin, reverse); } void setMotorB(int speed, boolean reverse) { analogWrite(enable2Pin, speed); digitalWrite(in3Pin, ! reverse); digitalWrite(in4Pin, reverse); }et Voila, un "percorso" da 5 secondi... :D
Nessun commento:
Posta un commento