Code potentiometer
This commit is contained in:
parent
addd364b61
commit
319dc1a04e
|
@ -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);
|
||||
|
||||
//Affiche la valeur du potentiomètre sur le moniteur série
|
||||
Serial.print("Potentiometre : "); Serial.println(Pot);
|
||||
|
||||
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);
|
||||
|
||||
// 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);
|
||||
|
||||
}
|
Loading…
Reference in a new issue