electronique:arduino:minuterie-pour-lampe-de-chevet

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
electronique:arduino:minuterie-pour-lampe-de-chevet [2020/04/17 22:31] – ↷ Page déplacée et renommée de electronique:arduino:projets:minuterie_pour_lampe_de_chevet à electronique:arduino:minuterie-pour-lampe-de-chevet jsideelectronique:arduino:minuterie-pour-lampe-de-chevet [2020/08/05 22: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'endorment avec la lumière allumée ou les enfant qui ont peur du noir et réclame qu'on leur laisse un peu de lumière, autre qu'une veilleuse. Cette minuterie obéit au même principe que du "dispositif de l'homme mort".
 +
 +Son fonctionnement est très simple : par un appui sur le bouton, la minuterie est activée et la lampe s'allume. Après la durée pour laquelle elle a été réglée, la lampe s'éteint d'elle-même. Un appui prolongé permet, à tout moment, d'éteindre la lampe, ce qui évite, si l'on s'endort sur le bouton, que la lumière reste allumée toute la nuit.\\
 +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'énergie. D'une conception minimale et ingénieuse, elle s'appuie sur un micro contrôleur **Arduino**. Tout a été mis en œuvre pour en réduire le coût de fabrication : composants peu nombreux et faciles à trouver ou à recycler. Voilà.
 +
 +
 +====== Schéma ======
 +
 +A venir
 +
 +
 +====== Code ======
 +
 +
 +<code C button-action.ino>
 +//Controlling Led By Button
 +//Turns on and off a LED ,when pressings button attach to pin12
 +//Website:www.abonnel.fr
 +//2016.11.27.17.41
 +/**********************************/
 +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,INPUT);//initialize the key pin as input
 +pinMode(ledPin,OUTPUT);//initialize the led pin as output.
 +  Serial.begin(9600); // initialize serial communications at 9600 bps
 +  
 +}
 +/**********************************/
 +void loop() {
 +
 +int etatButton = digitalRead(keyPin);
 +
 +
 +  if(etatButton == HIGH ) {
 +    // Action quand on appuie sur le bouton
 +      etatRelay = !etatRelay; //actionner le relais
 +      digitalWrite(ledPin,etatRelay); //actionner la LED
 +      delay(1000); // attendre 1 sec
 +      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,etatRelay);//Eteindre la LED
 +      delay(1000); // Attendre 1 sec
 +    } else {
 +      // Si le temps n'est pas écoulé
 +      tempsAllumage_cours++;
 +      delay(1000); // attendre 1 sec
 +    }
 +  }
 +
 +// Afficher les status sur le port Serie
 +//  Serial.print(etatRelay);
 +//  Serial.print(" ");
 +//  Serial.println(tempsAllumage - tempsAllumage_cours);
 +  
 +}
 +/************************************/
 +</code>
 +
 +====== Liens ======
 +
 +Je me suis honteusement inspiré de l'introduction de l'article de [[http://www.berlioux.com/electronique/minuterie-hm/minuterie-hm-fr.html|Berlioux]] pour rédiger mon introduction. Pour ma défense, je dirai que j'ai fait du recyclage et l'optimisation.
  
  • electronique/arduino/minuterie-pour-lampe-de-chevet.txt
  • Dernière modification : 2020/08/05 22:02
  • de Cédric ABONNEL