Skip to content

Instantly share code, notes, and snippets.

@aclement30
Created December 19, 2018 22:49
Show Gist options
  • Save aclement30/546331a75b5c93a9473284c3c616f2f8 to your computer and use it in GitHub Desktop.
Save aclement30/546331a75b5c93a9473284c3c616f2f8 to your computer and use it in GitHub Desktop.
const int BUTTON_PIN = 10;
const int LED_PIN_PWM = 11;
const int LED_PIN_DIR = 12;
int buttonState = 0;
int step = 0;
bool reverse = false;
int speed = 0;
// Etape 0: avant - 0
// Etape 1: avant - 25
// Etape 2: avant - 50
// Etape 3: avant - 75
// Etape 4: avant - 100
// Etape 5: arriere - 0
// Etape 6: arriere - 25
// Etape 7: arriere - 50
// Etape 8: arriere - 75
// Etape 9: arriere - 100
void setup() {
pinMode(LED_PIN_PWM, OUTPUT);
pinMode(LED_PIN_DIR, OUTPUT);
analogWrite(LED_PIN_PWM, 0);
digitalWrite(LED_PIN_DIR, LOW);
pinMode(BUTTON_PIN, INPUT);
Serial.begin(9600);
Serial.println("Demarrage");
}
void loop {
buttonState = digitalRead(BUTTON_PIN);
if (buttonState == HIGH) {
step += 1;
if (step == 10) {
step = 0;
speed = -25;
}
Serial.print("Etape: ");
Serial.println(step);
if (step < 5) {
reverse = false;
} else {
reverse = true;
}
speed += 25;
if (step == 5) {
speed = 0;
}
Serial.print("Reverse: ");
Serial.println(reverse);
Serial.print("Vitesse (%): ");
Serial.println(speed);
}
if (speed > 100) {
speed = 100;
}
if (reverse) {
digitalWrite(LED_PIN_DIR, HIGH);
} else {
digitalWrite(LED_PIN_DIR, LOW);
}
analogWrite(LED_PIN_PWM, map(speed, 0, 100, 0, 255));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment