Ceci est une ancienne révision du document !
Maquette de porte automatisée (Correction programmation PICAXE)
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.
Les contraintes de programmations sont rappelées au début de la fiche activité.
Acti 3 : Ouvrir/Fermer la porte avec les boutons
Acti 3 : Ouvrir/Fermer la porte avec les boutons
Une 1ère version du programme fonctionne de la manière suivante :
Le moteur [C] s'arrête automatiquement si la porte est entièrement ouverte ou fermée (sécurité pour les moteurs). L'information est fourni par les capteurs de fins de course [C.2= fermé ; C.3 = ouvert].
La porte s'ouvre ou se ferme si j'appuie sur le bouton correspondant et qu'elle n'est pas déjà ouverte ou fermée (sécurité pour les moteurs). L'information est fourni par les boutons [C.0= fermer ; C.1 = ouvrir].
01 Mettre le moteur a l'arrêt
02 Répéter indéfiniment
03 Si Porte fermée
04 Mettre le moteur à l'arrêt
05 Si demande de fermeture
06 Si porte non fermée
07 Démarrer la fermeture
08 Si Porte ouverte
09 Mettre le moteur à l'arrêt
10 Si demande ouverture
11 Si porte non ouverte
12 Démarrer ouverture
Cliquer sur le programme pour l'agrandir
Éléments à tenir compte pour la programmation :
Il faut configurer le PICAXE 28×1 dans Blockly (Paramètres - type de Picaxe)
Il est écrit que le moteur à utiliser est repéré C
La porte est fermée si elle appuie sur le fin de course C.2 (ouverte → C.3)
Je demande la fermeture en appuyant sur le bouton “Fermer” C.O (ouverture → C.1)
Il a été appris que appuyer = activé sinon c'est désactivé (ex. porte pas fermé = désactivé)
Il est écrit que si le moteur avance, il ferme la porte (reculer → ouvrir)
Acti 4-1 : Utiliser des sous programme/fonction et agir sur les LEDs
Acti 4-1 : Utiliser des sous programme/fonction et agir sur les LEDs
J'utilise des procédures pour les parties de programme “OUVRIR” et “FERMER”.
J'allume la led verte lorsque j'ouvre la porte et la rouge lorsque je la ferme.
J'attends une seconde entre la led rouge et la fermeture.
OUVRIR
01 Allumer LED verte
02 Éteindre LED rouge
03 Démarrer ouverture
FERMER
01 Éteindre LED verte
02 Allumer LED rouge
03 Attendre 1000 ms
04 Démarrer fermeture
Cliquer sur le programme pour l'agrandir
Les actions “OUVRIR” et “FERMER” la porte sont re écrite en utilisant des procédures qui sont appelées dans le programme principal.
L'allumage des leds rouge [B.1] et verte [B.0] est ajouté dans les procédures. Il faut penser que si une les n'est pas allumée, elle doit être éteinte.
Acti 4-2 : Utiliser une variable pour se rappeler d'un état
Acti 4-2 : Utiliser une variable pour se rappeler d'un état
FERMER-05 Mettre ETAT à "Fermer"
OUVRIR-04 Mettre ETAT à "Ouvrir"
PROG-06a Mettre ETAT à "Fermée"
PROG-09a Mettre ETAT à "Ouverte"
PROG-16 Si barrière I/R franchie
PROG-17 Si ETAT = 3
PROG-18 Fonction Ouvrir la porte
Cliquer sur le programme pour l'agrandir
Je crée une variable ETAT qui prendra les valeurs : 0 Fermée ; 1 S'ouvre ; 2 Ouverte et 3 Se ferme.
Modifier le programme et les sous programmes pour tenir compte des différents états.
Ajouter dans le programme principal l'utilisation de la barrière infra rouge.
Acti 4-3 : Créer une temporisation
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.
Coup de pousse :
Je crée une variable TEMPO que j'initialise à 5000 ms (5s) lorsque la porte termine de s'ouvrir.
Si la porte est en position “Ouverte”, j'attends 100 ms et je diminue TEMPO d'autant.
Lorsque la TEMPO est ⇐ 0, je referme la porte comme si j'avais appuyé sur le bouton.