趣小组
[ MAKE ]
首页
节点
分享
创造
问与答
二手交易
编程
电子
树莓派
Arduino
手工
小玩意
ACG 二次元
科学
文化
电影
宠物
旅行
技术支持
登录
注册
首页
问与答
用按钮控制伺服马达旋转90度 再用碰撞传感器转回0度
eobeom
25cm
•
2020-12-20
•
1058 次点击
一个自动开门装置 用按钮按一次可以让伺服马达转90度使门打开 再用碰撞传感器按一次转回来把门锁上 这样一直循环 请问下面这个程序哪里写错了 这个程序连接之后 按钮按下没有反应 碰撞感应器只有一直按着才会转而且会从90度转到0度再转回90度 请问应该怎么改? ``` #include <Servo.h> Servo servo; int crash = 7; int pin_button=8; void setup() { pinMode(pin_button,INPUT); Serial.begin(9600); servo.attach(6); pinMode(crash,INPUT); } void loop() { while(digitalRead(pin_button)){ servo.write(90); } while(digitalRead(crash)){ servo.write(0); } } ```
一个自动开门装置 用按钮按一次可以让伺服马达转90度使门打开 再用碰撞传感器按一次转回来把门锁上 这样一直循环 请问下面这个程序哪里写错了 这个程序连接之后 按钮按下没有反应 碰撞感应器只有一直按着才会转而且会从90度转到0度再转回90度 请问应该怎么改?
```
#include <Servo.h>
Servo servo;
int crash = 7;
int pin_button=8;
void setup() {
pinMode(pin_button,INPUT);
Serial.begin(9600);
servo.attach(6);
pinMode(crash,INPUT);
}
void loop() {
while(digitalRead(pin_button)){
servo.write(90);
}
while(digitalRead(crash)){
servo.write(0);
}
}
```
收藏
♥ 感谢
mike
25.1m
2020-12-20
♥ 1
while是个循环,他是要你一直满足条件才继续循环。你应该在servo.write后面加上delay,传感器检测用软件中断就好。
登录
或
注册
后可回复。
›
怎样进行有效的提问?