Ping)))) + Servo
Ellie
Posts: 2
Hi, i am using a Ping))) to connect to and trigger a Futaba Servo. I am using an Arduino microprocessor. So far, I have found the example code for a ping sensor in the arduino examples, and i have a code for the servo which does the movements i need. I really need help with how to combine the two together into one code which I can send to the arduino. Would anyone have any code already done for such a purpose? I need the ping))) to basically turn the servo on when a person stands in front of the setup, go through the servo functions and when the person leaves the range of the sensor, to stop the servo. I'd be really grateful for any comments or ideas of how this might be achievable. Thanks, E.
Post Edited (Ellie) : 4/14/2009 8:24:22 PM GMT
//code for ping))) taken from arduino sketchbook int pingPin = 7; void setup() { Serial.begin(9600); } void loop() { long duration, inches, cm; // The PING))) is triggered by a HIGH pulse of 2 or more microseconds. // We give a short LOW pulse beforehand to ensure a clean HIGH pulse. pinMode(pingPin, OUTPUT); digitalWrite(pingPin, LOW); delayMicroseconds(2); digitalWrite(pingPin, HIGH); delayMicroseconds(5); digitalWrite(pingPin, LOW); // The same pin is used to read the signal from the PING))): a HIGH // pulse whose duration is the time (in microseconds) from the sending // of the ping to the reception of its echo off of an object. pinMode(pingPin, INPUT); duration = pulseIn(pingPin, HIGH); // convert the time into a distance inches = microsecondsToInches(duration); cm = microsecondsToCentimeters(duration); Serial.print(inches); Serial.print("in, "); Serial.print(cm); Serial.print("cm"); Serial.println(); delay(100); } long microsecondsToInches(long microseconds) { // According to Parallax's datasheet for the PING))), there are // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per // second). This gives the distance travelled by the ping, outbound // and return, so we divide by 2 to get the distance of the obstacle. // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf return microseconds / 74 / 2; } long microsecondsToCentimeters(long microseconds) { // The speed of sound is 340 m/s or 29 microseconds per centimeter. // The ping travels out and back, so to find the distance of the // object we take half of the distance travelled. return microseconds / 29 / 2; }
Post Edited (Ellie) : 4/14/2009 8:24:22 PM GMT
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen
Regards
Ellie
Post Edited (Ellie) : 4/14/2009 8:28:20 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen