[size=2][font=Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif]Hi,[/font]
[font=Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif][/font]
[font=Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif]I have a DC motor connected to an Arduino board motorshield. I would like to control the motor’s speed with a potentiometer. I wrote a code and for now the potentiometer switches on the motor but does not solve its speed gradually. Can you help me?[/font]
[font=Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif][/font]
[font=Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif]Thank you,[/font]
[font=Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif][/font]
[/size][code]const byte PIN_VITESSE_MOTEUR_A = 3;
const byte PIN_SENS_MOTEUR_A = 12;
const byte PIN_FREIN_MOTEUR_A = 9;
// la valeur entre 0 et 1023 déduite de la position du potentiomètre
int sensorValue=0;
// la valeur entre 0 et 255 que l’on va utiliser pour régler la vitesse du moteur
int outputValue=0;
void setup() {
Serial.begin(115200);
pinMode(PIN_VITESSE_MOTEUR_A, OUTPUT);
digitalWrite(PIN_VITESSE_MOTEUR_A, LOW);
pinMode(PIN_SENS_MOTEUR_A, OUTPUT);
digitalWrite(PIN_SENS_MOTEUR_A, LOW);
}
void loop() {
// lire la valeur en entrée de la Pin A0
sensorValue = analogRead(A4);
// conversion de la valeur sensorvalue (qui va de 0 à 1023)
// en une valeur entre 0 et 255 outputvalue
outputValue = map(sensorValue, 0, 1023, 0, 255);
// outputvalue permet de controler la vitesse du moteur
digitalWrite(PIN_VITESSE_MOTEUR_A, outputValue);
digitalWrite(PIN_SENS_MOTEUR_A, HIGH);
delay(100);
}[/code]