Lab6

Photocell 光敏電阻

[材料]

Arduino主板 x 1

麵包板 x 1

Led x 2

電阻 10kΩ x 1

光敏電阻 x 1

步驟1:測試光敏電阻的電阻大小,改變環境亮度,看看LED燈的亮度變化如何?

步驟2:改變"輸入"數值;再"輸出"相對應的數值讓LED發出不同亮度。

/* Lab6 Photocell 程式碼 */

int lightsensorPin = A0;
int led1 = 11;
int switchingthreshold= 500;   //要啟動的閾值
int wait = 1000;               //啟動後,持續時間
long timer = 0;                //現在時間,非整數、有小數位數
int lightValue;                //現在亮度

void setup(){
  Serial.begin(9600);
  pinMode(led1, OUTPUT);
}

void loop(){
  lightValue = analogRead(lightsensorPin);
  Serial.println(lightValue);

  if (lightValue < switchingthreshold){     //小於閾值時
    digitalWrite(led1, HIGH);
    timer = millis();                //timer=現在時間
  } 
  else if ((lightValue >= switchingthreshold) && (millis() > timer + wait)){  //大於閾值時,並看有沒有超過timer+wait的時間
    digitalWrite(led1, LOW);
  }
  
  delay(20); 
}

[基本問題]

1. 查詢光敏電阻對光線所偵測的數值。

2  millis()的功用是什麼?

3. 修改程式,根據環境變暗的程度,調整LED變亮的程度。