我将按钮开关设置错误

时间:2018-06-07 19:03:25

标签: arduino

我正在摆弄Arduino Uno并尝试使用两个开关来操作两个伺服电机。我现在无法做到这一点,我不确定我的问题是什么。我知道我的舵机接线正确;但是,我非常怀疑我的开关是否正确接线。

这是我的电路图和我正在使用的代码。

    #include <Servo.h>

    Servo servo_11;

    Servo servo_10;

    void setup()
    {
      servo_11.attach(11);

      servo_10.attach(10);

      pinMode(A3, OUTPUT);
      pinMode(A2, OUTPUT);
      pinMode(A2, INPUT);
    }

    void loop()
    {
      servo_11.write(0);
      servo_10.write(0);
      digitalWrite(A3, LOW);
      digitalWrite(A2, LOW);
      if (analogRead(A2) != LOW) {
        servo_11.write(180);
      }
      delay(10); 
    }

Circuit image 如果有人能够指出什么是错的,我会非常感激!!

2 个答案:

答案 0 :(得分:1)

您有浮动输入。如果没有按下按钮,则针脚不会连接任何东西。因此,引脚可以读取从环境中拾取的任何噪声。您需要下拉或上拉电阻。如果您使用上拉,那么您可以使用芯片内置的上拉。

你似乎也混淆了analogRead和digitalRead。它的digitalRead变为HIGH和LOW。对于0到5V,analogRead从0到1023获取值。

答案 1 :(得分:0)

pull-down resistor circuit

尝试看一下以了解概念 这样可以确保当您不按该引脚时,该引脚将读取接地,并且仅当按该按钮时,您才能使分压器将电压升高至非零值,从而使电压高