add arduino-0018-linux (32 bit)
This commit is contained in:
		
							parent
							
								
									7fa52a235a
								
							
						
					
					
						commit
						297de2a227
					
				
					 425 changed files with 64818 additions and 0 deletions
				
			
		
							
								
								
									
										64
									
								
								arduino-0018-linux/examples/Analog/Smoothing/Smoothing.pde
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								arduino-0018-linux/examples/Analog/Smoothing/Smoothing.pde
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,64 @@
 | 
			
		|||
/*
 | 
			
		||||
 | 
			
		||||
  Smoothing
 | 
			
		||||
 | 
			
		||||
  Reads repeatedly from an analog input, calculating a running average
 | 
			
		||||
  and printing it to the computer.  Keeps ten readings in an array and 
 | 
			
		||||
  continually averages them.
 | 
			
		||||
  
 | 
			
		||||
  The circuit:
 | 
			
		||||
    * Analog sensor (potentiometer will do) attached to analog input 0
 | 
			
		||||
 | 
			
		||||
  Created 22 April 2007
 | 
			
		||||
  By David A. Mellis  <dam@mellis.org>
 | 
			
		||||
 | 
			
		||||
  http://www.arduino.cc/en/Tutorial/Smoothing
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Define the number of samples to keep track of.  The higher the number,
 | 
			
		||||
// the more the readings will be smoothed, but the slower the output will
 | 
			
		||||
// respond to the input.  Using a constant rather than a normal variable lets
 | 
			
		||||
// use this value to determine the size of the readings array.
 | 
			
		||||
const int numReadings = 10;
 | 
			
		||||
 | 
			
		||||
int readings[numReadings];      // the readings from the analog input
 | 
			
		||||
int index = 0;                  // the index of the current reading
 | 
			
		||||
int total = 0;                  // the running total
 | 
			
		||||
int average = 0;                // the average
 | 
			
		||||
 | 
			
		||||
int inputPin = 0;
 | 
			
		||||
 | 
			
		||||
void setup()
 | 
			
		||||
{
 | 
			
		||||
  // initialize serial communication with computer:
 | 
			
		||||
  Serial.begin(9600);                   
 | 
			
		||||
  // initialize all the readings to 0: 
 | 
			
		||||
  for (int thisReading = 0; thisReading < numReadings; thisReading++)
 | 
			
		||||
    readings[thisReading] = 0;          
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void loop() {
 | 
			
		||||
  // subtract the last reading:
 | 
			
		||||
  total= total - readings[index];         
 | 
			
		||||
  // read from the sensor:  
 | 
			
		||||
  readings[index] = analogRead(inputPin); 
 | 
			
		||||
  // add the reading to the total:
 | 
			
		||||
  total= total + readings[index];       
 | 
			
		||||
  // advance to the next position in the array:  
 | 
			
		||||
  index = index + 1;                    
 | 
			
		||||
 | 
			
		||||
  // if we're at the end of the array...
 | 
			
		||||
  if (index >= numReadings)              
 | 
			
		||||
    // ...wrap around to the beginning: 
 | 
			
		||||
    index = 0;                           
 | 
			
		||||
 | 
			
		||||
  // calculate the average:
 | 
			
		||||
  average = total / numReadings;         
 | 
			
		||||
  // send it to the computer (as ASCII digits) 
 | 
			
		||||
  Serial.println(average, DEC);               
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in a new issue