Kidule Ascenseur/Tester le hardware

Début de la boite de navigation du chapitre

Avant de commencer de faire un vrai programme pour l'ascenseur, il est bon de faire un petit programme de test qui vérifie que toutes les déclarations que l’on a faites sont correctes et correspondent bien au hardware que l’on a.

Tester le hardware
Icône de la faculté
Chapitre no 2
Leçon : Kidule Ascenseur
Chap. préc. :Initialiser le Hardware
Chap. suiv. :Faire le programme Ascenseur
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Kidule Ascenseur : Tester le hardware
Kidule Ascenseur/Tester le hardware
 », n'a pu être restituée correctement ci-dessus.

Pour tester le Hardware, voici un petit programme simple qui fait les choses suivantes:

  • allume successivement les Leds 0 à 7 du Kidule Dé.
  • puis si on presse sur le poussoir du Kidule dé, allume toutes les LEDs (qui se feront par la suite éteindre par le premier point)
  • si on presse sur le Bouton du 1er sur le Kidule ascenseur, on entre dans un mode où le bouton du 2eme fait monter et le bouton du Rez fait descendre. Les LEDs 0 à 2 du Kidule Dé reflètent l'état des switchs de l'ascenseur
#include "hardwareAsc.h"

void wait()
{
   long i;
   for (i=0;i<500000;i++) {
   
   }
}

void TestHard()
{
   Led0=Allume;   
   wait();
   Led0=Eteint;
   Led1=Allume;   
   wait();
   Led1=Eteint;
   Led2=Allume;   
   wait();
   Led2=Eteint;
   Led3=Allume;   
   wait();
   Led3=Eteint;
   Led4=Allume;
   wait();
   Led4=Eteint;
   Led5=Allume;
   wait();
   Led5=Eteint;
   Led6=Allume;
   wait();
   Led6=Eteint;
   if (Poussoir==Presse){
     Led0=Allume;
     Led1=Allume;
     Led2=Allume;
     Led3=Allume;
     Led4=Allume;
     Led5=Allume;
     Led6=Allume;
     wait();
   }
   if (Bouton1er==Presse){
     while (TRUE) {
       if (Bouton2eme==Presse) Monter=1;    else Monter=0;
       if (BoutonRez ==Presse) Descendre=1; else Descendre=0;
       if (Switch2eme==Presse) Led5=Allume; else Led5=Eteint; 
       if (Switch1er==Presse)  Led4=Allume; else Led4=Eteint;
       if (SwitchRez==Presse)  Led3=Allume; else Led3=Eteint;
     }
   }
}

void loop ()
{
   TestHard();  
}


Le but ici est simplement de perdre du temps pour qu'on ait le temps de voir les LED s'allumer une à une; donc on ne fait rien entre les { }


Dans notre cas, la condition est le mot TRUE (=vrai en anglais); cette condition est toujours vraie et on s'arrêtera jamais de faire ces dernières instructions

Exercice pratique

modifier
  1. Lancez le programme et laisser une fois clignoter toutes les LED.
  2. Pressez sur le Poussoir du kidule Dé jusqu'à ce que toutes les LED s'allument.
  3. Ensuite Pressez sur le bouton du 1er jusqu'à ce que que plus aucune LED du Kidule Dé ne soit allumées.
  4. Jouez en pressant le le bouton 2eme et Bouton 1er. Qu’est ce qu’il se passe si on presse sur un Bouton puis sur les deux?