Ceci est une ancienne révision du document !
Nous avons utilisé “Blockly pour Picaxe” et le “Simulateur Picaxe” pour la maquette de porte automatisée afin de programmer et tester différents fonctionnements possibles.
Logiciels utiles pour la programmation PICAXE (Peuvent être utilisés à la maison)
Les contraintes de programmations sont rappelées au début de la fiche activité.
Acti 3 : Ouvrir/Fermer la porte avec les boutons
Une 1ère version du programme fonctionne de la manière suivante :
PROG-01 Mettre le moteur a l'arrêt PROG-02 Répéter indéfiniment PROG-03 Si Porte fermée PROG-04 Mettre le moteur à l'arrêt PROG-05 Si Porte ouverte PROG-06 Mettre le moteur à l'arrêt PROG-07 Si demande de fermeture PROG-08 Si porte non fermée PROG-09 Démarrer la fermeture PROG-10 Si demande ouverture PROG-11 Si porte non ouverte PROG-12 Démarrer ouverture
Éléments à tenir compte pour la programmation :
Acti 4-1 : Utiliser des sous programme/fonction et agir sur les LEDs
... PROG-09 Exécuter la fonction FERMER ... PROG-12 Exécuter la fonction OUVRIR OUVRIR OUVR-01 Allumer LED verte OUVR-02 Éteindre LED rouge OUVR-03 Démarrer ouverture FERMER FERM-01 Éteindre LED verte FERM-02 Allumer LED rouge FERM-03 Attendre 1000 ms FERM-04 Démarrer fermeture
Acti 4-2 : Utiliser une variable pour se rappeler d'un état
... FERM-05 Mettre ETAT à "Fermer" ... OUVR-04 Mettre ETAT à "Ouvrir" ... PROG-04a Mettre ETAT à "Fermée" ... PROG-06a Mettre ETAT à "Ouverte" ... PROG-13 Si barrière I/R franchie PROG-14 Si ETAT = "Fermer" PROG-15 Exécuter la fonction OUVRIR
Acti 4-3 : Créer une temporisation sans bloquer le programme
Nous voulons que sans appui sur le bouton de fermeture la porte se referme seule au bout d'un temps défini (5s pour les essais).
Attention, il ne faut pas bloquer le programme pendant la temporisation car on peut appuyer sur fermeture pour ne pas attendre la fin de celle ci.
PROG-01 Exécuter la fonction FERMER ... PROG-06a Si ETAT = "Ouvrir" PROG-09b Mettre variable ETAT à "Ouverte" PROG-09c Mettre variable TEMP à 5000 ms ... PROG-16 Si ETAT = "FERMER" PROG-17 Attendre 100 ms PROG-18 Diminuer TEMPO de 100 PROG-19 Si TEMPO = 0 PROG-20 Exécuter la fonction FERMER