add arduino-0018-linux (32 bit)
This commit is contained in:
		
							parent
							
								
									7fa52a235a
								
							
						
					
					
						commit
						297de2a227
					
				
					 425 changed files with 64818 additions and 0 deletions
				
			
		
							
								
								
									
										82
									
								
								arduino-0018-linux/examples/Sensors/Ping/Ping.pde
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								arduino-0018-linux/examples/Sensors/Ping/Ping.pde
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,82 @@
 | 
			
		|||
/* Ping))) Sensor
 | 
			
		||||
  
 | 
			
		||||
   This sketch reads a PING))) ultrasonic rangefinder and returns the
 | 
			
		||||
   distance to the closest object in range. To do this, it sends a pulse
 | 
			
		||||
   to the sensor to initiate a reading, then listens for a pulse 
 | 
			
		||||
   to return.  The length of the returning pulse is proportional to 
 | 
			
		||||
   the distance of the object from the sensor.
 | 
			
		||||
     
 | 
			
		||||
   The circuit:
 | 
			
		||||
	* +V connection of the PING))) attached to +5V
 | 
			
		||||
	* GND connection of the PING))) attached to ground
 | 
			
		||||
	* SIG connection of the PING))) attached to digital pin 7
 | 
			
		||||
 | 
			
		||||
   http://www.arduino.cc/en/Tutorial/Ping
 | 
			
		||||
   
 | 
			
		||||
   created 3 Nov 2008
 | 
			
		||||
   by David A. Mellis
 | 
			
		||||
   modified 30 Jun 2009
 | 
			
		||||
   by Tom Igoe
 | 
			
		||||
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// this constant won't change.  It's the pin number
 | 
			
		||||
// of the sensor's output:
 | 
			
		||||
const int pingPin = 7;
 | 
			
		||||
 | 
			
		||||
void setup() {
 | 
			
		||||
  // initialize serial communication:
 | 
			
		||||
  Serial.begin(9600);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void loop()
 | 
			
		||||
{
 | 
			
		||||
  // establish variables for duration of the ping, 
 | 
			
		||||
  // and the distance result in inches and centimeters:
 | 
			
		||||
  long duration, inches, cm;
 | 
			
		||||
 | 
			
		||||
  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
 | 
			
		||||
  // 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;
 | 
			
		||||
}
 | 
			
		||||
		Reference in a new issue