ed ecco il mio primo topic,sto lavorando a comandare un servo e un motore dc insieme.i movimenti sono abbastanza basilari,il servo compie una rotazione di 90°,il motore fa avanzare il piccolo robot,il servo torna nella posizione iniziale e il motore invertendo la marcia grazie all'l293d lo fa tornare dove era prima.ho già dimistichezza con entrambe le modalità di sketch,il problema è che quando avvio uno sketch che implementa entranbi i comandi si muove solo il servo,mentre degli impulsi per il motore non se ne ha traccia.qualcuno può aiutarmi?
questo è lo sketch:
const int motor1Pin = 3;
const int motor2Pin = 4;
const int enablePin = 5;
#include <Servo.h>
Servo myservo;
void setup()
{
pinMode(motor1Pin, OUTPUT);
pinMode(motor2Pin, OUTPUT);
pinMode(enablePin, OUTPUT);
myservo.attach(8);
Serial.begin(9600);
}
void loop()
{
myservo.write(90);
delay(2000);
{
analogWrite (enablePin,0);
digitalWrite (motor1Pin,LOW);
digitalWrite (motor2Pin,LOW);
analogWrite (enablePin,250);
digitalWrite (motor1Pin,LOW);
digitalWrite (motor2Pin,HIGH);
analogWrite (enablePin,0);
digitalWrite (motor1Pin,LOW);
digitalWrite (motor2Pin,LOW);
}
myservo.write(0);
delay(2000);
{
analogWrite (enablePin,0);
digitalWrite (motor1Pin,LOW);
digitalWrite (motor2Pin,LOW);
analogWrite (enablePin,250);
digitalWrite (motor1Pin,HIGH);
digitalWrite (motor2Pin,LOW);
analogWrite (enablePin,0);
digitalWrite (motor1Pin,LOW);
digitalWrite (motor2Pin,LOW);
delay(2000);
}
}
perché piloti il motore per qualche µS.
analogWrite (enablePin,0);
digitalWrite (motor1Pin,LOW);
digitalWrite (motor2Pin,LOW);
analogWrite (enablePin,250);
digitalWrite (motor1Pin,HIGH);
digitalWrite (motor2Pin,LOW);
analogWrite (enablePin,0);
digitalWrite (motor1Pin,LOW);
digitalWrite (motor2Pin,LOW);
spegni
poi fai andare
e poi subito rispegni.
Devi mettere un delay dopo
analogWrite (enablePin,250);
digitalWrite (motor1Pin,HIGH);
digitalWrite (motor2Pin,LOW);
Ciao Uwe