Ceci est une ancienne révision du document !
Programmation d'un arc en ciel
Nous allons réaliser une activité de recherches d'informations et modification d'un programme scratch mettant en oeuvre des connaissances vues précédemment sur la programmation des objets (carte Arduino) et le codage RGB des couleurs.
Compétences traitées :
D 2.3 Médias, démarches de recherche et de traitement de l'information
D 1.3 Comprendre, s'exprimer en utilisant les langages mathématiques, scientifiques et informatiques
J’ai acquis la compétence si :
Je suis capable de m'interroger sur les résultats d'une recherche et choisir la réponse en ayant consulté le contenue et la pertinence de plusieurs réponses (site)
J'ai réussi à modifier le programme pour répondre au problème et à le faire fonctionner dans l'objet connecté utilisé.
Activité
Mise en oeuvre de l’environnement de travail et du programme
Lancer l'application mBlock et s'assurer d'avoir configuré l'appareil “Arduino Uno”
Télécharger, extraire et ranger dans votre espace de travail le programme “
drapeau_fr.mblock"
Ouvrir le programme dans mBloc et le télécharger dans l'appareil.
Faire valider le résultat.
Si besoin, comment faire ? :
Le programme chargé affiche les couleurs du drapeau français (2 leds par couleurs). (Il peut aussi permettre de réaliser une rotation des couleurs toute les 0,3s). En comprendre le fonctionnement.
(si besoin, voir : Coup de pouce)
Modifications des couleurs initiales
On désire remplacer les couleurs “tricolore” par celles de l'arc en ciel.
Rechercher sur Internet le nom des couleurs de l'arc en ciel
-
Modifier le programme pour afficher les nouvelles couleurs
Faire valider le résultat
(si besoin, voir : Coup de pouce)
Rotation des couleurs
Effectuer une 2ème modification pour faire tourner les couleurs de 2 emplacements dans le sens des aiguilles d'une montre toutes les 0,5s.
(si besoin, voir : Coup de pouce)
Coups de pouce
Réflexion sur le résultat des réponses
Dans les moteurs de recherche, si je lis l'intitulé et la courte description des pages proposées, je dois m'interroger sur le nombre de couleur visible dans l'arc en ciel. Je dois avoir la curiosité de consulter plusieurs sites pour appréhender la réalité avant de justifier ma réponse.
L'arc en ciel comprend un dégradé de couleurs comprises entre le Rouge et le Violet.
La décomposition de la lumière blanche à travers un prisme montre qu'elle est composé des 3 couleurs de base et des 3 couleurs complémentaires.
Isaac Newton, le premier à avoir réaliser l'expérience de décomposition de la lumière, à pourtant défini pour l'arc en ciel un nombre de 7 couleurs pour l'associer aux 7 notes de musiques et au nombre “magique” 7.
Compétence (savoir faire) : Mener une recherche et une veille d’information
L'opérateur "Modulo"
L'opérateur “Modulo” = reste de la division euclidienne. (ex. 24 modulo 5 ⇒ dans 24 divisé par 5, il reste 4).
Index est la position de la 1ere couleur sur l'anneau de 16 LED. Pour simuler une rotation des LEDs, il suffit d'y ajouter un nombre entre 1 et 31 puis de faire un modulo 16.
ex. On suppose Index = 10 au départ, l'opération :
(Index+14) modulo 16 = 8 ⇒ on simule une rotation de 2 LED dans le sens inverse des aiguilles d'une montre.
(Index+19) modulo 16 = 13 ⇒ on simule une rotation de 3 LED dans le sens des aiguilles d'une montre.
(Index+16) modulo 16 = 10 ⇒ il n'y a pas de rotation.
Analyse du programme
Initialisation
Elle effectue les opérations nécessaires (une seule fois) pour démarrer la boucle principale dans de bonnes condition :
Initialiser un anneau “Neopixel” branché sur la broche 2 contenant 16 LEDs RVB
Régler la luminosité (Brightness) des LEDs
Définir la variable Index (position de départ de la 1ere couleur sur l'anneau)
La boucle principale peut alors débuter (“Pour toujours” ou “Répéter indéfiniment”)
Boucle principale
Il faut positionner chaque couleur sur les 16 LEDs de l'anneau, faire afficher le résultat suffisamment longtemps pour que l'œil l'enregistre (l'œil enregistre au maximum 20 images par seconde).
Définir la 1ère LED à modifier (count = 0)
Répéter jusqu'à la dernière (count = 16-1)
Utiliser le sous-programme “Liste couleurs” pour définir les valeurs R, V et B de la couleur demandée. Le numéro de la couleur dépend de la position “count” (position de la LED courante sur l'anneau) et “index” (position de la 1ere couleur si rotation). (Voir coup de pouce “Modulo”)
Appliquer à la LED “count” les valeurs R, V et B
Passer à la LED suivante (count = count + 1)
Afficher le résultat
Attendre que l'œil l'ai enregistré
Simuler la rotation des couleurs
Sous-programme "Liste couleurs"
On transmet au sous-programme une couleur à rechercher dans la variable du même nom.
Lorsque la couleur n'est pas définie, on n'affichera rien (couleur noire)