我正在摆弄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 如果有人能够指出什么是错的,我会非常感激!!
答案 0 :(得分:1)
您有浮动输入。如果没有按下按钮,则针脚不会连接任何东西。因此,引脚可以读取从环境中拾取的任何噪声。您需要下拉或上拉电阻。如果您使用上拉,那么您可以使用芯片内置的上拉。
你似乎也混淆了analogRead和digitalRead。它的digitalRead变为HIGH和LOW。对于0到5V,analogRead从0到1023获取值。
答案 1 :(得分:0)
尝试看一下以了解概念 这样可以确保当您不按该引脚时,该引脚将读取接地,并且仅当按该按钮时,您才能使分压器将电压升高至非零值,从而使电压高