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 !