找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4294|回復: 0
收起左側(cè)

Arduino 云臺旋轉(zhuǎn)燈設(shè)計實驗

[復制鏈接]
ID:426684 發(fā)表于 2018-12-8 14:35 | 顯示全部樓層 |閱讀模式
IMG_20181208_142750_1.jpg

效果視頻
硬件:
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轉(zhuǎn)向的角度
myservo2.write(0); // 指定舵機2轉(zhuǎn)向的角度
}
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轉(zhuǎn)向的角度
delay(sd); // 等待sdms讓舵機到達指定位置
if(pos1 < 90){
myservo2.write(pos1); // 指定舵機2轉(zhuǎn)向的角度 0-90
delay(sd); // 等待sdms讓舵機到達指定位置
}else{
myservo2.write(180-pos1); // 指定舵機2轉(zhuǎn)向的角度 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轉(zhuǎn)向的角度
delay(sd); // 等待sdms讓舵機到達指定位置
if(pos1 > 90){
myservo2.write(180-pos1); // 指定舵機2轉(zhuǎn)向的角度 0-90
delay(sd); // 等待sdms讓舵機到達指定位置
}else{
myservo2.write(pos1); // 指定舵機2轉(zhuǎn)向的角度 180-90
delay(sd); // 等待sdms讓舵機到達指定位置
}
}
}

* 改成流水燈盤可能效果更好.



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表