找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3602|回复: 0
打印 上一主题 下一主题
收起左侧

Arduino 云台旋转灯设计实验

[复制链接]
跳转到指定楼层
楼主


效果视频
硬件:
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让舵机到达指定位置
}
}
}

* 改成流水灯盘可能效果更好.



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表