Le défi de cette semaine : un passage à niveau

Cette semaine, nous restons dans nos montages de feux en compliquant un peu la chose avec une barrière. Le montage à réaliser devra comporter :

  • Un servomoteur qui jouera le rôle de barrière

  • Un bouton pour demander l'ouverture de la barrière

  • Un feu bicolore qui passera au vert lorsque la barrière sera complètement ouverte

Les consignes du TP

Le scénario sera le suivant :

Le fonctionnement normal est un feu allumé au rouge (le feu vert est éteint) et une barrière fermée (0°). Le fonctionnement normal est interrompu par l'appui sur un bouton poussoir.

Si l'appui du bouton est détecté, alors la barrière (actionnée par le servomoteur) se relève doucement. Lorsque la barrière est à la verticale (90°), le feu vert s'allume pendant 5 secondes pendant lesquelles la barrière reste ouverte (90°) et le feu rouge s'éteint. Après les 5 secondes, le feu repasse au rouge, la barrière redescend doucement et le fonctionnement normal reprend.

Aussi, nous souhaitons recevoir le message "Bouton appuye" dans le moniteur série lorsque l'appui a été détecté.

Vous trouverez en lien un petit exemple vidéo

Quelques indices

Vous aurez besoin de mobiliser toutes les compétences vues ces dernières semaines pour réaliser ce TP :

  • L'utilisation de boucles for qui ont été décrites cette semaine.

  • L'utilisation d'entrée et de sorties numériques

  • Importation de librairies et d'un servomoteur

  • Utilisation des instructions Serial

Quelques conseils

  • Utilisez Tinkercad circuit pour valider votre code avant de le soumettre plutôt que codecast. En effet, ce dernier n'implémente pas toutes les fonctions de Arduino et pourrait vous renvoyer des erreurs de compilation alors que votre code est correct

  • N'allez pas regarder la solution sur Internet sinon il n'y a pas de fun

  • Prenez toujours les hypothèses qui vous arrangent :)

  • Seules les notions abordées dans le cours et sur cette page sont nécessaires pour mener à bien ce TP

  • Il n'y a pas une mais plusieurs solutions à chaque problème. La meilleure est celle que vous comprenez !