Arduino:使用按钮增加和减少变量
Arduino: Increasing and decreasing a variable with buttons
Arduino 上的 Arduino Uno IDE:
您好,我正在尝试在按下 button1 时将变量 'sspeed' 增加 0.01,并在按下 button2 时将其减小 0.01。
目前无法使用。我知道它不是与 arduino 的连接,因为我已经尝试过串行打印 'b1' 其中 returns 0 或 1 取决于天气的低或高。
所以我猜我在代码中做错了什么。
我的代码如下:
float sspeed = 0.00;
void setup()
{
Serial.begin(9600);
//(the buttons are 2 pin)
pinMode(2, INPUT_PULLUP); //button1
pinMode(3, INPUT_PULLUP); //button2
}
void loop()
{
int b1 = digitalRead(2);
int b2 = digitalRead(3);
Serial.println(sspeed);
if (b1 = LOW) sspeed = sspeed + 0.01;
if (b2 = LOW) sspeed = sspeed - 0.01;
}
希望能帮到你,谢谢。
b1 = low
是一个赋值。这将始终将 b1 设置为低,并且评估为低,恰好为 0,恰好被解释为假。 b1 == low
大概就是你要的比较。修复此问题后,您会注意到此代码将 "autorepeat" 变快。您将学习的下一件事是按钮弹跳。您可能想在 Arduino 页面上阅读如何处理:http://playground.arduino.cc/code/bounce
如前所述,b1 = LOW
是一个始终 return 为真的赋值。为避免这种常见错误,甚至可能是拼写错误,您可以使用 Yoda conditions,即先输入值再输入变量。
if (LOW == b1)
然后,如果您错过了一个 =
符号,您将遇到编译错误并检测到该错误。
关于弹跳,可以使用短延迟来避免。
if (LOW == b1)
{
delay(5);
sspeed += 0.01;
}
Arduino 上的 Arduino Uno IDE:
您好,我正在尝试在按下 button1 时将变量 'sspeed' 增加 0.01,并在按下 button2 时将其减小 0.01。
目前无法使用。我知道它不是与 arduino 的连接,因为我已经尝试过串行打印 'b1' 其中 returns 0 或 1 取决于天气的低或高。 所以我猜我在代码中做错了什么。
我的代码如下:
float sspeed = 0.00;
void setup()
{
Serial.begin(9600);
//(the buttons are 2 pin)
pinMode(2, INPUT_PULLUP); //button1
pinMode(3, INPUT_PULLUP); //button2
}
void loop()
{
int b1 = digitalRead(2);
int b2 = digitalRead(3);
Serial.println(sspeed);
if (b1 = LOW) sspeed = sspeed + 0.01;
if (b2 = LOW) sspeed = sspeed - 0.01;
}
希望能帮到你,谢谢。
b1 = low
是一个赋值。这将始终将 b1 设置为低,并且评估为低,恰好为 0,恰好被解释为假。 b1 == low
大概就是你要的比较。修复此问题后,您会注意到此代码将 "autorepeat" 变快。您将学习的下一件事是按钮弹跳。您可能想在 Arduino 页面上阅读如何处理:http://playground.arduino.cc/code/bounce
如前所述,b1 = LOW
是一个始终 return 为真的赋值。为避免这种常见错误,甚至可能是拼写错误,您可以使用 Yoda conditions,即先输入值再输入变量。
if (LOW == b1)
然后,如果您错过了一个 =
符号,您将遇到编译错误并检测到该错误。
关于弹跳,可以使用短延迟来避免。
if (LOW == b1)
{
delay(5);
sspeed += 0.01;
}