//demo
int photocellPin = 2; // 光敏電阻 (photocell) 接在 anallog pin 2
int photocellVal = 0; // photocell variable
int rphotocellVal = 0;
int ledPin1 = 9;
void setup() {
pinMode(ledPin1, OUTPUT);
Serial.begin(9600);
}
void loop() {
photocellVal = analogRead(photocellPin);
Serial.println(photocellVal);
rphotocellVal = map(photocellVal, 0, 1023, 255, 0);
analogWrite(ledPin1, rphotocellVal);
delay(100);
}
一般照明燈程式碼
//demo
int photocellPin = 2; // 光敏電阻 (photocell) 接在 anallog pin 2
int photocellVal = 0; // photocell variable
int minLight = 200; // 最小光線門檻值
int MaxLight = 650;
int ledPin1 = 9;
int ledpin2 = 10;
int ledPin3 = 8;
int ledState = 0;
int brightness = 0;
int fadeAmount = 100;
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledpin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
Serial.begin(9600);
}
void loop() {
// 讀取光敏電阻並輸出到 Serial Port
photocellVal = analogRead(photocellPin);
Serial.println(photocellVal);
// 光線不足時打開 LED
if (photocellVal < minLight && ledState == 0) {
digitalWrite(ledPin1, HIGH); // turn on LED
digitalWrite(ledpin2, LOW);
ledState = 1;
}
// 光線充足時關掉 LED
if (photocellVal > minLight && ledState == 1) {
digitalWrite(ledPin1, LOW); // turn off LED
digitalWrite(ledpin2, HIGH);
ledState = 0;
}
if (photocellVal > MaxLight) {
digitalWrite(ledPin3, HIGH);
}
delay(100);
}
沒有留言:
張貼留言