第1篇:用Arduino控制曲別針電動(dòng)機(jī)
第2篇:非接觸式開(kāi)關(guān)的制作與控制
第3篇:自制電磁執(zhí)行器的制作方法
我們推出了一項(xiàng)新計(jì)劃,即通過(guò)使用了Arduino的簡(jiǎn)單制作來(lái)學(xué)習(xí)電子制作的原理和基礎(chǔ)知識(shí)。此次為我們分享的嘉賓是伊藤尚未先生,他活躍于媒體藝術(shù)領(lǐng)域,并且在書籍領(lǐng)域以講解“更深層次的原理”而聞名。第4篇我們將用Arduino來(lái)控制RGB LED燈。
目錄
前言
閃光燈動(dòng)畫
用Arduino控制電機(jī)
控制三色LED
享受千變?nèi)f化的動(dòng)畫
1. 前言
大家好!我是伊藤尚未。
這次我想嘗試制作一個(gè)可以稱之為動(dòng)畫的原理和鼻祖的“走馬盤”?!白唏R盤”也被稱為“詭盤(phenakistiscope)”,不過(guò)相比之下“走馬盤(Zoetrope)”這個(gè)詞對(duì)于喜歡電子制作的人來(lái)說(shuō)可能更熟悉。無(wú)論哪種,都是在具有某種主題的轉(zhuǎn)盤上設(shè)置一些狹縫,當(dāng)人通過(guò)狹縫觀看時(shí),狹縫便起到快門的作用,轉(zhuǎn)盤旋轉(zhuǎn)時(shí)讓人感覺(jué)像在看動(dòng)畫。
這是1830年代在歐洲發(fā)明的視覺(jué)玩具,有平面的、立體的、鏡像的和另設(shè)快門的,產(chǎn)品形式多樣。類似于翻書動(dòng)畫,也可以說(shuō)是當(dāng)今影視技術(shù)的鼻祖。
如果嘗試以電子作品的形式展現(xiàn)出來(lái)的話,就需要通過(guò)使LED等光源閃爍來(lái)使人看到的瞬間連續(xù)起來(lái)。通過(guò)將LED燈控制為連續(xù)閃光燈并使繪有連續(xù)圖畫的轉(zhuǎn)盤旋轉(zhuǎn)起來(lái),即可表現(xiàn)出動(dòng)畫的效果。這也是因?yàn)榘咨獿ED的發(fā)明,加之電路配置變得更簡(jiǎn)單了,才讓我們能夠享受其中的制作樂(lè)趣。
雖然在書籍和網(wǎng)絡(luò)上已經(jīng)有多種多樣的制作介紹,但我突發(fā)奇想,如果不僅僅用白色LED閃爍,而是用RGB閃爍的方式,應(yīng)該會(huì)有更豐富的表現(xiàn)吧,所以我決定制作出來(lái),并介紹給大家。
2. 閃光燈動(dòng)畫
我通常在工作室等進(jìn)行電子制作,但最近,用簡(jiǎn)單的電路使LED閃爍的制作,以及將其燈光照射到繪有圖畫的轉(zhuǎn)盤上形成動(dòng)畫的項(xiàng)目多起來(lái)了。
這種裝置通常采用由晶體管、電阻器和電容器組成的簡(jiǎn)單振蕩電路,不過(guò)在這次的作品中,我讓閃爍速度也成為可調(diào)的了。
很遺憾的是,不知道是視頻中的幀率問(wèn)題還是什么原因,效果沒(méi)有很好地拍攝出來(lái)。從視頻中可以看到,轉(zhuǎn)盤的轉(zhuǎn)速會(huì)逐漸變慢并最終停止,動(dòng)畫的速度也隨之變化。
3. 用Arduino控制電機(jī)
我希望它一直以相同的速度旋轉(zhuǎn),所以我決定制作一個(gè)用電機(jī)驅(qū)動(dòng)的裝置。電機(jī)使用的是“萬(wàn)寶至”公司生產(chǎn)的“FA-130RA”。

從包裝上看,正常轉(zhuǎn)速是6500rpm,感覺(jué)這個(gè)速度有點(diǎn)太快了,所以我決定通過(guò)控制讓轉(zhuǎn)速慢一些。

我做了一個(gè)支架用來(lái)將轉(zhuǎn)盤的軸固定在上方,用皮帶輪將電機(jī)的旋轉(zhuǎn)傳遞給轉(zhuǎn)盤,并使用Arduino的模擬輸出來(lái)控制電機(jī)的旋轉(zhuǎn)速度。

我使用了ROHM的晶體管“2SD1866”進(jìn)行驅(qū)動(dòng)。

完整的作品樣子如下:

由于電機(jī)在開(kāi)始轉(zhuǎn)動(dòng)時(shí)需要一定的動(dòng)力,因此很難從一開(kāi)始就減速,所以我先讓電機(jī)轉(zhuǎn)起來(lái),然后再使之低速轉(zhuǎn)動(dòng)。為此,我做了一個(gè)可以用手旋轉(zhuǎn)進(jìn)行調(diào)節(jié)的半可調(diào)電阻器旋鈕裝置,這樣就可以手動(dòng)控制轉(zhuǎn)速了。
使用Arduino進(jìn)行模擬輸入,以控制電機(jī)。電路圖如下:

使用電機(jī)控制用的晶體管“2SD1866”進(jìn)行驅(qū)動(dòng),并由一節(jié)干電池提供1.5V電壓。將這些部件組裝在面包板上之后的示意圖如下:


草圖如下。其機(jī)制是通過(guò)A0引腳將半可調(diào)電阻器的值模擬輸入,并通過(guò)引腳9經(jīng)由20kΩ的電阻器驅(qū)動(dòng)連接到晶體管集電極的電機(jī)。
int Value01 = 0;
void setup() {
Serial.begin(9600);
pinMode(9, OUTPUT);
}
void loop() {
int Value01 = analogRead(A0);
Serial.println(Value01);
analogWrite(9, Value01 / 4);
}
當(dāng)我實(shí)際嘗試使其轉(zhuǎn)動(dòng)起來(lái)時(shí),轉(zhuǎn)盤竟然能夠以很低的速度旋轉(zhuǎn)。當(dāng)我用前面用過(guò)的閃光燈照射轉(zhuǎn)盤時(shí),它表現(xiàn)如下:
4. 控制三色LED
現(xiàn)在,為了提高亮度,我打算增加LED的數(shù)量。此外,為了制作出最初想象中的RGB LED,我分別采用了5個(gè)紅色、綠色和藍(lán)色的LED。
為了讓Arduino控制這些LED,我決定也用晶體管“2SD1866”來(lái)驅(qū)動(dòng)。
電路圖如下:

每個(gè)晶體管由Arduino的引腳11、引腳12和引腳13驅(qū)動(dòng),紅色對(duì)應(yīng)引腳13,綠色對(duì)應(yīng)引腳12,藍(lán)色對(duì)應(yīng)引腳11。外部電源為3節(jié)干電池,4.5V。我把它們焊接到了萬(wàn)用板上并接線。電路板接線圖如下:


為了便于照亮安裝在電機(jī)底座上的轉(zhuǎn)盤,我將該LED板安裝在傾斜的底座上,另外還在電機(jī)底座上安裝了Arduino和面包板等部件。由于LED的光線不夠均勻,所以我為L(zhǎng)ED安裝了擴(kuò)散罩。

從電機(jī)底座的后面看,樣子如下:

將其與Arduino連接。首先,為了讓所有的LED同時(shí)閃爍,在前面提到的電機(jī)控制部分基礎(chǔ)上,草圖中又增加了部分內(nèi)容:
int Value01 = 0;
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
Serial.begin(9600);
pinMode(9, OUTPUT);
}
void loop() {
int Value01 = analogRead(A0);
Serial.println(Value01);
analogWrite(9, Value01 / 4);
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(1);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
delay(49);
}
當(dāng)前設(shè)置為點(diǎn)亮0.001秒,熄滅0.049秒,每秒閃爍20次。由于RGB同時(shí)閃爍,光的三原色合在一起發(fā)出白色的光,所以動(dòng)畫看起來(lái)像之前的閃光燈動(dòng)畫。

5. 享受千變?nèi)f化的動(dòng)畫
下面,我們讓RGB錯(cuò)開(kāi)時(shí)間亮起。除了全部亮起形成白色光之外,還可以通過(guò)錯(cuò)開(kāi)時(shí)間讓紅色、綠色和藍(lán)色LED分別亮起,來(lái)使轉(zhuǎn)盤上的圖形顯示不同的顏色。草圖如下:
int Value01 = 0;
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
Serial.begin(9600);
pinMode(9, OUTPUT);
}
void loop() {
int Value01 = analogRead(A0);
Serial.println(Value01);
analogWrite(9, Value01 / 4);
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(1);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
delay(13);
digitalWrite(13, HIGH);
delay(1);
digitalWrite(13, LOW);
delay(11);
digitalWrite(12, HIGH);
delay(1);
digitalWrite(12, LOW);
delay(11);
digitalWrite(11, HIGH);
delay(1);
digitalWrite(11, LOW);
delay(11);
}
這樣,雖然沒(méi)有改變整體的周期,但看起來(lái)像紅色、綠色、藍(lán)色的人在白色人中間奔跑。

如果用來(lái)表演,還可以增加更多表達(dá)方式。可以分別混合顏色,還可以讓它們一會(huì)兒出現(xiàn)一會(huì)兒消失,是不是很有趣?
這讓我想起當(dāng)我還是個(gè)學(xué)生的時(shí)候,在節(jié)目中創(chuàng)造各種模式演出的樂(lè)趣。如今,當(dāng)我確定某個(gè)創(chuàng)意“可行”的時(shí)候,在考慮把創(chuàng)意做成作品時(shí)傾向于直接進(jìn)入完成期了。這種現(xiàn)象也稱為“擱置”(笑)。

最后,把電路圖合在一起,整個(gè)電路圖如上圖所示。1.5V電源用于電機(jī),4.5V電源用于LED,當(dāng)然Arduino也連接了USB。另外,我還進(jìn)行了焊接并使用了面包板。
如您所見(jiàn),這次的電子作品制作中使用了各種手法,不過(guò)我更希望大家也來(lái)挑戰(zhàn)一下!
本系列連載一覽
第1篇:用Arduino控制曲別針電動(dòng)機(jī)
第2篇:非接觸式開(kāi)關(guān)的制作與控制
第3篇:自制電磁執(zhí)行器的制作方法
第4篇:享受控制RGB LED燈的樂(lè)趣(本章)
第5篇:用Arduino控制伺服電機(jī)來(lái)演奏樂(lè)器!
審核編輯黃宇
-
led
+關(guān)注
關(guān)注
243文章
24617瀏覽量
691089 -
電機(jī)
+關(guān)注
關(guān)注
143文章
9604瀏覽量
154196 -
RGB
+關(guān)注
關(guān)注
4文章
831瀏覽量
61996 -
Arduino
+關(guān)注
關(guān)注
190文章
6526瀏覽量
196991
發(fā)布評(píng)論請(qǐng)先 登錄
Arduino學(xué)習(xí)日記之點(diǎn)亮RGB燈
如何通過(guò)MQTT控制RGB LED?
RGB LED燈控制器開(kāi)源分享
RGB LED褪色Arduino庫(kù)開(kāi)源分享
將Arduino Uno與RGB LED連接
使用Arduino和Python Tkinter進(jìn)行RGB Led控制
使用Arduino Uno的多個(gè)RGB Led Chaser
Arduino控制的RGB LED燈條
用于LED燈串的Arduino控制電源
Arduino RGB Led控制通過(guò)PC
用Arduino控制伺服電機(jī)來(lái)演奏樂(lè)器!
帶有Arduino Uno的RGB LED雪花
使用Arduino的Android控制RGB LED燈條
Arduino:享受控制RGB LED燈的樂(lè)趣
評(píng)論