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);
}
电路图 如果有人能指出问题所在,我将不胜感激!!
解决方案
您有浮动输入。未按下按钮时,引脚未连接任何东西。因此,该引脚可以读取它从环境中拾取的任何噪音。您需要下拉或上拉电阻。如果你使用引体向上,那么你可以使用芯片内置的。
您似乎也混淆了analogRead 和digitalRead。是 digitalRead 得到 HIGH 和 LOW。对于 0 到 5V,analogRead 获取从 0 到 1023 的值。
推荐阅读
- javascript - 当在另一个输入元素中显示和编辑时,如何更新本地存储中保存的输入值?
- c# - CreateEnvelope() 抛出异常。没有消息
- kotlin - 以可变小时数舍入到顺序值 - Kotlin
- google-sheets - 如果未使用公式,则对 Google 表格进行条件格式设置
- javascript - 除非我在调试器中遍历代码,否则 iframe 似乎不会更新 src
- python - scipy.solve_ivp:在第二次发生事件时终止轨迹
- reactjs - 基于函数参数的条件类型检查
- python - Python 中的文本冒险游戏 - 从具有加权属性的文本文件中创建随机选择的项目
- c++ - 是 %x printf 说明符的 long OK 类型的参数吗?
- javascript - javascript FullCalendar eventClick info.jsEvent.preventDefault(); 无法正常工作