/* Projet Compte-Temps interactif avec Processing Matériel : Arduino UNO + Bouton Poussoir + LED(& sa résistance) Quand on appuie sur le bouton le compteur à l'écran s'arrête ! v1 : utilisation du Serial pour parler à Processing donc halte aux grands messages */ // Cablage const int btnPin = A0; // bouton poussoir 6 pattes : 4 fonctionnent, c'est le même côté qui est mis en relation ! (1 sur gnd et 1 sur A0) const int ledPin = 8; // on envoie du courant sur l'anode via le pin 8 //Variables int btnVal = 0; bool btnEtat = false; bool OldbtnEtat = false; bool ledEtat = LOW; void setup() { //Init Serial USB Serial.begin(9600); //// Serial.println(F("Coucou c'est le début")); //Init btn avec une résistance interne pour éviter les fronts pinMode(btnPin, INPUT_PULLUP); // init Led pinMode(ledPin, OUTPUT); } void loop() { testBtn(); } void testBtn() { ////Read pushbutton btnVal = analogRead(btnPin); //// Serial.print(btnVal); //// Serial.print(F("-->")); if (btnVal < 200) { btnEtat = true; //// Serial.println(F("Bouton Appuyé")); // alors on envoie une info au serial Serial.println("btnA"); } else { btnEtat = false; //// Serial.println(F("Bouton relâché")); Serial.println("btnR"); } // si l'tat du bouton a changé if (OldbtnEtat != btnEtat) { //// Serial.println(F("Bouton change")); // ET si l'etat actuel est pressé if (btnEtat == true) { // alors on change la variable état de led ledEtat =! ledEtat; //// Serial.println( ledEtat ); // et on actionne la led en fonction digitalWrite(ledPin,ledEtat); } } OldbtnEtat = btnEtat; // delay(800); }