2015年1月12日 星期一

[專題] 第11組-照明燈&節能燈

節能照明燈程式碼如下
//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);      
}









沒有留言:

張貼留言