arduino stuffs
Diffstat (limited to 'libraries/NewPing/examples/NewPingEventTimer/NewPingEventTimer.pde')
| -rw-r--r-- | libraries/NewPing/examples/NewPingEventTimer/NewPingEventTimer.pde | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/libraries/NewPing/examples/NewPingEventTimer/NewPingEventTimer.pde b/libraries/NewPing/examples/NewPingEventTimer/NewPingEventTimer.pde deleted file mode 100644 index b0aa119..0000000 --- a/libraries/NewPing/examples/NewPingEventTimer/NewPingEventTimer.pde +++ /dev/null @@ -1,46 +0,0 @@ -// --------------------------------------------------------------------------- -// This example shows how to use NewPing's ping_timer method which uses the Timer2 interrupt to get the -// ping time. The advantage of using this method over the standard ping method is that it permits a more -// event-driven sketch which allows you to appear to do two things at once. An example would be to ping -// an ultrasonic sensor for a possible collision while at the same time navigating. This allows a -// properly developed sketch to multitask. Be aware that because the ping_timer method uses Timer2, -// other features or libraries that also use Timer2 would be effected. For example, the PWM function on -// pins 3 & 11 on Arduino Uno (pins 9 and 10 on Arduino Mega) and the Tone library. Note, only the PWM -// functionality of the pins is lost (as they use Timer2 to do PWM), the pins are still available to use. -// NOTE: For Teensy/Leonardo (ATmega32U4) the library uses Timer4 instead of Timer2. -// --------------------------------------------------------------------------- -#include <NewPing.h> - -#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on ping sensor. -#define ECHO_PIN 11 // Arduino pin tied to echo pin on ping sensor. -#define MAX_DISTANCE 200 // 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); // NewPing setup of pins and maximum distance. - -unsigned int pingSpeed = 50; // How frequently are we going to send out a ping (in milliseconds). 50ms would be 20 times a second. -unsigned long pingTimer; // Holds the next ping time. - -void setup() { - Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results. - pingTimer = millis(); // Start now. -} - -void loop() { - // Notice how there's no delays in this sketch to allow you to do other processing in-line while doing distance pings. - if (millis() >= pingTimer) { // pingSpeed milliseconds since last ping, do another ping. - pingTimer += pingSpeed; // Set the next ping time. - sonar.ping_timer(echoCheck); // Send out the ping, calls "echoCheck" function every 24uS where you can check the ping status. - } - // Do other stuff here, really. Think of it as multi-tasking. -} - -void echoCheck() { // Timer2 interrupt calls this function every 24uS where you can check the ping status. - // Don't do anything here! - if (sonar.check_timer()) { // This is how you check to see if the ping was received. - // Here's where you can add code. - Serial.print("Ping: "); - Serial.print(sonar.ping_result / US_ROUNDTRIP_CM); // Ping returned, uS result in ping_result, convert to cm with US_ROUNDTRIP_CM. - Serial.println("cm"); - } - // Don't do anything here! -}
\ No newline at end of file |