Feux de carrefour
Révision datée du 21 janvier 2019 à 18:12 par Khalid (discussion | contributions)
Un carrefour à feux est une intersection dont le trafic est réglé par des feux de signalisation lumineux pilotés par un contrôleur. Le réglage des cycles de feux doit permettre d'assurer la sécurité des automobilistes et des piétons tout en permettant un débit maximal.d'où vient l'idée du projet.
Sommaire
Description du projet
Dans ce projet, nous allons donc utiliser des LEDs avec une carte Arduino afin d'afficher le jeux de carrefour.
Équipe en charge du projet
- Khalid BELLACHHEB
- Yasin AGCA
- Reda ABARKACH
- Jad BOULOS
Matériel nécessaire
- 1 x Arduino
- 9 x LEDs (3 vertes, 3 jaunes, 3 rouges)
- 3 x 220Ω Résistance
- Jumper wires (fils)
- 1 x Breadboard (maquette)
Signification couleurs
la couleur :
- verte : zone normal [0 db - 80 db]
- jaune : zone dangereuse [80 db - 120 db]
- rouge : zone de douleur [120 db - 180 db]
Réalisation
Étape 1 : Réalisation du schéma de câblage
Nous avons utilisé le logiciel Fritzing pour concevoir notre système de mesure.
Étape 2 : Code Arduino
le code Arduino du projet optimisé :
void setup() { //voici une entrée pour capteur de son pinMode(A0, INPUT); //Ici, nous mettons en place toutes les broches comme sorties pour les LED for(int z = 0; z < 10; z++){ pinMode(z, OUTPUT); } } void loop() { //nous stockons ici la valeur du volume int volume = analogRead(A0); //la valeur maximale pour la lecture analogique est de 1023 mais il doit être très très fort pour atteindre cette valeur //donc on a l'abaisse dans la fonction de la carte à 700 //mappage de la valeur du volume pour faciliter l'allumage des voyants volume = map(volume, 0, 700, 0, 10); //pour la boucle pour allumer ou éteindre toutes les LED //grâce à cette boucle le code pour ce projet est très court //nous passons par toutes les broches où nous avons des LED et en vérifiant si le volume est //plus grand que le nombre de broches (c'est pourquoi nous cartographions le volume) for(int a = 0; a < 10; a++){ if(volume >= a){ //si elle est plus grande, nous pouvons allumer la LED digitalWrite(a, HIGH); }else{ //s'il est plus petit, nous pouvons éteindre la LED digitalWrite(a, LOW); } } }