利用可變電阻 控制燈泡亮的速度
程式碼
/*
Analog Input
Demonstrates analog input by reading an analog sensor on analog pin 0 and
turning on and off a light emitting diode(LED) connected to digital pin 13.
The amount of time the LED will be on and off depends on
the value obtained by analogRead().
The circuit:
* Potentiometer attached to analog input 0
* center pin of the potentiometer to the analog pin
* one side pin (either one) to ground
* the other side pin to +5V
* LED anode (long leg) attached to digital output 13
* LED cathode (short leg) attached to ground
* Note: because most Arduinos have a built-in LED attached
to pin 13 on the board, the LED is optional.
Created by David Cuartielles
modified 30 Aug 2011
By Tom Igoe
This example code is in the public domain.
http://arduino.cc/en/Tutorial/AnalogInput
*/
int sensorPin = A0; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
//Serial.println(sensorValue);
// turn the ledPin on
digitalWrite(13, HIGH);
delay(sensorValue);
digitalWrite(12, HIGH);
delay(sensorValue);
digitalWrite(11, HIGH);
delay(sensorValue);
digitalWrite(10, HIGH);
delay(sensorValue);
digitalWrite(9, HIGH);
delay(sensorValue);
digitalWrite(8, HIGH);
delay(sensorValue);
digitalWrite(7, HIGH);
// stop the program for <sensorValue> milliseconds:
delay(sensorValue);
//turn the ledPin off:
digitalWrite(13, LOW);
delay(sensorValue);
digitalWrite(12, LOW);
delay(sensorValue);
digitalWrite(11, LOW);
delay(sensorValue);
digitalWrite(10, LOW);
delay(sensorValue);
digitalWrite(9, LOW);
delay(sensorValue);
digitalWrite(8, LOW);
delay(sensorValue);
digitalWrite(7, LOW);
// stop the program for for <sensorValue> milliseconds:
delay(sensorValue);
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
//Serial.println(sensorValue);
// turn the ledPin on
digitalWrite(7, HIGH);
delay(sensorValue);
digitalWrite(8, HIGH);
delay(sensorValue);
digitalWrite(9, HIGH);
delay(sensorValue);
digitalWrite(10, HIGH);
delay(sensorValue);
digitalWrite(11, HIGH);
delay(sensorValue);
digitalWrite(12, HIGH);
delay(sensorValue);
digitalWrite(13, HIGH);
// stop the program for <sensorValue> milliseconds:
delay(sensorValue);
//turn the ledPin off:
digitalWrite(7, LOW);
delay(sensorValue);
digitalWrite(8, LOW);
delay(sensorValue);
digitalWrite(9, LOW);
delay(sensorValue);
digitalWrite(10, LOW);
delay(sensorValue);
digitalWrite(11, LOW);
delay(sensorValue);
digitalWrite(12, LOW);
delay(sensorValue);
digitalWrite(13, LOW);
// stop the program for for <sensorValue> milliseconds:
delay(sensorValue);
}
心得 :
今天才知道原來之前所學得的東西都在為未來鋪路,先學會怎麼會看程式碼,又用到大二學的接電線,果然是多學一點未雨綢繆,完成霹靂燈覺得成就感滿滿,哈哈,期末加油
沒有留言:
張貼留言