Ceci est une ancienne révision du document !
Découverte de la programmation des objets
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 à mBlock.
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 :
Présentation
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.
Nous allons utiliser :
une carte programmable ARDUINO UNO.
un capteur BOUTON POUSSOIR, branché en D2, qui détectera notre intention de générer ou pas la lumière.
un actionneur LED, branché en D3, qui génèrera de la lumière en fonction du programme.
un capteur CELLULE PHOTOÉLECTRIQUE, branché en A0, qui mesurera la lumière existante autour de nous.
Le nom des broches figurant sur la carte bouclier se compose d'une lettre (D pour digital ou numérique ; A pour analogique) et d'un numéro.
Le logiciel est mBlock (voir l'utilisation si besoin). Il faut créer un nouveau projet et définir la carte Arduino comme appareil.
Exercices
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.
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 s'allume lorsque le bouton est appuyé (éteinte lorsque le bouton est relâché).
(Il faut bien sur que le programme n'ai pas de fin pour que nous puissions appuyer plusieurs fois sur le bouton.)
Travail à faire
écrire dans votre classeur le problème et l'algorithme correspondant,
le traduire en programme dans mBloc et le téléverser dans la carte Arduino,
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 une instruction conditionnelle pour savoir si l'on doit allumer ou éteindre.
Il n'y a pas de bloc qui correspondent au bouton ou à la led, mais des blocs qui correspondent aux broches ou ils sont branchés.
Un signal électrique est dit à 0/bas s'il est absent/éteint/relâché et à 1/haut s'il est présent/allumé/appuyé.
Exercice 2 : Le clignotant
Nous voulons que la LED 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 dans mBloc et le téléverser dans la carte Arduino,
en tester le fonctionnement et appeler le professeur s'il fonctionne.
Coups de pousse
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 dans mBloc et le téléverser dans la carte Arduino,
en tester le fonctionnement et appeler le professeur s'il fonctionne.
Coups de pousse
Il faut 2 instructions conditionnelles.
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.
Pour éviter que la led clignote, il faut bloquer le programme jusqu'à ce que le bouton soit relâché (Attendre jusqu'à).
L'opérateur “pas” inverse une condition (pas appuyé).
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 dans mBloc et le téléverser dans la carte Arduino,
en tester le fonctionnement et appeler le professeur s'il fonctionne.
Coups de pousse
Une entrée analogique donne une valeur (nombre) compris entre 0 et 1023. Il faut donc utiliser un opérateur pour pouvoir la comparer. 0 correspond au noir absolu et 1023 au plein soleil, il faut donc décider du niveau de lumière à partir duquel la LED doit s'allumer (250 par exemple).
Il existe un opérateur “ET” pour regrouper 2 conditions.