ho creato un programma su arduino che utilizza un motore e un potenziometro per farlo avviare ad una velocità graduale ed ho collegato anche dei servo motore che mi servono per simulare delle ruote(questo progetto riguarda una macchina telecomandata) solo che al minimo movimento del potenziometro scatta a massima di seguito il mio codice
#include <Servo.h>
Servo myservo1;
Servo myservo2;
int pos = 90;
int sinistra=4;
int destra=5;
int deviatore=6;
int motore=8;
int reset=7;
int orario=10;
int antiorario=9;
int x=0;
int y=0;
int verso=0;
int led=11;
void setup()
{
Serial.begin(9600);
myservo1.attach(2);
myservo2.attach(3);
pinMode(sinistra,INPUT);
pinMode(destra,INPUT);
pinMode(motore,OUTPUT);
pinMode(reset,INPUT);
pinMode(orario,OUTPUT);
pinMode(antiorario,OUTPUT);
digitalWrite(orario,HIGH);
digitalWrite(antiorario,LOW);
analogWrite(motore,0);
pinMode(led,OUTPUT);
}
void loop()
{
x=analogRead(A0);
y=map(x,0, 255, 0, 1023);
analogWrite(motore,y);
verso=digitalRead(deviatore);
if(verso==HIGH) {
analogWrite(orario,y);
}
else {
analogWrite(antiorario,y);
}
while(digitalRead(sinistra)==HIGH)
{
pos=pos+1;
myservo1.write(pos);
myservo2.write(pos);
delay(25);
}
while(digitalRead(destra)==HIGH)
{
pos=pos-1;
myservo1.write(pos);
myservo2.write(pos);
delay(25);
}
if(digitalRead(reset)==HIGH)
{
pos=90;
myservo1.write(pos);
myservo2.write(pos);
delay(250);
}
}
qualche idea su come risolverlo? Grazie in anticipo
ed ecco anche una copia del progetto fatto su tinkercad