我正在尝试构建一个ardunio应用程序,我有一个电位器和led。我创建这样的组件:http://arduino.cc/en/uploads/Tutorial/graph-circuit3.png
当我向左(或右)转动电位器时,让步亮高低。我写了代码,但我不能成功。在循环中获取编译错误
代码:
int potPin = 2;
int ledPin = 8;
int val = 0;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop(){
while (Serial.available() == 0);
int val = Serial.read() - '0';
if (potPin == 2) {
Serial.println("LED on");
digitalWrite(potPin, HIGH);
}
else
{
Serial.println("LED OFF");
digitalWrite(ledPin, LOW);
}
答案 0 :(得分:2)
常规led高低使用电位器这样的foto potpin为0。 你必须创建临时整数(我说val)。 val是来自电位器的存储数据。并将val值写入屏幕。
int potPin = 0;
int ledPin = 8;
int val = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
val = analogRead(potPin);
digitalWrite(ledPin, HIGH);
delay(val);
digitalWrite(ledPin, LOW);
delay(val);
}
答案 1 :(得分:1)
您忘记了设置中potPin的Serial.begin和pinMode。
Serial.begin(9600);
pinMode(potPin, INPUT);
另外,你试图将potPin设置为HIGH,而它应该是模拟输入。