arduino-0017-linux-x64
This commit is contained in:
		
							parent
							
								
									ed785c5798
								
							
						
					
					
						commit
						ddf58ffb08
					
				
					 436 changed files with 62981 additions and 0 deletions
				
			
		
							
								
								
									
										55
									
								
								arduino-0017-linux-x64/examples/Control/Arrays/Arrays.pde
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								arduino-0017-linux-x64/examples/Control/Arrays/Arrays.pde
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
/*
 | 
			
		||||
  Arrays
 | 
			
		||||
 
 | 
			
		||||
 Demonstrates the use of  an array to hold pin numbers
 | 
			
		||||
 in order to iterate over the pins in a sequence. 
 | 
			
		||||
 Lights multiple LEDs in sequence, then in reverse.
 | 
			
		||||
 
 | 
			
		||||
 Unlike the For Loop tutorial, where the pins have to be
 | 
			
		||||
 contiguous, here the pins can be in any random order.
 | 
			
		||||
 
 | 
			
		||||
 The circuit:
 | 
			
		||||
 * LEDs from pins 2 through 7 to ground
 | 
			
		||||
 
 | 
			
		||||
 created 2006
 | 
			
		||||
 by David A. Mellis
 | 
			
		||||
 modified 5 Jul 2009
 | 
			
		||||
 by Tom Igoe 
 | 
			
		||||
 
 | 
			
		||||
 http://www.arduino.cc/en/Tutorial/Array
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
int timer = 100;           // The higher the number, the slower the timing.
 | 
			
		||||
int ledPins[] = { 
 | 
			
		||||
  2, 7, 4, 6, 5, 3 };       // an array of pin numbers to which LEDs are attached
 | 
			
		||||
int pinCount = 6;           // the number of pins (i.e. the length of the array)
 | 
			
		||||
 | 
			
		||||
void setup() {
 | 
			
		||||
  int thisPin;
 | 
			
		||||
  // the array elements are numbered from 0 to (pinCount - 1).
 | 
			
		||||
  // use a for loop to initialize each pin as an output:
 | 
			
		||||
  for (int thisPin = 0; thisPin < pinCount; thisPin++)  {
 | 
			
		||||
    pinMode(ledPins[thisPin], OUTPUT);      
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void loop() {
 | 
			
		||||
  // loop from the lowest pin to the highest:
 | 
			
		||||
  for (int thisPin = 0; thisPin < pinCount; thisPin++) { 
 | 
			
		||||
    // turn the pin on:
 | 
			
		||||
    digitalWrite(ledPins[thisPin], HIGH);   
 | 
			
		||||
    delay(timer);                  
 | 
			
		||||
    // turn the pin off:
 | 
			
		||||
    digitalWrite(ledPins[thisPin], LOW);    
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // loop from the highest pin to the lowest:
 | 
			
		||||
  for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) { 
 | 
			
		||||
    // turn the pin on:
 | 
			
		||||
    digitalWrite(ledPins[thisPin], HIGH);
 | 
			
		||||
    delay(timer);
 | 
			
		||||
    // turn the pin off:
 | 
			
		||||
    digitalWrite(ledPins[thisPin], LOW);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
/*
 | 
			
		||||
  For Loop Iteration
 | 
			
		||||
 
 | 
			
		||||
 Demonstrates the use of a for() loop. 
 | 
			
		||||
 Lights multiple LEDs in sequence, then in reverse.
 | 
			
		||||
 
 | 
			
		||||
 The circuit:
 | 
			
		||||
 * LEDs from pins 2 through 7 to ground
 | 
			
		||||
 
 | 
			
		||||
 created 2006
 | 
			
		||||
 by David A. Mellis
 | 
			
		||||
 modified 5 Jul 2009
 | 
			
		||||
 by Tom Igoe 
 | 
			
		||||
 
 | 
			
		||||
 http://www.arduino.cc/en/Tutorial/ForLoop
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
int timer = 100;           // The higher the number, the slower the timing.
 | 
			
		||||
 | 
			
		||||
void setup() {
 | 
			
		||||
  // use a for loop to initialize each pin as an output:
 | 
			
		||||
  for (int thisPin = 2; thisPin < 8; thisPin++)  {
 | 
			
		||||
    pinMode(thisPin, OUTPUT);      
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void loop() {
 | 
			
		||||
  // loop from the lowest pin to the highest:
 | 
			
		||||
  for (int thisPin = 0; thisPin < 8; thisPin++) { 
 | 
			
		||||
    // turn the pin on:
 | 
			
		||||
    digitalWrite(thisPin, HIGH);   
 | 
			
		||||
    delay(timer);                  
 | 
			
		||||
    // turn the pin off:
 | 
			
		||||
    digitalWrite(thisPin, LOW);    
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // loop from the highest pin to the lowest:
 | 
			
		||||
  for (int thisPin = 7; thisPin >= 2; thisPin--) { 
 | 
			
		||||
    // turn the pin on:
 | 
			
		||||
    digitalWrite(thisPin, HIGH);
 | 
			
		||||
    delay(timer);
 | 
			
		||||
    // turn the pin off:
 | 
			
		||||
    digitalWrite(thisPin, LOW);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,53 @@
 | 
			
		|||
/*
 | 
			
		||||
  Conditionals - If statement
 | 
			
		||||
 
 | 
			
		||||
 This example demonstrates the use of if() statements.
 | 
			
		||||
 It reads the state of a potentiometer (an analog input) and turns on an LED
 | 
			
		||||
 only if the LED goes above a certain threshold level. It prints the analog value
 | 
			
		||||
 regardless of the level.
 | 
			
		||||
 
 | 
			
		||||
 The circuit:
 | 
			
		||||
 * potentiometer connected to analog pin 0.
 | 
			
		||||
 Center pin of the potentiometer goes to the analog pin.
 | 
			
		||||
 side pins of the potentiometer go to +5V and ground
 | 
			
		||||
 * LED connected from digital pin 13 to ground
 | 
			
		||||
 
 | 
			
		||||
 * Note: On most Arduino boards, there is already an LED on the board
 | 
			
		||||
 connected to pin 13, so you don't need any extra components for this example.
 | 
			
		||||
 
 | 
			
		||||
 created 17 Jan 2009
 | 
			
		||||
 by Tom Igoe
 | 
			
		||||
 
 | 
			
		||||
  http://arduino.cc/en/Tutorial/
 | 
			
		||||
 
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
// These constants won't change:
 | 
			
		||||
const int analogPin = 0;     // pin that the sensor is attached to
 | 
			
		||||
const int ledPin = 13;       // pin that the LED is attached to
 | 
			
		||||
const int threshold = 400;   // an arbitrary threshold level that's in the range of the analog input
 | 
			
		||||
 | 
			
		||||
void setup() {
 | 
			
		||||
  // initialize the LED pin as an output:
 | 
			
		||||
  pinMode(LED, OUTPUT);
 | 
			
		||||
  // initialize serial communications:
 | 
			
		||||
  Serial.begin(9600);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void loop() {
 | 
			
		||||
  // read the value of the potentiometer:
 | 
			
		||||
  int analogValue = analogRead(analogPin);
 | 
			
		||||
 | 
			
		||||
  // if the analog value is high enough, turn on the LED:
 | 
			
		||||
  if (analogValue > threshold) {
 | 
			
		||||
    digitalWrite(ledPin, HIGH);
 | 
			
		||||
  } 
 | 
			
		||||
  else {
 | 
			
		||||
    digitalWrite(ledPin,LOW); 
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // print the analog value:
 | 
			
		||||
  Serial.println(analogValue, DEC);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,59 @@
 | 
			
		|||
/*
 | 
			
		||||
  Switch statement
 | 
			
		||||
 
 | 
			
		||||
 Demonstrates the use of a switch statement.  The switch
 | 
			
		||||
 statement allows you to choose from among a set of discrete values
 | 
			
		||||
 of a variable.  It's like a series of if statements.
 | 
			
		||||
 
 | 
			
		||||
 To see this sketch in action, but the board and sensor in a well-lit
 | 
			
		||||
 room, open the serial monitor, and and move your hand gradually
 | 
			
		||||
 down over the sensor.
 | 
			
		||||
 
 | 
			
		||||
 The circuit:
 | 
			
		||||
 * photoresistor from analog in 0 to +5V
 | 
			
		||||
 * 10K resistor from analog in 0 to ground
 | 
			
		||||
 
 | 
			
		||||
 created 1 Jul 2009
 | 
			
		||||
 by Tom Igoe 
 | 
			
		||||
 
 | 
			
		||||
 http://www.arduino.cc/en/Tutorial/SwitchCase
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// these constants won't change:
 | 
			
		||||
const int sensorMin = 0;      // sensor minimum, discovered through experiment
 | 
			
		||||
const int sensorMax = 600;    // sensor maximum, discovered through experiment
 | 
			
		||||
 | 
			
		||||
void setup() {
 | 
			
		||||
  // initialize serial communication:
 | 
			
		||||
  Serial.begin(9600);  
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void loop() {
 | 
			
		||||
  // read the sensor:
 | 
			
		||||
  int sensorReading = analogRead(0);
 | 
			
		||||
  // map the sensor range to a range of four options:
 | 
			
		||||
  int range = map(sensorReading, sensorMin, sensorMax, 0, 3);
 | 
			
		||||
 | 
			
		||||
  // do something different depending on the 
 | 
			
		||||
  // range value:
 | 
			
		||||
  switch (range) {
 | 
			
		||||
  case 0:    // your hand is on the sensor
 | 
			
		||||
    Serial.println("dark");
 | 
			
		||||
    break;
 | 
			
		||||
  case 1:    // your hand is close to the sensor
 | 
			
		||||
    Serial.println("dim");
 | 
			
		||||
    break;
 | 
			
		||||
  case 2:    // your hand is a few inches from the sensor
 | 
			
		||||
    Serial.println("medium");
 | 
			
		||||
    break;
 | 
			
		||||
  case 3:    // your hand is nowhere near the sensor
 | 
			
		||||
    Serial.println("bright");
 | 
			
		||||
    break;
 | 
			
		||||
  } 
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,64 @@
 | 
			
		|||
/*
 | 
			
		||||
  Switch statement  with serial input
 | 
			
		||||
 
 | 
			
		||||
 Demonstrates the use of a switch statement.  The switch
 | 
			
		||||
 statement allows you to choose from among a set of discrete values
 | 
			
		||||
 of a variable.  It's like a series of if statements.
 | 
			
		||||
 
 | 
			
		||||
 To see this sketch in action, open the Serial monitor and send any character.
 | 
			
		||||
 The characters a, b, c, d, and e, will turn on LEDs.  Any other character will turn
 | 
			
		||||
 the LEDs off.
 | 
			
		||||
 
 | 
			
		||||
 The circuit:
 | 
			
		||||
 * 5 LEDs attached to digital pins 2 through 6 through 220-ohm resistors
 | 
			
		||||
 
 | 
			
		||||
 created 1 Jul 2009
 | 
			
		||||
 by Tom Igoe 
 | 
			
		||||
 
 | 
			
		||||
 http://www.arduino.cc/en/Tutorial/SwitchCase2
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
void setup() {
 | 
			
		||||
  // initialize serial communication:
 | 
			
		||||
  Serial.begin(9600); 
 | 
			
		||||
   // initialize the LED pins:
 | 
			
		||||
      for (int thisPin = 2; thisPin < 7; thisPin++) {
 | 
			
		||||
        pinMode(thisPin, OUTPUT);
 | 
			
		||||
      } 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void loop() {
 | 
			
		||||
  // read the sensor:
 | 
			
		||||
  if (Serial.available() > 0) {
 | 
			
		||||
    int inByte = Serial.read();
 | 
			
		||||
    // do something different depending on the character received.  
 | 
			
		||||
    // The switch statement expects single number values for each case;
 | 
			
		||||
    // in this exmaple, though, you're using single quotes to tell
 | 
			
		||||
    // the controller to get the ASCII value for the character.  For 
 | 
			
		||||
    // example 'a' = 97, 'b' = 98, and so forth:
 | 
			
		||||
 | 
			
		||||
    switch (inByte) {
 | 
			
		||||
    case 'a':    
 | 
			
		||||
      digitalWrite(2, HIGH);
 | 
			
		||||
      break;
 | 
			
		||||
    case 'b':    
 | 
			
		||||
      digitalWrite(3, HIGH);
 | 
			
		||||
      break;
 | 
			
		||||
    case 'c':    
 | 
			
		||||
      digitalWrite(4, HIGH);
 | 
			
		||||
      break;
 | 
			
		||||
    case 'd':    
 | 
			
		||||
      digitalWrite(5, HIGH);
 | 
			
		||||
      break;
 | 
			
		||||
    case 'e':    
 | 
			
		||||
      digitalWrite(6, HIGH);
 | 
			
		||||
      break;
 | 
			
		||||
    default:
 | 
			
		||||
      // turn all the LEDs off:
 | 
			
		||||
      for (int thisPin = 2; thisPin < 7; thisPin++) {
 | 
			
		||||
        digitalWrite(thisPin, LOW);
 | 
			
		||||
      }
 | 
			
		||||
    } 
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in a new issue