Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- const int trigPin = 10;
- const int echoPin = 11;
- const int cameratrigger = A0;
- const int buzzer = 12;
- long duration;
- int distance;
- Servo myServo;
- void setup() {
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- pinMode(cameratrigger, OUTPUT);
- pinMode(buzzer, OUTPUT);
- Serial.begin(9600);
- myServo.attach(9); // Defines on which pin is the servo motor attached
- }
- void loop() {
- // rotates the servo motor from 15 to 165 degrees
- for (int i = 15; i <= 165; i++) {
- myServo.write(i);
- delay(30);
- distance = calculateDistance();// Calls a function for calculating the distance measured by the Ultrasonic sensor for each degree
- if (distance < 30) {
- digitalWrite(cameratrigger, HIGH);
- digitalWrite(buzzer, HIGH);
- delay(200);
- digitalWrite(cameratrigger, LOW);
- digitalWrite(buzzer, LOW);
- delay(200);
- }
- Serial.print(i); // Sends the current degree into the Serial Port
- Serial.print(","); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing
- Serial.print(distance); // Sends the distance value into the Serial Port
- Serial.print("."); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing
- }
- // Repeats the previous lines from 165 to 15 degrees
- for (int i = 165; i > 15; i--) {
- myServo.write(i);
- delay(30);
- distance = calculateDistance();
- if (distance < 30) {
- digitalWrite(cameratrigger, HIGH);
- digitalWrite(buzzer, HIGH);
- delay(200);
- digitalWrite(cameratrigger, LOW);
- digitalWrite(buzzer, LOW);
- delay(200);
- }
- Serial.print(i);
- Serial.print(",");
- Serial.print(distance);
- Serial.print(".");
- }
- }
- int calculateDistance() {
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- distance = duration * 0.034 / 2;
- return distance;
- }
Advertisement
Add Comment
Please, Sign In to add comment