微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Arduino 制作伺服按钮?

如何解决如何使用 Arduino 制作伺服按钮?


我正在尝试使用 Arduino 复制玩具“usesess Box”,但使用不同的版本。
我有一个按钮、一个 LED 和一个伺服电机。
当我单击按钮时,LED 亮起,2 秒后我希望伺服电机旋转并再次按下该按钮以关闭 LED。
问题是当我按下按钮时 LED 灯亮起,同时伺服电机移动,这样当它点击按钮时 LED 灯不会关闭
代码如下:
#include <Servo.h>

int servoPin = 3;

Servo Servo1;
const int button = 7;
const int led = 8;
int ledState = 0;

void setup() {
 Servo1.attach(servoPin);
 pinMode(led,OUTPUT);
 pinMode(button,INPUT);
}

void loop() {
 if (digitalRead(button) == HIGH) {
   if (ledState == 0) {
     ledState = 1;
     digitalWrite(led,HIGH);

     delay(2000);
     Servo1.write(0);
     delay(1000);
     Servo1.write(100);
     delay(1000);
   }
 }
   else {
     ledState = 0;
     digitalWrite(led,LOW);
     Servo1.write(0);
   }
 }

解决方法

你试过了吗?

bool check = true;
void loop() {
 if (digitalRead(button) == HIGH && check) {
   check = false;
   if (ledState == 0) {
     ledState = 1;
     digitalWrite(led,HIGH);

     delay(2000);
     Servo1.write(0);
     delay(1000);
     Servo1.write(100);
     delay(1000);
   }
   else {
     ledState = 0;
     digitalWrite(led,LOW);
     Servo1.write(0);
   }
 }
if (digitalRead(button) == LOW) {
   check = true;
 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。