Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <NewPing.h>
- #define TRIGGER_PIN 6 // Arduino pin tied to trigger pin on the ultrasonic sensor.
- #define ECHO_PIN 7 // Arduino pin tied to echo pin on the ultrasonic sensor.
- #define MAX_DISTANCE 300 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
- NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Creating the NewPing Object.
- void setup() {
- Serial.begin(115200); // Begin serial com. at 115200 baud rate.
- pinMode(13, OUTPUT);
- pinMode(12, OUTPUT);
- pinMode(11, OUTPUT);
- pinMode(10, OUTPUT);
- pinMode(9, OUTPUT);
- pinMode(8, OUTPUT);
- }
- void loop() {
- delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
- unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
- int cm = uS / US_ROUNDTRIP_CM;
- Serial.print("Ping: ");
- Serial.print(cm); // Convert ping time to distance in cm and print result (0 = outside set distance range)
- Serial.println("cm"); //If you would like ping in inches, remove "US_ROUNDTRIP_CM" and the backslash, don't forget to rename "cm" to "inches"
- int typ;
- typ = map(cm, 1, 70, 1, 7);
- switch(typ)
- {
- case 1:
- digitalWrite(13, HIGH);
- break;
- case 2:
- digitalWrite(13, HIGH);
- digitalWrite(12, HIGH);
- break;
- case 3:
- digitalWrite(13, HIGH);
- digitalWrite(12, HIGH);
- digitalWrite(11, HIGH);
- break;
- case 4:
- digitalWrite(13, HIGH);
- digitalWrite(12, HIGH);
- digitalWrite(11, HIGH);
- digitalWrite(10, HIGH);
- break;
- case 5:
- digitalWrite(13, HIGH);
- digitalWrite(12, HIGH);
- digitalWrite(11, HIGH);
- digitalWrite(10, HIGH);
- digitalWrite(9, HIGH);
- break;
- case 6:
- digitalWrite(13, HIGH);
- digitalWrite(12, HIGH);
- digitalWrite(11, HIGH);
- digitalWrite(10, HIGH);
- digitalWrite(9, HIGH);
- digitalWrite(8, HIGH);
- break;
- case 7:
- digitalWrite(13, LOW);
- digitalWrite(12, LOW);
- digitalWrite(11, LOW);
- digitalWrite(10, LOW);
- digitalWrite(9, LOW);
- digitalWrite(8, LOW);
- break;
- default:
- digitalWrite(13, LOW);
- digitalWrite(12, LOW);
- digitalWrite(11, LOW);
- digitalWrite(10, LOW);
- digitalWrite(9, LOW);
- digitalWrite(8, LOW);
- break;
- }
- Serial.print(typ);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement