Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <NewPing.h>
- #define LED_PIN 4
- #define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
- #define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
- #define MAX_DISTANCE 300 // Maximum distance we want to ping for (in centimeters).
- NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
- boolean trig = false;
- void setup() {
- Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
- pinMode(TRIGGER_PIN, OUTPUT); // don't forget to set all of your OUTPUT pins
- pinMode(LED_PIN,OUTPUT);
- digitalWrite(LED_PIN, LOW); // unless you are on a MEGA(?) pin 4 is likely to be digital only, no PWM. Without PWM you will have no analogWrite
- // analogWrite(LED_PIN,0);
- delay(1000);
- }
- void Engaged() {
- digitalWrite(LED_PIN,HIGH);
- Serial.println("This Hurt!!!");
- }
- 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).
- unsigned int distance = uS / US_ROUNDTRIP_CM;
- Serial.print("Ping: ");
- // Serial.print(uS / US_ROUNDTRIP_CM); // Convert ping time to distance in cm and print result (0 = outside set distance range)
- Serial.print(distance);
- Serial.println("cm");
- // if(trig == true) {
- // Engaged();
- // }
- // delay(50);
- // unsigned int uS = sonar.ping();
- // unsigned int distance = uS / US_ROUNDTRIP_CM;
- if(distance<10) {
- trig = true;
- } else {
- // delay(50);
- // if(distance>10) {
- trig = false;
- digitalWrite(LED_PIN,LOW);
- }
- if(trig == true) { // moved to respond after the distance has been checked
- Engaged();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement