Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
electronique:arduino:minuterie-pour-lampe-de-chevet [2020/04/17 20:31] – ↷ Page déplacée et renommée de electronique:arduino:projets:minuterie_pour_lampe_de_chevet à electronique:arduino:minuterie-pour-lampe-de-chevet jside | electronique:arduino:minuterie-pour-lampe-de-chevet [2020/08/05 20:02] (Version actuelle) – Cédric ABONNEL | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Minuterie pour lampe de chevet ====== | ||
+ | |||
+ | J'ai créé cette minuterie pour ceux qui lisent au lit et qui s' | ||
+ | |||
+ | Son fonctionnement est très simple : par un appui sur le bouton, la minuterie est activée et la lampe s' | ||
+ | Cette minuterie permet, en plus de ne pas dormir avec la lumière allumée, ce qui de l'avis de certains n'est pas très bon pour la qualité du sommeil, de réaliser des économies d' | ||
+ | |||
+ | |||
+ | ====== Schéma ====== | ||
+ | |||
+ | A venir | ||
+ | |||
+ | |||
+ | ====== Code ====== | ||
+ | |||
+ | |||
+ | <code C button-action.ino> | ||
+ | // | ||
+ | //Turns on and off a LED ,when pressings button attach to pin12 | ||
+ | // | ||
+ | // | ||
+ | / | ||
+ | const int keyPin = 13; //the number of the key pin | ||
+ | const int ledPin = 12;//the number of the led pin | ||
+ | int etatRelay = LOW; | ||
+ | const int tempsAllumage = 6; //secondes | ||
+ | int tempsAllumage_cours = 0; //temps en cours | ||
+ | / | ||
+ | void setup() | ||
+ | { | ||
+ | pinMode(keyPin, | ||
+ | pinMode(ledPin, | ||
+ | Serial.begin(9600); | ||
+ | | ||
+ | } | ||
+ | / | ||
+ | void loop() { | ||
+ | |||
+ | int etatButton = digitalRead(keyPin); | ||
+ | |||
+ | |||
+ | if(etatButton == HIGH ) { | ||
+ | // Action quand on appuie sur le bouton | ||
+ | etatRelay = !etatRelay; //actionner le relais | ||
+ | digitalWrite(ledPin, | ||
+ | delay(1000); | ||
+ | tempsAllumage_cours = 0; // reintialiser le compteur | ||
+ | } | ||
+ | |||
+ | if (etatRelay == HIGH) { | ||
+ | // Action si le relais est collé | ||
+ | if (tempsAllumage - tempsAllumage_cours <= 0) { | ||
+ | // Si le temps est écoulé | ||
+ | etatRelay = LOW; // Eteindre le relais | ||
+ | digitalWrite(ledPin, | ||
+ | delay(1000); | ||
+ | } else { | ||
+ | // Si le temps n'est pas écoulé | ||
+ | tempsAllumage_cours++; | ||
+ | delay(1000); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // Afficher les status sur le port Serie | ||
+ | // Serial.print(etatRelay); | ||
+ | // Serial.print(" | ||
+ | // Serial.println(tempsAllumage - tempsAllumage_cours); | ||
+ | | ||
+ | } | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ====== Liens ====== | ||
+ | |||
+ | Je me suis honteusement inspiré de l' | ||