2012-12-10 4 views
0
const int pingPin = 7; 
const int ledPin = 11; 
const int ledPin2 = 10; 
int ledLevel = 0; 
int ledLevel2 = 255; 
int constraint = 0; 

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

void loop() 
{ 
    long duration, inches, cm; 

    pinMode(pingPin, OUTPUT); 
    digitalWrite(pingPin, LOW); 
    delayMicroseconds(2); 
    digitalWrite(pingPin, HIGH); 
    delayMicroseconds(5); 

    pinMode(pingPin, INPUT); 
    duration = pulseIn(pingPin, HIGH); 
    constraint = constrain(duration, 500, 8000); 

    ledLevel = map(constraint, 500, 8000, 255, 0); 

    if (ledLevel < 192) { 
    analogWrite(ledPin, ledLevel); 
    ledLevel2 = ledLevel2 - 255; 
    } else if (ledlevel >= 192) { 
    analogWrite(ledPin, ledLevel); 
    analogWrite(ledPin2, ledLevel2); 
    } 

    Serial.println(duration); 
    delay(100); 
} 

이것은 내 arduino 코드이며, 누군가가 초음파 센서를 향해 걷기 시작할 때 켜지고, 3/4을 얻을 때 두 번째 led가 켜집니다. 컴파일을 시도 할 때 " 'ledLevel'이이 범위에서 선언되지 않았습니다."else if 문을 강조 표시합니다.arduino else if 문 오류

답변

5
else if (ledlevel >= 192) 

ledLevel 대신 ledlevel이

else if (ledLevel >= 192) 
+0

오 맙소사해야
(L은 대문자입니다)! 너무 바보 같아! 정말 고맙습니다. – Michaelslec

+0

모든 사람에게 일어난 일입니다. 제발 대답으로 upvote 및 표시. –