标题:
Arduino 云台旋转灯设计实验
[打印本页]
作者:
探索软件
时间:
2018-12-8 14:35
标题:
Arduino 云台旋转灯设计实验
IMG_20181208_142750_1.jpg
(112.68 KB, 下载次数: 51)
下载附件
2018-12-8 14:35 上传
效果视频
https://pan.baidu.com/s/1GzSrriU5vdNXbMURQlKB6w
硬件:
Arduino x1
双舵机云台 x1
自制LED灯盘 x1
代码:
#include <Servo.h>
Servo myservo1; //第一个舵机
Servo myservo2; //第二个舵机
#define LED 4 //第一个LED正极接引脚4
int pos1 = 0; // 该变量用与存储舵机1角度位置
int pos2 = 0; // 该变量用与存储舵机2角度位置
int sd=20; //速度
void setup()
{
pinMode(LED,OUTPUT); //定义输入
myservo1.attach(2); // 该舵机由arduino第2脚控制
myservo2.attach(3); // 该舵机由arduino第3脚控制
myservo1.write(0); // 指定舵机1转向的角度
myservo2.write(0); // 指定舵机2转向的角度
}
void loop()
{
for(pos1 = 0; pos1 < 180; pos1 += 1){ // 从0度到180度运动 每次步进一度
if (pos1%2==1)digitalWrite(LED,HIGH);else digitalWrite(LED,LOW); //LED灯盘闪烁
myservo1.write(pos1); // 指定舵机1转向的角度
delay(sd); // 等待sdms让舵机到达指定位置
if(pos1 < 90){
myservo2.write(pos1); // 指定舵机2转向的角度 0-90
delay(sd); // 等待sdms让舵机到达指定位置
}else{
myservo2.write(180-pos1); // 指定舵机2转向的角度 90-0
delay(sd); // 等待sdms让舵机到达指定位置
}
}
for(pos1 = 180; pos1 >=0 ; pos1 -= 1){ // 从0度到180度运动 每次步进一度
if (pos1%2==1)digitalWrite(LED,HIGH);else digitalWrite(LED,LOW); //LED灯盘闪烁
myservo1.write(pos1); // 指定舵机1转向的角度
delay(sd); // 等待sdms让舵机到达指定位置
if(pos1 > 90){
myservo2.write(180-pos1); // 指定舵机2转向的角度 0-90
delay(sd); // 等待sdms让舵机到达指定位置
}else{
myservo2.write(pos1); // 指定舵机2转向的角度 180-90
delay(sd); // 等待sdms让舵机到达指定位置
}
}
}
* 改成流水灯盘可能效果更好.
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1