用按钮控制伺服马达旋转90度 再用碰撞传感器转回0度

eobeom 25cm2020-12-201041 次点击
一个自动开门装置 用按钮按一次可以让伺服马达转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,传感器检测用软件中断就好。

登录注册 后可回复。