arduino控制一个光电开关和多个舵机代码
时间: 2024-05-09 22:15:19 浏览: 12
以下是使用Arduino控制光电开关和多个舵机的代码示例:
```
#include <Servo.h>
Servo servo1;
Servo servo2;
int pos1 = 0;
int pos2 = 0;
int sensorPin = 2;
int sensorState = 0;
void setup() {
servo1.attach(9);
servo2.attach(10);
pinMode(sensorPin, INPUT);
}
void loop() {
sensorState = digitalRead(sensorPin);
if (sensorState == HIGH) {
// 光电开关检测到物体,舵机转动
for (pos1 = 0; pos1 <= 180; pos1 += 1) {
servo1.write(pos1);
delay(15);
}
for (pos2 = 180; pos2 >= 0; pos2 -= 1) {
servo2.write(pos2);
delay(15);
}
} else {
// 光电开关未检测到物体,舵机回到初始位置
for (pos1 = 180; pos1 >= 0; pos1 -= 1) {
servo1.write(pos1);
delay(15);
}
for (pos2 = 0; pos2 <= 180; pos2 += 1) {
servo2.write(pos2);
delay(15);
}
}
}
```
在以上代码中,我们使用了一个光电开关,将其连接到Arduino的Digital Pin 2。当检测到物体时,两个舵机会依次转动,使机器臂转向检测到的物体。当物体离开光电开关的检测范围时,舵机会回到初始位置。
请注意,以上代码仅供参考,具体的电路和代码可能需要根据您的实际需求进行修改。