arduino-0018-linux-x64
This commit is contained in:
		
							parent
							
								
									8e4748e499
								
							
						
					
					
						commit
						ed785c5798
					
				
					 426 changed files with 76732 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -0,0 +1,86 @@
 | 
			
		|||
/*
 | 
			
		||||
  Conditionals - while statement
 | 
			
		||||
 
 | 
			
		||||
 This example demonstrates the use of  while() statements.
 | 
			
		||||
 
 | 
			
		||||
 While the pushbutton is pressed, the sketch runs the calibration routine.
 | 
			
		||||
 The  sensor readings during the while loop define the minimum and maximum 
 | 
			
		||||
 of expected values from the photo resistor.
 | 
			
		||||
 
 | 
			
		||||
 This is a variation on the calibrate example.
 | 
			
		||||
 
 | 
			
		||||
 The circuit:
 | 
			
		||||
 * photo resistor connected from +5V to analog in pin 0
 | 
			
		||||
 * 10K resistor connected from ground to analog in pin 0
 | 
			
		||||
 * LED connected from digital pin 9 to ground through 220 ohm resistor
 | 
			
		||||
 * pushbutton attached from pin 2 to +5V
 | 
			
		||||
 * 10K resistor attached from pin 2 to ground
 | 
			
		||||
 
 | 
			
		||||
 created 17 Jan 2009
 | 
			
		||||
 modified 25 Jun 2009
 | 
			
		||||
 by Tom Igoe
 | 
			
		||||
 
 | 
			
		||||
 http://arduino.cc/en/Tutorial/WhileLoop
 | 
			
		||||
 
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// These constants won't change:
 | 
			
		||||
const int sensorPin = 2;     // pin that the sensor is attached to
 | 
			
		||||
const int ledPin = 9;        // pin that the LED is attached to
 | 
			
		||||
const int indicatorLedPin = 13;  // pin that the built-in LED is attached to
 | 
			
		||||
const int buttonPin = 2;      // pin that the button is attached to
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// These variables will change:
 | 
			
		||||
int sensorMin = 1023;  // minimum sensor value
 | 
			
		||||
int sensorMax = 0;     // maximum sensor value
 | 
			
		||||
int sensorValue = 0;         // the sensor value
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void setup() {
 | 
			
		||||
  // set the LED pins as outputs and the switch pin as input:
 | 
			
		||||
  pinMode(indicatorLedPin, OUTPUT);
 | 
			
		||||
  pinMode (ledPin, OUTPUT);
 | 
			
		||||
  pinMode (buttonPin, INPUT);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void loop() {
 | 
			
		||||
  // while the button is pressed, take calibration readings:
 | 
			
		||||
  while (digitalRead(buttonPin) == HIGH) {
 | 
			
		||||
    calibrate(); 
 | 
			
		||||
  }
 | 
			
		||||
  // signal the end of the calibration period
 | 
			
		||||
  digitalWrite(indicatorLedPin, LOW);  
 | 
			
		||||
 | 
			
		||||
  // read the sensor:
 | 
			
		||||
  sensorValue = analogRead(sensorPin);
 | 
			
		||||
 | 
			
		||||
  // apply the calibration to the sensor reading
 | 
			
		||||
  sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255);
 | 
			
		||||
 | 
			
		||||
  // in case the sensor value is outside the range seen during calibration
 | 
			
		||||
  sensorValue = constrain(sensorValue, 0, 255);
 | 
			
		||||
 | 
			
		||||
  // fade the LED using the calibrated value:
 | 
			
		||||
  analogWrite(ledPin, sensorValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void calibrate() {
 | 
			
		||||
  // turn on the indicator LED to indicate that calibration is happening:
 | 
			
		||||
  digitalWrite(indicatorLedPin, HIGH);
 | 
			
		||||
  // read the sensor:
 | 
			
		||||
  sensorValue = analogRead(sensorPin);
 | 
			
		||||
 | 
			
		||||
  // record the maximum sensor value
 | 
			
		||||
  if (sensorValue > sensorMax) {
 | 
			
		||||
    sensorMax = sensorValue;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // record the minimum sensor value
 | 
			
		||||
  if (sensorValue < sensorMin) {
 | 
			
		||||
    sensorMin = sensorValue;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in a new issue