| 
 | 
 
#include "pitches.h" 
// notes in the melody: 
int melody[] = { 
  NOTE_C5,NOTE_F5, NOTE_C5,NOTE_F5, NOTE_C5,NOTE_F5, NOTE_C5,NOTE_F5, NOTE_C5,NOTE_F5, NOTE_C5,NOTE_F5}; 
int duration = 500;  // 500 miliseconds 
int photocellPin = 2; // 光敏電阻 (photocell) 接在 anallog pin 2 
int photocellVal = 0; // photocell variable 
int minLight = 800;   // 最小光線門檻值 
int ledPin = 9; 
int ledState = 0; 
 
 
 
void setup() { 
  pinMode(ledPin, OUTPUT); 
  Serial.begin(9600); 
} 
 
void loop() { 
 
    photocellVal = analogRead(photocellPin); 
  Serial.println(photocellVal);   
 
if (photocellVal < minLight && ledState == 0) 
{ 
digitalWrite(ledPin, HIGH); // turn on LED 
ledState = 1; 
for (int a=0; a<=255; a++) //亮度增加 
{ 
analogWrite(9,a); 
delay(8); 
} 
digitalWrite(ledPin, LOW); // turn off LED 
ledState = 0; 
 
for (int a=255; a>=0; a--) //亮度減少 
{ 
analogWrite(9,a); 
delay(8); 
} 
 
} 
 
// 光線充不足時關掉 LED 
else if (photocellVal > minLight && ledState == 0) 
{ 
digitalWrite(ledPin, HIGH); // turn on LED 
ledState = 1; 
for (int a=0; a<=255; a++) //亮度增加 
{ 
analogWrite(9,a); 
delay(1); 
} 
digitalWrite(ledPin, LOW); // turn off LED 
ledState = 0; 
 
for (int a=255; a>=0; a--) //亮度減少 
{ 
analogWrite(9,a); 
delay(1); 
 
} 
} 
 
} 
 
// for (int thisNote = 0; thisNote < 8; thisNote++) { 
    // 在 pin8 上輸出聲音,每個音階響 0.5 秒 
//    tone(8, melody[thisNote], duration); 
     
    // 間隔一段時間後再播放下一個音階 
 //   delay(1000); 
  } 
   
  // 兩秒後重新播放  
 // delay(2000); 
 
我寫了這麼一個語法 這是一個 用光敏電阻控制LED閃爍的語法  
 
當光敏電阻 讀值為800 LED快速閃爍 如果沒有超過 就是一般速度的呼吸燈 
 
但是現在希望把紅色那串字  加入 else 裡面 但是如果直接放進去 燈閃一下 馬上蜂鳴器就開始叫 燈都沒作用 
 
希望可以 讓燈 跟蜂鳴器 在else 裡面同時作用  
 
請高手救命   |   
 
 
 
 |