Fermare servomotori ed iniziare un altro ciclo
salve gente! vi scrivo perché ho un problema e spero possiate aiutarmi risolverlo. allora io sto facendo il progetto di un robot (non se avete visto un mio post precedente). comunque riepilogando è uno scarafaggio che cammina, quando incontra un ostacolo torna indietro e si gira. io sono riuscito farlo camminare e farlo andare indietro. adesso devo farlo girare, come deve muoversi, ma non come scriverlo nel programma. per capirci meglio, inserisco l'ultima parte del programma che serve farlo indietreggiare e vi mostro dov'è il mio problema:
allora il robot così indietreggia. adesso io per far sì che il ragno giri devo fermare il motore1, lasciare il motore3.write(60), ma cambiare le posizioni da fare del motore2. praticamente la posizione che devo far assumere ad esso è:
non come fare per scriverlo nel programma, sapreste darmi una mano? per qualsiasi altra informazione, non esitate chiedere! grazie in anticipo!
code: [select]
#include <servo.h>
servo motore1;
servo motore2;
servo motore3;
int pos1 = 75;
int pos2 = 75;
int pos3 = 0;
void setup () {
motore1.attach(2);
motore2.attach(3);
motore3.attach(4);
pinmode(8,input);
}
void loop() {
if (digitalread(8)== high) { // se viene pressato il pulsante
motore3.write(140); // si alza la zampa centrale di sinistra
for (pos1= 20; pos1 <130; pos1+= 1) { // il motore porta le zampe di sinistra avanti, spingendo indietro il robot
motore1.write (pos1);
delay(10);
}
motore3.write(60); // si alza la zampa centrale di destra
(pos2= 150; pos2 >20; pos2-= 1) { // il motore porta le zampe di destra avanti, spingendo indietro il robot
motore2.write (pos2);
delay(10);
}}
allora il robot così indietreggia. adesso io per far sì che il ragno giri devo fermare il motore1, lasciare il motore3.write(60), ma cambiare le posizioni da fare del motore2. praticamente la posizione che devo far assumere ad esso è:
code: [select]
for (pos2= 50; pos2 <=150; pos2+= 1) {
motore2.write (pos2);
delay(5);
non come fare per scriverlo nel programma, sapreste darmi una mano? per qualsiasi altra informazione, non esitate chiedere! grazie in anticipo!
qualche commento nel listato aiuterebbe capire cosa corrispondono motori, cioè che funzione svolgono.
Arduino Forum > International > Italiano > Software (Moderator: leo72) > Fermare servomotori ed iniziare un altro ciclo
arduino
Comments
Post a Comment