任何人都可以告訴如何解決這個問題嗎?這是一個LED骰子的程序。val在Arduino範圍內未聲明
Arduino: 1.8.3 (Windows 10), Board: "Arduino/Genuino Uno"
C:\Users\Prithvi Raj Jain\Documents\Arduino\sketch_jul18a\sketch_jul18a.ino: In function 'void loop()':
sketch_jul18a:27: error: 'val' was not declared in this scope
val = analogRead(piezopin);
^
sketch_jul18a:27: error: 'piezopin' was not declared in this scope
val = analogRead(piezopin);
^
exit status 1
'val' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
int one[] = { 8 };
int two[] = { 12, 6 };
int three[] = { 12, 6, 8 };
int four[] = { 12, 6, 9, 11 };
int five[] = { 12, 6, 9, 11, 8 };
int six[] = { 12, 6, 9, 11, 10, 7 };
int all[] = { 12, 6, 9, 11, 10, 7, 8 };
int pincount = 7;
int randNumber;
int count = 0;
void setup()
{
Serial.begin(9600);
for (int i = 0; i < pincount + 1; i++) {
pinMode(all[i], OUTPUT);
}
}
void loop()
{
val = analogRead(piezopin);
for (int j = 0; j < pincount; j++) {
digitalWrite(all[j], LOW);
}
randNumber = random(1, 7);
count++;
Serial.println(randNumber);
switch (randNumber) {
case 1:
for (int i = 0; i < randNumber; i++) {
digitalWrite(one[i], HIGH);
}
break;
case 2:
for (int i = 0; i < randNumber; i++) {
digitalWrite(two[i], HIGH);
}
break;
case 3:
for (int i = 0; i < randNumber; i++) {
digitalWrite(three[i], HIGH);
}
break;
case 4:
for (int i = 0; i < randNumber; i++) {
digitalWrite(four[i], HIGH);
}
break;
case 5:
for (int i = 0; i < randNumber; i++) {
digitalWrite(five[i], HIGH);
}
break;
case 6:
for (int i = 0; i < randNumber; i++) {
digitalWrite(six[i], HIGH);
}
break;
}
if (count < 12) {
delay(250);
}
if (count >= 12) {
delay(500);
}
if (count >= 18) {
count = 0;
delay(10000);
}
}
如果答案解決了您的問題,請考慮接受答案。以下是http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work然後返回到此處,並使用勾號/複選標記執行相同操作,直至變爲綠色。這告知社區,找到了解決方案。否則,其他人可能會認爲這個問題仍然存在,並且可能需要發佈(更多)答案。您將獲得積分,其他人將被鼓勵幫助您。 *歡迎使用Stack!* –