Retour aux projets

Feu tricolore avec Scratch

Projet de programmation d'un feu tricolore avec Scratch, incluant un bouton piéton, pour découvrir les bases de la séquence et de l'interactivité.

6e-5e
2-3 séances
Débutant

Imaginez pouvoir contrôler un feu tricolore depuis votre ordinateur ! Dans ce projet, vous allez programmer un feu qui passe du rouge au vert en passant par l'orange, comme dans la vraie vie. Mais ce n'est pas tout : vous ajouterez un bouton piéton pour que les passants puissent traverser en toute sécurité. Comment faire pour que les lumières s'allument dans le bon ordre et que le bouton interrompe le cycle ? C'est ce que nous allons découvrir ensemble.

Objectifs pédagogiques

  • Comprendre la notion de séquence en programmation.
  • Utiliser les blocs « attendre » et « répéter » pour temporiser et boucler.
  • Créer une interaction simple avec un bouton (capteur ou clavier).
  • Appliquer une démarche de projet : conception, test, correction.

Matériel nécessaire

  • Ordinateur avec Scratch 3 (en ligne ou installé).
  • Vidéo projecteur pour les démonstrations.
  • Fiche projet imprimée avec les consignes.
  • Éventuellement : carte micro:bit ou Makey Makey pour un bouton physique.

Étapes du projet

1

Créer les trois lumières

Commencez par dessiner ou importer trois cercles (rouge, orange, vert) sur la scène. Pour chaque cercle, créez un costume « allumé » (couleur vive) et un costume « éteint » (gris). Donnez-leur des noms clairs (ex: rouge_allume, rouge_eteint). Cela permettra de basculer facilement entre les états. Placez les cercles l'un sous l'autre pour imiter un vrai feu tricolore. Pensez à centrer chaque costume pour que le changement soit fluide.

2

Programmer la séquence rouge-vert

Sélectionnez le sprite du feu rouge. Ajoutez un bloc « quand le drapeau vert est cliqué » pour lancer le programme. Ensuite, utilisez un bloc « répéter indéfiniment » pour que le cycle tourne en boucle. À l'intérieur, mettez « basculer sur le costume rouge_allume », puis « attendre 5 secondes ». Ensuite, passez au vert : mais attention, il faut d'abord éteindre le rouge et allumer le vert. Pour cela, utilisez un bloc « envoyer à tous » (message « vert ») pour coordonner les sprites. Le sprite vert recevra ce message et basculera sur son costume allumé. Ajoutez un « attendre 5 secondes » avant de repasser au rouge. Testez : le rouge doit rester 5 secondes, puis le vert 5 secondes.

3

Ajouter la phase orange

Pour respecter le vrai fonctionnement, il faut une phase orange entre le rouge et le vert. Modifiez la séquence : après le rouge, envoyez un message « orange » au lieu de « vert ». Le sprite orange s'allume pendant 2 secondes (bloc « attendre 2 »). Ensuite, éteignez l'orange et allumez le vert. Pour cela, le sprite orange doit basculer sur son costume éteint, puis envoyer un message « vert ». Le vert s'allume 5 secondes, puis tout s'éteint et le rouge recommence. Utilisez des blocs « envoyer à tous » et « quand je reçois » pour synchroniser les sprites. Testez chaque transition pour vérifier qu'il n'y a pas de chevauchement.

4

Intégrer le bouton piéton

Créez un nouveau sprite pour le bouton piéton (un rectangle avec une main, par exemple). Programmez-le : « quand le sprite est cliqué », il envoie un message « piéton ». Sur le sprite du feu rouge, ajoutez un bloc « quand je reçois piéton ». À l'intérieur, vous devez interrompre le cycle normal. Une astuce : utilisez une variable « cycle_en_cours » (booléenne). Quand le bouton est pressé, mettez cette variable à « faux » pour sortir de la boucle « répéter indéfiniment ». Ensuite, faites passer le feu au rouge (si ce n'est pas déjà le cas) et attendez 3 secondes pour que le piéton traverse. Puis, remettez la variable à « vrai » et relancez le cycle. Testez en cliquant sur le bouton à différents moments.

5

Tester et améliorer

Lancez le programme et observez le comportement. Vérifiez que le cycle rouge-orange-vert se répète correctement. Appuyez sur le bouton piéton : le feu doit passer au rouge rapidement (ou rester rouge) et attendre. Si le feu ne réagit pas, vérifiez les messages et les blocs « quand je reçois ». Vous pouvez ajouter un son (bip) pour signaler le passage piéton. Pour aller plus loin, créez un compteur de temps qui s'affiche. Notez les bugs et corrigez-les un par un. Ce projet est idéal pour comprendre l'importance de l'ordre des instructions.

⚠️ Points de vigilance

  • ⚠️Bien nommer les costumes pour éviter les confusions.
  • ⚠️Utiliser des messages distincts pour chaque phase (rouge, orange, vert, piéton).
  • ⚠️Gérer la variable booléenne pour ne pas bloquer le programme.
  • ⚠️Tester chaque étape avant de passer à la suivante.
  • ⚠️Prévoir un temps d'attente suffisant pour le piéton (au moins 3 secondes).

Erreurs fréquentes à éviter

Les lumières s'allument en même temps.

✅ Solution : Vérifiez que chaque sprite bascule sur le bon costume au bon moment. Utilisez des messages pour ordonner les changements.

Le bouton piéton ne fonctionne pas.

✅ Solution : Assurez-vous que le bloc « quand le sprite est cliqué » est bien attaché au sprite du bouton. Vérifiez que le message « piéton » est reçu par le sprite du feu.

Le cycle s'arrête après un appui sur le bouton.

✅ Solution : La variable booléenne doit être remise à « vrai » après la phase piéton. Sinon, la boucle « répéter indéfiniment » ne redémarre pas.

Les temps d'attente sont trop longs ou trop courts.

✅ Solution : Ajustez les valeurs des blocs « attendre » : 5 secondes pour rouge et vert, 2 secondes pour orange, 3 secondes pour piéton.

Le message « orange » n'est pas reçu.

✅ Solution : Vérifiez l'orthographe du message dans le bloc « envoyer à tous » et dans le bloc « quand je reçois ». Ils doivent être identiques.

💡 Conseils du prof

  • 💡Commencez par un cycle simple sans bouton, puis ajoutez l'interactivité.
  • 💡Utilisez des commentaires dans le code pour expliquer chaque partie.
  • 💡Testez souvent avec le drapeau vert pour repérer les bugs tôt.
  • 💡Encouragez les élèves à personnaliser les couleurs et les formes.
  • 💡Prévoyez une fiche d'auto-évaluation pour valider chaque étape.

🚀 Pour aller plus loin

  • 🚀Ajouter un compteur de temps qui s'affiche sur la scène (variable « temps restant »).
  • 🚀Utiliser un capteur de distance (micro:bit) pour déclencher le bouton piéton automatiquement.
  • 🚀Créer un feu pour voitures et un feu pour piétons (avec un petit bonhomme rouge/vert).

Compétences travaillées

CT 2.1CT 2.2CT 3.1CT 5.1
Techno