Code potentiometer

This commit is contained in:
boutrie.eytan 2023-06-28 11:24:21 +02:00
parent addd364b61
commit 319dc1a04e

View file

@ -1,49 +1,44 @@
const int stepPin = 14;
int Pot; //Initialise la variable qui va recueillir la valeur du potentiomètre
const int dirPin = 12;
// Moteur branché sur l'interface 3
int Moteur = 17;
int customDelay,customDelayMapped; // Defines variables
// Valeur pour le moteur (varie entre 0 et 255)
int Valeur_Moteur;
void setup() {
// Sets the two pins as Outputs
Serial.begin(115200);
pinMode(stepPin,OUTPUT);
pinMode(dirPin,OUTPUT);
digitalWrite(dirPin,HIGH); //Enables the motor to move in a particular direction
Serial.begin(9600); //Initialise la communication entre le PC et Arduino
pinMode(Moteur, OUTPUT);
}
void loop() {
//Lire la valeur du potentiomètre
Pot = analogRead(6);
customDelayMapped = speedUp(); // Gets custom delay values from the custom speedUp function
// Makes pules with custom delay, depending on the Potentiometer, from which the speed of the motor depends
digitalWrite(stepPin, HIGH);
delayMicroseconds(customDelayMapped);
digitalWrite(stepPin, LOW);
delayMicroseconds(customDelayMapped);
Serial.println(customDelayMapped);
//Affiche la valeur du potentiomètre sur le moniteur série
Serial.print("Potentiometre : "); Serial.println(Pot);
// Valeur min du potentiometre
if (Pot < 1)
{
Pot = 0;
}
// Valeur max du potentiometre
if (Pot > 8190)
{
Pot = 8191;
}
// Function for reading the Potentiometer
//Definir la valeur à envoyer au moteur : 184 => 0 et 873 => 255)
Valeur_Moteur = map(Pot, 0, 8191, 0, 255);
int speedUp() {
Serial.print("Moteur : "); Serial.println(Valeur_Moteur); //Affiche la valeur du potentiomètre sur le moniteur série
int customDelay = analogRead(6); // Reads the potentiometer
int newCustom = map(customDelay, 0, 8191, 300,3000); // Convrests the read values of the potentiometer from 0 to 1023 into desireded delay values (300 to 4000)
// Envoie de la valeur de sortie au moteur
analogWrite(Moteur, Valeur_Moteur);
return newCustom;
delay(200);
}