Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Programme Barrière Infrarouge
- const int IRSensorPin = A0; // Définition du port du capteur IR en A0 (Port Analogique)
- const int IRSensorPin2 = A1; // Définition du port du capteur IR en A1 (Port Analogique)
- const int LED = 13; // Définition du port de la LED
- int IRValue; // Initialisation de la variable destiné à avoir la valeur Infrarouge
- int IRSensorValue; // Initialisation de la variable destiné à avoir la valeur Infrarouge de A0
- int IRSensorValue2; // Initialisation de la variable destiné à avoir la valeur Infrarouge de A1
- float Vms; // Initialisation de Vms
- double D = 0.095; // Définition de D
- // Initialisation de la variable destiné à retenir le temps avant une action
- unsigned long T1;
- unsigned long T2;
- unsigned long Tf;
- // Initialisation du port Serial et de la LED
- void setup() {
- pinMode(LED, OUTPUT);
- digitalWrite (LED, LOW);
- Serial.begin (9600);
- }
- void loop () {
- IRSensorValue = analogRead(IRSensorPin); // Lecture de A0 et enregistrement dans IRSensorValue
- IRSensorValue2 = analogRead(IRSensorPin2); // Lecture de A1 et enregistrement dans IRSensorValue2
- delay(5); // Délai de 5ms
- // Si les deux capteurs sont en dessous de 1000 alors éteindre la LED
- if (IRSensorValue < 1000 && IRSensorValue2 < 1000) { digitalWrite(LED, LOW); }
- else { digitalWrite(LED, HIGH); }
- /* J'ai mis entre commentaire les 6 prochaines lignes, un else c'est plus simple
- if (IRSensorValue > 1000)
- digitalWrite(LED, HIGH);
- if (IRSensorValue2 > 1000)
- digitalWrite(LED, HIGH);
- if (IRSensorValue2 > 1000 && IRSensorValue > 1000)
- digitalWrite(LED, HIGH);
- */
- // Millisecondes avant que le capteur A0 dépasse 1000
- Serial.print(" T1= ");
- while (analogRead (IRSensorPin) < 1000);
- T1 = millis();
- Serial.println(T1);
- // Millisecondes avant que le capteur A1 dépasse 1000
- Serial.print(" T2= ");
- while (analogRead (IRSensorPin2) < 1000);
- T2 = millis();
- Serial.println(T2);
- // Calcul de Delta de T2 et T1 dans Tf
- Serial.print(" T= ");
- Serial.println(T2 - T1);
- Tf = T2 - T1;
- // Affichage de la vitesse en fonction de Tf et D
- Serial.print(" vitesse (m/s) = ");
- Vms = 1000 * (D / Tf);
- Serial.println(Vms);
- }
Add Comment
Please, Sign In to add comment