Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- #include <SoftwareSerial.h>
- SoftwareSerial arduinoToProcessing;
- SoftwareSerial arduinoToMonitor;
- const int trigPin = 2;
- const int echoPin = 3;
- long duration;
- int distance;
- Servo myServo;
- void setup() {
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- arduinoToProcessing.begin(9600);
- arduinoToMonitor.begin(57600);
- myServo.attach(5);
- }
- void loop() {
- for (int i = 15; i <= 165; i++) {
- myServo.write(i);
- delay(30);
- distance = calculateDistance();
- // cm
- long cm = distance / 29.1;
- long inch = distance / 74;
- if (cm >= 20) {
- digitalWrite(8, HIGH);
- digitalWrite(9, LOW);
- digitalWrite(10, LOW);
- //
- } else if (distance >= 15) {
- digitalWrite(8, LOW);
- digitalWrite(9, HIGH);
- digitalWrite(10, LOW);
- } else {
- digitalWrite(8, LOW);
- digitalWrite(9, LOW);
- digitalWrite(10, HIGH);
- }
- // processing
- arduinoToProcessing.print(i);
- arduinoToProcessing.print(",");
- arduinoToProcessing.print(distance);
- arduinoToProcessing.print(".");
- // monitor
- arduinoToMonitor.print(inch);
- arduinoToMonitor.print(" inch");
- arduinoToMonitor.print("| ");
- arduinoToMonitor.print(cm);
- arduinoToMonitor.print(" cm");
- arduinoToMonitor.println();
- }
- for (int i = 165; i > 15; i--) {
- myServo.write(i);
- delay(30);
- distance = calculateDistance();
- // cm
- long cm = distance / 29.1;
- long inch = distance / 74;
- if (cm >= 20) {
- digitalWrite(8, HIGH);
- digitalWrite(9, LOW);
- digitalWrite(10, LOW);
- //
- } else if (distance >= 15) {
- digitalWrite(8, LOW);
- digitalWrite(9, HIGH);
- digitalWrite(10, LOW);
- } else {
- digitalWrite(8, LOW);
- digitalWrite(9, LOW);
- digitalWrite(10, HIGH);
- }
- // processing
- arduinoToProcessing.print(i);
- arduinoToProcessing.print(",");
- arduinoToProcessing.print(distance);
- arduinoToProcessing.print(".");
- // monitor
- arduinoToMonitor.print(inch);
- arduinoToMonitor.print(" inch");
- arduinoToMonitor.print("| ");
- arduinoToMonitor.print(cm);
- arduinoToMonitor.print(" cm");
- arduinoToMonitor.println();
- }
- }
- 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
Advertisement