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() {
|
void setup() {
|
||||||
|
|
||||||
// Sets the two pins as Outputs
|
Serial.begin(9600); //Initialise la communication entre le PC et Arduino
|
||||||
|
pinMode(Moteur, OUTPUT);
|
||||||
Serial.begin(115200);
|
|
||||||
|
|
||||||
pinMode(stepPin,OUTPUT);
|
|
||||||
|
|
||||||
pinMode(dirPin,OUTPUT);
|
|
||||||
|
|
||||||
digitalWrite(dirPin,HIGH); //Enables the motor to move in a particular direction
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
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
|
// Valeur min du potentiometre
|
||||||
// Makes pules with custom delay, depending on the Potentiometer, from which the speed of the motor depends
|
if (Pot < 1)
|
||||||
|
{
|
||||||
digitalWrite(stepPin, HIGH);
|
Pot = 0;
|
||||||
|
}
|
||||||
delayMicroseconds(customDelayMapped);
|
// Valeur max du potentiometre
|
||||||
|
if (Pot > 8190)
|
||||||
digitalWrite(stepPin, LOW);
|
{
|
||||||
|
Pot = 8191;
|
||||||
delayMicroseconds(customDelayMapped);
|
|
||||||
|
|
||||||
Serial.println(customDelayMapped);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 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
|
// Envoie de la valeur de sortie au moteur
|
||||||
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)
|
analogWrite(Moteur, Valeur_Moteur);
|
||||||
|
|
||||||
return newCustom;
|
delay(200);
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue