2014-10-25 11 views
-1

저는 Arduino Uno가 있으며, 포토 레지스터가 낮은 광량을 감지하면 LED가 켜지는 프로그램을 작성하려고합니다. 여기 내 코드가있다.내 Arduino 자동 LED '야간 조명'이 작동하지 않습니다.

int led = 2; 
int phores = A4; 
int val = 0; 

void setup() { 
pinMode(led, OUTPUT); 
pinMode(phores, INPUT); 
Serial.begin(9600); 
} 

void loop() { 
val = analogRead(phores); 
if(val > 256) { 
    digitalWrite(led, HIGH); 
} 

if(val < 256) { 

digitalWrite(led, LOW); 
} 
Serial.println(val); 
} 
+2

... 어떻게 될까요? 충돌이 발생합니까, 아니면 예상 답변을 제공하지 않습니까? 당신은 무엇을 기대 했습니까? 그리고 HAPPENED는 무엇입니까? –

+0

println의 결과는 무엇입니까? 값이 올바르게 읽습니까? – djUniversal

답변

0

루프 기능 내에 두 번째 if 블록을 넣어야 할 수도 있습니다. 나는 물건을 고쳐야한다고 확신한다. 작은 지연을 추가하는 것은 매 반복마다이 검사를하지 않는 것이 좋습니다.

+0

if 블록 안에 두 번째 if 문을 넣지 않았고 지연을 추가해도 도움이되지 않았습니다. –

+0

블록이 아니라면 무효 루프 블록을 의미합니다. & –

+0

오, 잡았다, 나는 코드를 잘못 읽었다. if else if. –

0

학습을 시작할 때 사용했던 몇 가지 오래된 코드가 있습니다.이 코드는 작동해야하며 실제로 간단합니다.

int sensePin = 0; 
int ledPin = 9; 

void setup(){ 
    analogReference(DEFAULT); 
    pinMode(ledPin, OUTPUT); 

} 

void loop(){ 
    int val = analogRead(sensePin); 
if (val < 100) digitalWrite(ledPin, HIGH); 
else digitalWrite(ledPin, LOW); 
}