Outils pour utilisateurs

Outils du site


cours:picaxe3

Ceci est une ancienne révision du document !


Maquette de porte automatisée (Programmation PICAXE)

Nous allons utiliser la maquette de porte automatisée afin de tester différents fonctionnements possibles.

Compétence(s)

  • CT 4.2 Appliquer les principes élémentaires de l’algorithmique et du codage à la résolution d’un problème simple.
  • CT 5.5 Modifier ou paramétrer le fonctionnement d’un objet communicant.

J’ai acquis la(les) compétence(s) si :

  • Je suis capable de modifier un algorithme de fonctionnement initial afin de répondre à un nouveau besoin
  • J'ai acquis les notions de variables, sous-programmes, temporisations/délais

Nous avons découvert la programmation des objets au travers d'activités simples les années précédentes. Nous allons aujourd'hui programmer un objet plus complexe avec plus de possibilité.

Logiciels pour la programmation PICAXE (Utilisables à la maison)

  • PICAXE BLOCKLY : programmation des microcontrôleurs PICAXE
  • Simulateur de maquette PICAXE : test des programmes

Programmation

Informations préalables

Maquette : Nom = Porte ; Dossier maquette virtuelle = Maquette/Activité2
Microcontrôleur : PICAXE28X1
Moteur : Les commandes avancer, reculer et arrêter seront produites par les broches B.4 et B.5 suivant la table de vérité suivante du “Pont en H”.

B.5 B.4 Commande Description
0 0 Arrêt Libre (Aucun effort appliqué sur le moteur
0 1 Ouvrir SAM (rotation sens des aiguilles d'une montre)
1 0 Fermer SIAM (rotation sens inverse des aiguilles d'une montre)
1 1 Arrêt Bloqué (Un effort empêche la rotation du moteur)
Nom Broche(s) Fonction
P28X1 Définir mes ordres en fonction des informations disponibles et du programme utilisé
Bouton fermer C.0 Demander la fermeture de la porte
Bouton ouvrir C.1 Demander l'ouverture de la porte
Bouton C.4 Demander une autres chose
Fin de course Fermé C.2 Indiquer que la porte est totalement fermée
Fin de course Ouvert C.3 Indiquer que la porte est totalement ouverte
Barrière infra rouge C.5 Indique une personne à proximité de la porte
Capteur de lumière A.0 Indique la luminosité ambiante (de 0 à 1023)
Voyant Vert B.0 Signale : Marche, Ouvert, Absence de danger …
Voyant Rouge B.1 Signale : Arrêt, Fermé, danger …
Buzzer B.2 Générer un signal audible
Contacteur ouverture B.4 * Commander le moteur dans le sens d'ouverture
Contacteur fermeture B.5 * Commander le moteur dans le sens de fermeture

Acti 1 : Ouvrir/Fermer la porte avec les boutons

Une 1ère version du programme fonctionne de la manière suivante :

  • Le moteur doit être arrêté si la porte est entièrement ouverte ou entièrement fermée. L'information (“ouverte” ou “fermée” est fourni par les capteurs de fins de course.
  • 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. Les informations sont fournies par les boutons (et les capteurs de fin de course).

Soit l'algorithme ou l'organigramme suivant :
Des commentaires qui ne sont pas à traduire peuvent figurer entre crochet.

[INITIALISATION]
[Condition de sécurité au démarrage]
01 Mettre le moteur a l'arrêt 

[BOUCLE PRINCIPALE]
02 Répéter indéfiniment

03     Si Porte fermée
04         Mettre le moteur à l'arrêt
05     Sinon 
06         Si demande de fermeture
07             Démarrer la fermeture

08     Si Porte ouverte
09         Mettre le moteur à l'arrêt
10     Sinon
11         Si demande ouverture
12             Démarrer ouverture
.

  1. Bien comprendre les 2 représentations (algorithme et organigramme).
  2. Noter la description du fonctionnement et l'algorithme sur votre copie,
  3. Traduire l'algorithme en programme sur l'ordinateur avec BLOCKLY en utilisant les 4 blocs ci contre,
  4. Le tester et montrer le résultat (fonctionnement correct) au professeur à l'aide du simulateur de maquette.
  5. Coller l'image du programme à coté de l'algorithme dans votre classeur.



Acti 2 : Amélioration du programme

Pour chaque problème, noter sur votre copie, le fonctionnement attendu, l'algorithme et coller l'image du programme.

Acti 2-1 : Utiliser des sous programme/fonction

Pour rendre le programme modulaire (faciliter les modifications ultérieures) nous allons utiliser 3 sous-programmes/procédures “OUVRIR”, “FERMER” et “ARRÊTER”.

Nous allons aussi utiliser les voyants pour informer l'utilisateur (rouge ne pas passer et vert/jaune passer) ainsi qu'une temporisation de 3s entre l'allumage du voyant rouge et la fermeture de la porte. ATTENTION : 1 seul voyant est allumé à un instant donné.
Il faut donc déterminer à quel moment les allumer.

Coups de pousse 1

Coups de pousse 2

Algorithme type

Acti 2-2 : Utiliser une variable

Nous voulons que la barrière infra rouge provoque la réouverture de la porte si elle détecte une personne lors de la fermeture. (Il faut donc se rappeler que la porte est en train de se fermer et utiliser une variable pour cela. en effet, aucun capteur n'indique le sens du mouvement, seule la fin de celui-ci est détecté par les fins de course.)
ATTENTION : Le capteur infrarouge est désactivé si une personne est présente.

Coups de pousse

Algorithme type

Acti 2-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). Attention, il ne faut pas bloquer le programme pendant la temporisation et pouvoir conserver l'utilisation du bouton “Fermer”. On utilise donc un compteur.

Coup de pousse :

Coups de pousse

Algorithme type

cours/picaxe3.1743663972.txt.gz · Dernière modification: 2025/04/03 09:06 de mrcjl