|
- // Programme réalisé dans le cadre d'un projet BTS
- // Servo Moteur :
-
-
- #include <Servo.h>
- Servo myServo;
-
- const int trigPin = 9;
- const int echoPin = 10;
- const int servoPin = 6;
- const int alimentation_Servo = 12;
- long duration;
- int distance;
-
- void setup() {
- Serial.begin(9600);
- Serial.println("Projet BTS Mathieu N.");
- Serial.println("BTS Ecole Technique EME");
- Serial.println("--------------------------------------------------------------------------");
- Serial.println("Initialisation du programme");
- pinMode(trigPin, OUTPUT);
- Serial.print("Pin du Trigger du capteur ultrason : ");
- Serial.println(trigPin);
- Serial.print("Pin du Echo du capteur ultrason : ");
- Serial.println(echoPin);
- Serial.print("Pin d'alimentation du servomoteur : ");
- Serial.println(alimentation_Servo);
- Serial.print("Pin pour controler le servo : ");
- Serial.println(servoPin);
- delay(200);
-
- pinMode(echoPin, INPUT);
- pinMode(alimentation_Servo, OUTPUT);
-
-
-
- myServo.attach(servoPin);
- myServo.write(5);
- }
- void loop() {
-
-
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- distance = duration * 0.034 / 2;
-
- Serial.print("Mesure de la valeur : ");
- Serial.println(distance);
-
- myServo.write(5);
- if (distance < 30 && distance > 1) {
-
- delay(100);
-
- Serial.println("1ere verification validée, on passe à la suivante");
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- distance = duration * 0.034 / 2;
-
- if (distance < 30 && distance > 1) {myServo.write(170); ouverture(); }
- }
- if (distance > 30) { myServo.write(170);}
-
-
- }
-
-
-
- void ouverture(){
- Serial.println("Ouverture du bouchon");
- digitalWrite(13, HIGH);
- delay(3000);
- Serial.println("Fermeture du bouchon");
- digitalWrite(13, LOW);
-
- delay(2000);
- }
|