怎么写舵机正转时红灯亮,反转就绿灯亮,如果停止转就都不亮的命令啊
以下是示例代码,可以实现您所描述的功能:
#include <Servo.h>
Servo myservo;
int pos = 90; // 初始舵机位置为 90 度
int redLED = 2; // 红灯接在 2 号引脚
int greenLED = 3; // 绿灯接在 3 号引脚
void setup() {
myservo.attach(9); // 舵机接在 9 号引脚
pinMode(redLED, OUTPUT); // 设置红灯为输出引脚
pinMode(greenLED, OUTPUT); // 设置绿灯为输出引脚
}
void loop() {
// 让舵机正转
for (pos = 90; pos <= 180; pos += 1) {
myservo.write(pos); // 移动舵机
digitalWrite(redLED, HIGH); // 打开红灯
digitalWrite(greenLED, LOW); // 关闭绿灯
delay(15); // 等待舵机到达目标位置
}
// 让舵机反转
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos); // 移动舵机
digitalWrite(redLED, LOW); // 关闭红灯
digitalWrite(greenLED, HIGH); // 打开绿灯
delay(15); // 等待舵机到达目标位置
}
// 让舵机停止运动
myservo.write(90); // 将舵机位置设置为初始位置
digitalWrite(redLED, LOW); // 关闭红灯
digitalWrite(greenLED, LOW); // 关闭绿灯
delay(1000); // 等待 1 秒钟
}
注释:以上代码中,舵机接在数字引脚 9 上,红灯接在数字引脚 2 上,绿灯接在数字引脚 3 上。在 loop() 函数中,首先让舵机正转,同时打开红灯;然后让舵机反转,同时打开绿灯;最后让舵机停止运动,同时关闭红灯和绿灯,延时 1 秒钟后再开始下一轮循环。通过 digitalWrite() 函数可以控制 LED 灯的开关状态。
终端输入:
sudo vi /home/pi/.arduino/preferences.txt
找到刚刚的位置,按照刚刚说的修改就ok