Outils pour utilisateurs

Outils du site


cours:progra11

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

  1. Lancer l'application mBlock et s'assurer d'avoir configuré l'appareil “Arduino Uno”
  2. Télécharger et décompresser le fichier“drapeau_fr.zip" puis ranger dans votre espace de travail le programme “drapeau_fr.mblock”
  3. Ouvrir le programme dans mBloc et le télécharger dans l'appareil.
  4. Faire valider le résultat.

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.

  1. Rechercher sur Internet le nom des couleurs de l'arc en ciel
  2. Les coder avec le procédé RVB (site utile : code-couleur-rvb.php)
  3. Modifier le programme pour afficher les nouvelles couleurs
  4. 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

Cliquer pour agrandir et voir les réponses

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

  • Indices de qualité d'une page web - Repérer et interpréter les indices de qualité d'une page web
  • Source d'une information - Retrouver et évaluer la source d'une 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.

  • Si la variable couleur contient le numéro de la couleur définie
    • On défini les variables R, V et B
  • Sinon on regarde la couleur suivante

Lorsque la couleur n'est pas définie, on n'affichera rien (couleur noire)

  • (dernier) Sinon
    • Définir les variables R, V et B pour pas de couleur
cours/progra11.1608544188.txt.gz · Dernière modification: 2020/12/21 10:49 de mrcjl