如何用 Arduino 制作一个伺服按钮?
How to make a servo push a button with Arduino?
我正在尝试用 Arduino 复制玩具 "uselsess 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;
}
我正在尝试用 Arduino 复制玩具 "uselsess 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;
}