Ceci est une ancienne révision du document !
Découverte de la programmation des objets (PICAXE)
Pour aller plus loin dans les activités de programmation, nous allons quitter Scratch et ses animations sur l'ordinateur pour la programmation d'objets domotiques grâce à Blockly pour Picaxe.
Compétence(s)
CT 1.2 Mesurer des grandeurs de manière directe ou indirecte.
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 :
La domotique regroupe l'ensemble des techniques et technologies permettant d'automatiser, de programmer et de gérer les tâches de confort, de sécurité, de maintenance et plus généralement de services dans l'habitat individuel ou collectif.
Le mot est un néologisme, formé à partir du mot latin domus , (le domicile), et du suffixe -tique signifiant relatif à, que l'on retrouve dans électronique, électrotechnique, robotique et l'informatique.
Présentation
Toutes les broches d'un microcontrôleur ne sont pas équivalentes. Il faut déterminer quel capteur (entrée) ou quel actionneurs (sortie) on peut lui connecter en fonction du type de l'information logique ou analogique.
| C.0 | C.1 | C.2 | C.3 | C.4 | C.5 | Utilisation |
| X | X | X | | X | | Sortie numérique |
| | X | X | X | X | X | Entrée numérique |
| | | X | | | | Sortie analogique |
| | X | X | | X | | Entrée analogique |
Nous allons utiliser une carte programmable PICAXE AXE092 qui comporte :
un capteur BOUTON POUSSOIR, branché en C.3, qui détectera notre choix logique (appuyé/non appuyé).
trois actionneurs LEDs (rouge, jaune et verte), branché respectivement en C.0, C.1 et C.2, qui génèrent de la lumière en fonction du programme (un buzzer est en parallèle de la led verte).
un capteur CELLULE PHOTOÉLECTRIQUE, branché en C.4, qui mesurera la lumière existante autour de nous.
L'application utilisée pour la programmation est Blockly pour Picaxe (voir l'utilisation si besoin). Un simulateur est disponible sur la même page si l'on ne dispose pas de la maquette réelle.
Exercices
Sur une feuille de copie ayant pour titre “Découverte de la programmation des objets”, vous devez pour les 4 exercices :
Indiquer leur nom (titre de chapitre)
Recopier le problème
Trouver et écrire l'algorithme
le traduire en programme et le tester sur la maquette ou le simulateur
Faire voir le résultat au professeur qui vous remettra un programme imprimée à coller sur la feuille.
Il s'agit, en plus que d'apprendre à programmer, d'apprendre à travailler en autonomie et à augmenter seul ses compétences.
Essayer de faire les exercices sans lire les “Coups de pousse”. Ne les utiliser qu'en cas de difficulté.
Vous pouvez aussi utiliser vos cours dans votre classeur pour vous aider.
Relisez-vous et contrôler votre montage et votre programme.
N'appeler le professeur que lorsque l'exercice est réussi ou pour de gros problèmes.
Faites bien attention à ce que vous venez de réaliser, cela rendra plus facile les exercices suivants ou vous rencontrerez les mêmes demandes.
Les solutions des exercices sont détaillées dans le prochain cours pour renforcer les connaissances sur la programmation.
Exercice 1 : La sonnette lumineuse
Nous voulons que la LED verte s'allume uniquement lorsque le bouton est appuyé (soit éteinte lorsque le bouton est relâché).
(Il faut bien sur que le programme n'ai pas de fin pour qu'il puisse détecter des appuis successifs sur le bouton.)
Travail à faire
écrire dans votre classeur le problème et l'algorithme correspondant,
le traduire en programme avec Blockly et le téléverser dans la maquette,
en tester le fonctionnement et appeler le professeur s'il fonctionne.
Coups de pousse
Il faut une boucle “Répéter indéfiniment” (ou synonyme) pour que le programme n'ai pas de fin.
Il faut tester un/une capteur/entrée pour savoir si l'on doit allumer ou éteindre.
Il faut modifier un/une actionneur/sortie pour allumer ou éteindre.
Un signal électrique est dit à désactivé/0/bas s'il est absent/éteint/relâché et à activé/1/haut s'il est présent/allumé/appuyé.
Solution type
ALGORITHME
Répéter indéfiniment
Si bouton appuyé
Allumer led rouge
Sinon
Éteindre led rouge
PROGRAMME
Repérez bien les indentations de l'algorithme et leur traduction dans le programme, les différentes catégories de blocs disponibles et leur couleur :
Sortie pour réaliser les actions
Entrée pour avoir des informations
Boucles pour les répétitions
…
Exercice 2 : Le clignotant
Nous voulons que la LED jaune clignote 5 fois en 5 secondes lorsque le bouton est appuyé et reste éteinte autrement. Le programme doit se répéter comme le précédent.
Travail à faire
écrire dans votre classeur le problème et l'algorithme correspondant,
le traduire en programme et le téléverser,
en tester le fonctionnement et appeler le professeur s'il fonctionne.
Coups de pousse
Attention au nombre de clignotements. Il faut utiliser une variable pour faire un compteur.
Pour un compteur, il faut fixer sa valeur à 0 au début, ajouter 1 à chaque itération et s'arrêter de répéter à la valeur finale.
Pour voir les clignotements, il faut ralentir le fonctionnement du microprocesseur en fonction du temps désiré (attention clignoter = 1/2 allumé et 1/2 éteint).
Exercice 3 : L'interrupteur
Lorsque nous appuyons sur le bouton, nous voulons que la LED s'allume si elle était éteinte et reste allumé lorsque le bouton est relâché. Si elle était allumée elle doit s'éteindre et rester éteinte.
Le programme doit fonctionner lui aussi en permanence.
Travail à faire
écrire dans votre classeur le problème et l'algorithme correspondant,
le traduire en programme et le téléverser,
en tester le fonctionnement et appeler le professeur s'il fonctionne.
Coups de pousse
D'une répétition du programme à l'autre, il faut se rappeler si la LED est allumée ou pas. Il faut donc le noter dans une variable.
Il faut 2 instructions conditionnelles, une pour un capteur et l'autre pour une variable.
Pour éviter que la led clignote, il faut faire attendre le programme jusqu'à ce que le bouton soit relâché (Attendre jusqu'à).
Exercice 4 : L'interrupteur crépusculaire
Nous voulons que la LED s'allume si l'on appuie sur le bouton et que la lumière ambiante est faible.
Elle doit resté éteinte pour faire des économies sinon. Le programme doit fonctionner lui aussi en permanence.
Travail à faire
écrire dans votre classeur le problème et l'algorithme correspondant,
le traduire en programme et le téléverser,
en tester le fonctionnement et appeler le professeur s'il fonctionne. Pour simuler la nuit, on mettra la main au dessus du capteur de lumière.
Coups de pousse
Pour aller plus loin