找回密碼
 會員登記
查看: 12204|回復: 25
打印 上一主題 下一主題

FW : 推大家落火坑之:新手玩 LED 分享編

[複製鏈接]

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
跳轉到指定樓層
#
發表於 2016-1-31 10:13:21 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
最近喺 FB 一個高達模型交易區見到有一位有心人分享模型加 LED 燈既心得
而且唔係一般加燈,而係可以控制燈點樣閃,又或者自動跟音樂去閃,真係非常吸引!
問準左發帖人既同意後,我會將佢既心得 FW 過嚟同大家分享~

出處:高達模型交易區HKGEx

作者:Perre Pang

1. 新手玩LED分享編01


2. 新手玩LED分享編02


3. 新手玩LED分享編03


4. 新手玩LED分享編04


5. 新手玩LED分享編05


6. 新手玩LED分享編06

7. 新手玩LED分享編07

回復

使用道具 舉報

38

主題

337

帖子

3098

積分

元老大師

Rank: 8Rank: 8

積分
3098
25#
發表於 2016-3-7 23:38:11 | 只看該作者
envything
網上找到這個教學短片…
有興趣的朋友,如果想將 arduino 縮細放入心愛的模型內,請看完整段片哦…



回復 支持 反對

使用道具 舉報

21

主題

79

帖子

663

積分

精通玩家

Rank: 4

積分
663
24#
發表於 2016-2-15 23:37:51 | 只看該作者
大魔先生 發表於 2016-2-2 00:53
閣下有點誤會了…我講的是貼片 led 燈

就是以下的規格

Sorry, 令你誤會左, 唔係話你計錯, 我只係想貼條link出黎方便大家計!

無記錯的話, 去TB買一般3mm LED, 係有自已會閃既LED, 又有3隻腳可以控制出唔同色, 仲有7彩既閃光LED
將3mm LED打磨一下都可以用到係1/144模型!

七彩LED快閃實測
https://www.youtube.com/watch?v=gGjAqjQonrw
回復 支持 反對

使用道具 舉報

38

主題

337

帖子

3098

積分

元老大師

Rank: 8Rank: 8

積分
3098
23#
發表於 2016-2-7 21:10:39 | 只看該作者
GameplayHK俊 發表於 2016-2-7 13:55
有時間我都想玩下~
睇到佢可以跟住音樂轉色就覺得好正 XDD

玩啦玩啦!

但係你睇個位網友,應該不是將 arduino 卡放入模型的…應該是用了 一些小型 晶片 來安裝

因為 arduino 卡放入 1/60 既模型都好勉強啊
回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
22#
 樓主| 發表於 2016-2-7 14:04:45 | 只看該作者
推大家落坑之:新手玩LED分享編07
==============================
因為這幾天工作太忙以至有所延誤,不好意思,而下一編亦用農歷年要做工人爸爸所以又要延誤一番了。
.
言歸正傳,上編講過了LED燈會每隔一秒便著和熄,大家都試過了嗎?今天會講講如何加一個開閉掣。
.
在Arduino的開關掣理念跟家中電燈的開關有點不同,家中的是把電線Cut斷再用開關撘通,但如果Arduino都用同一個方法,倒不如用電拖板的開關便算,而且你想想,如果我有3組燈在3個不同的Pin,今天我想按開關會三組燈都著晒,明天想改為只開二組,後天想改為一組,那要天天又剪線又駁線嗎?
.
所以Arduino改用程式碼去操控,如果程式偵測到開關掣通電,便比訊息Pin 1或Pin 2或者Pin 1,2,3同時著燈,那你每天只改一改少少程式碼便OK了,很方便吧.
.
先來一個懶人包吧,懶人們可以依照圖一連接LED和開閉掣,然後把下邊的Code上傳便立即可使用了。
.

.
附上接線圖
.
---------------程式碼如下------------
int ledPin = 13;
const int buttonPin = 2;
int buttonState = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH){
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
else{
digitalWrite(ledPin, LOW);
}
}
----------------------完----------------------
.
大家有留意到跟之前06編有什麼地方不同嗎?細心對比一下,你會發現多了:-
.
const int buttonPin = 2; <—這句意思是告訴底板現在有一個按鈕用了2號窿窿
.
int buttonState = 0; <— 比一個初始值佢,由0開始同埋0先代表熄燈
.
pinMode(buttonPin, INPUT); <— pinMode前一章講過了,係話比底板知,呢個窿窿係做輸出定輸入?
.
buttonState = digitalRead(buttonPin); <— 呢句係定義乜係buttonState? 原來ButtonState = 利用digitalRead (呢個指令係叫底板去讀一下而家個Pin咩情況) 去讀取 2 號窿窿嘅狀態
.
if (buttonState == HIGH){ <— 今次用了新野,就係 if …. else …. 即係如果 ButtonState == HIGH (==代表絕對等如) 便執行下邊間歇閃燈的動作,else 代表反之,便執行熄燈(用LOW去叫佢Cut電)的動作
.
好了,去到呢一編,大家可以把舊的模型,將3mm LED改做SMD貼片式LED,然後放入高達個頭裡邊,試下令佢眼仔會間歇閃燈吧,當係練習練習。
回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
21#
 樓主| 發表於 2016-2-7 14:02:11 | 只看該作者
推大家落坑之:新手玩LED分享編06
==============================
.

上回講到好簡單好簡單咁用蚊電插電方式去令到LED著同熄,今回仍然基於呢個蚊電插電的方式去控制LED,但今次我會把LED燈的效果改到每隔一秒便自動著同熄,在硬件方便用番上次果套乜都唔洗加減,只係把下邊程式Copy & Upload便可以了。
比對上次的程式碼,我們仍然用回13號窿窿,但在 void loop 裡邊加入了 DigitalWrite 的 High 同 Low 去指示開燈和熄燈,而且還加多一個 Delay (),這個 () 內的數字是千分之一秒,如1000便等如1秒,500便等同半秒,100便是10分1秒,2000就是2秒了,自己可以因應自己需要修改間歇的時間。
.

.
下回預告:在這個基礎上加上一個開關掣
.
————程式碼如下----
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
20#
 樓主| 發表於 2016-2-7 13:55:42 | 只看該作者
大魔先生 發表於 2016-2-7 01:55
呢處有這些教學,人氣必會上升!
而且 arduino 係一個開放平台,日後大家有程式的可以分享一下啊。

有時間我都想玩下~
睇到佢可以跟住音樂轉色就覺得好正 XDD
回復 支持 反對

使用道具 舉報

38

主題

337

帖子

3098

積分

元老大師

Rank: 8Rank: 8

積分
3098
19#
發表於 2016-2-7 01:55:49 | 只看該作者
本帖最後由 大魔先生 於 2016-2-7 02:01 編輯
GameplayHK俊 發表於 2016-2-6 23:37
我都係借人地d野嚟 FW 咋 XD

呢處有這些教學,人氣必會上升!
而且 arduino 係一個開放平台,日後大家有程式的可以分享一下啊。


回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
18#
 樓主| 發表於 2016-2-6 23:37:51 | 只看該作者
大魔先生 發表於 2016-2-6 23:12
俊哥…十分好之教學啊。

我都係借人地d野嚟 FW 咋 XD
回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
17#
 樓主| 發表於 2016-2-6 23:37:24 | 只看該作者
推大家落坑之:新手玩LED分享編05
============================
唔覺唔覺又來到05編,我可以講呢編超重要,所以呢編我盡量簡單步驟,只做插電=著燈,蚊電=熄燈,咁將來的什麼開關掣、紅外線之煩,其實都係控制比電原理吧,所以先試下手動蚊電插電先。
有人實會問,妖!蚊電插電駁電芯咪得囉,攪咁多野又Arduino做乜?但因為"萬變"不離"其中",將來的編幅是萬變,呢編係其中,即係話將來每編都由呢編堆叠上去的,所以還是忍受一下吧!
.
好吧!大家還記得我之前講左LED嗎?我先用3mm LED去試一下吧。
.

1. 附圖1:把LED的正極插向端口(Pin)13號個窿窿,還記得哪支係正極嗎?長腳蟹係正極、短腳仔係負極吧!所以長腳插入13號,短腳插入13號旁的GND(有人叫地線、有人叫負極、官方叫GND = Ground)
.


2. 附圖02同03:係插好左嘅樣貌,上邊叫左大家直接插左入去塊板裡面,我突登插多二種方法比大家參考


02係插入面包板,因一支燈做假組為求快靚正所以直插吧,如果多幾支,塊板會好迫好亂,所以會用面包板


03係我把燈駁上長電線才能插落塊板,大家可想想,支燈放入高達個頭,然後電線經過身體再由背包或腳底出來,而塊Arduino便收埋地台底像獨角獸PG或其他地方,就係從03的方法引伸出來的,但燈頭當然要轉細細粒的SMD吧,大家好奇怪前二編叫大家買電阻,但叫左我買又唔用?原因係Arduino電壓未必燒燈,但唔用嘅話,好多人講正常可長著一年壽命,唔用可能半年便燒了,我未考証!但我可肯定用左電阻應該慳左電,因我有USB電壓計,用電阻使用的電流(MA)係少D,即意味住手機火牛,一般只有500MA但可以頂多幾支燈。而一支LED說明書話用10-20MA的。(實際好似無咁多,我用220歐姆後約2-5MA左右的)
.
3. 然後把下邊呢6行的Code先Copy然後貼上IDE再上傳到Arduino。唔記得點上傳?麻煩搵番上編04吧。
.
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
}
.
4. 跟住便完成了,以後你每插上USB又好、火牛又好,呢支燈都會著的,蚊電便會熄,就係咁簡單了。
.
上邊的都係懶人包,插燈、抄Code、上傳、完成!
.
但總有人想知多D、學多D的,咁下邊有少少貼士關於呢段Code:
.
呢段Code係用電腦語言C寫出來,而在Arduino裡面的格式會分成三段,而三段分別為定義、設定和執行。
.
定義:由第一行到void setup() {上面一行全都為定義,咁啱我呢段只有一行吧了,定義作用係設定一些東西,我今次就係用int呢個字話比系統知,我要定義ledPin這個名係用13號Pin,咁將來你要轉另一個窿窿時,記得改左呢個Number.
int ledPin = 13;
.
void setup() {之下係設定部份,而void loop() {這句意思係我想話比系統聽,我要設定{ }裡邊的東西。
而我今次設定了一句 pinMode(ledPin, OUTPUT); <<<--呢句目的係用pinMode話比系統之我的ledPin預設狀態係OUTPUT輸出,還記得上一點嗎?我們定義左ledPin呢個名=13,所以我地唔寫名,改寫13都一樣的,但如果ledPin將會出現100次而你又要轉去10號窿窿,咁你就要改100次了,所以定義係方便日後修改的。
.
好了,有OUTPUT就梗有INPUT啦,但今次我地目的係輸出訊號比LED,所以用OUTPUT,咁咩情況會用INPUT呢?下一編的開關掣會用到的。
.
最後執行係由void loop() {開始,裡邊在{ }包住之中都係叫系統執行的,今次程式碼好簡單,只有一句digitalWrite(ledPin, HIGH);
.
呢句意思係
digitalWrite - 係一個指令,意思係話比系統知,我有個"數碼的訊息"要攪攪!咁有Digital就有Analog啦,仲記得A0-A5窿窿嗎?某天要插個紅外線接收入去,咁紅外線係屬於Analog類別,到時便要用Analog了。
ledPin - 不再解釋了
HIGH - 係話比系統知,我13號窿窿要做HIGH呢個動作,但我諗唔到咩字詞去解釋HIGH,但係Arduino裡邊,HIGH=比電、LOW=熄電,就係咁啦
.
小弟只學了C語言二個月,非專家,又非老師,但呢段程式係可用,只是怕解釋錯,如有大神發現,麻煩指點一下。
.
最後因為Facebook貼相便不能同時貼片,我影左最後效果的片放了在YouTube,有興趣可睇下:http://youtu.be/fNVd3139v9U
.
寫住咁多先,發現講漏今晚再出補充吧。
.
下回預告:
在電,現有的基楚上令到LED每隔一秒會開和熄!
回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
16#
 樓主| 發表於 2016-2-6 23:31:10 | 只看該作者
推大家落坑之:新手玩LED分享編04
==============================
今日要講下最後一件硬件,便是Arduino了。
.
我這編分享會用的型號是UNO,體積雖不及mini像手指甲般大,但很適合新手如我去使用。將來大家升呢,可以玩下不同型號的
.
這編文章可能有點長,我盡量簡單易明地吹下吧,希望將來有人問你玩緊乜,你都吹到大約係乜啦。
.
Arduino咁其實係乜?佢其實係一間意大利公司開發出來的,用一顆8bit的控制器去執行一些指令,8bit?家陣window 10都64bit啦!無錯,佢真係8bit,但做好多野都桌桌有餘了!咁佢又可以做D乜?其實佢好強大,可以做:
.
1. 我用來玩LED放入模型裡邊


2. 有人用佢來做智能家居,用平板控制窗簾、電燈、煲咖啡甚至屋企大門開閉(附上書本封面,目錄不錯但我無買)

3. 也有波蘭藝術團用來制造音樂魔方(賣1288蚊美元),加12個人體感應器,跟隨舞者跳舞而動(唔明?睇下呢條片便明咩叫魔方,女主角仲幾靚Tim "http://v.youku.com/v_show/id_XNDc0ODQ3NzIw.html?x")


4. 亦有人用來做四軸飛機配合iPad做搖控(附上照片)


5. 也有人做智能機械人(附上書本封面,目錄不錯但我無買)

6. 你公司出入拍咭或夜晚的有人經過會響的保安系統
.
睇完以上後,點睇都係玩LED最簡單吧,家陣Arduino在地球超火紅,小學生都玩到不奕樂乎,你唔係唔得丫麻?(http://www.kenming.idv.tw/adult_electric_toys_favorites_ras…)
.
跟住大家又會問,淘寶咁多係咪假貨黎架?其實呢間意大利公司用左開放源碼,任何人都可以用佢地晶片去生產或改造屬於自己的Arduino,只要乎合開放源碼便可,所以不存在翻版問題,只存在質量問題,所以買之前留意一下口啤便可以了。
.
意大利官網:http://www.arduino.cc
國內官網:http://www.arduino.cn
.
好啦好啦,講左咁多無謂野,係時候講番塊板了,附上一張意大利版的圖片,但不論任何版本,淘寶又好台灣也好,只要是Arduino UNO,板面的排位針腳應是一樣的,只有字面可能不同。
.
雖然官網有超長盡,但我只介紹重點將來會用的地方吧

圖中藍箭咀是USB頭,你可以接駁電腦用來上傳程式或供電,或插去手機火牛比電又得,只要是5V USB便可,而要幾多A電流,1A乜都夠玩了,所以手機火牛絕對OK。
.
綠色箭咀係2.1mm火牛插頭,只要符合7-12V電壓的火牛便可以用了,例如家中什麼IP Cam火牛、放濕機火牛又好,只要符合7-12V之間便OK,或者去鴨記買一隻又得!
.
而紅色線那一排,基本上0和1是不會用的,而2-13號是digital output,即是所有燈腳插入去的地方,你可以當佢係正極先,在13號旁有個GND即接地,亦即負極,所以你可在2-13每窿插一支燈腳又得,一個窿插一排又得,另一腳插負極燈腳便OK,就係咁簡單。
.
至於像9、10、11號窿的數字見到有個 - 係旁邊,咁又乜意思?佢代表呢幾個窿(UNO有6個)支持援脈衝寬度,哇~~~脈衝高達我就識,你呢個字咁Q深?其實佢唔深的,只要支LED要定時閃、要慢慢熄燈等等非一下便著晒熄晒,便會用呢幾個窿,概念係咁,好簡單!
.
好啦最後係橙色線,果度有組寫住A0-A5的窿窿,咁又係乜?A字代表Analog,即模擬,呢6個窿窿除了跟上邊一樣做Digital Output外,還可做模擬輸入的,咩時候會用?例如你想剪斷Head Phone個頭,然後將電線插入個塞,咁佢就可讀取電線上的訊號,有乜用?讀來做乜?遲下先講。
.
同一行還有三個窿窿會用,上面講左GND但得一個?而output窿窿有2-13和A0-05共16個?玩16P會頂唔住的,所以Arduino好好心比多2個GND窿窿你插下,真感恩!
.
最後在GND旁係寫住5V的,佢係輸出5V電壓的,咁又跟上邊果16個窿有乜唔同?上邊個16個除了輸出5V外,還有數據同時輸出的,而這5V窿窿純比電,無訊號的,將來如玩我那套LED跟音響跳時便會用到,到時再吹啦!
.
另外,大家係需要係你的電腦如window或mac上安裝Arduino的程式,它叫IDE,用來把程式上傳的,軟件可以官方網下載,"https://downloads.arduino.cc/arduino-1.6.7-windows.zip",點安裝就唔詳說了,都係Next又next便攪掂,好Easy.
.

裝好軟件後,你必需要在工具裡面,在云云的不同Arduino點選UNO這個型號,而在序列阜都要對上端口的,以Window為例,端口應該是 COM? (?=一個數子),因為不對應控制板,程式碼係上傳唔到的。
另因我用MAC機,所以截圖可能有點不同,不好意思不好意思~~~

今日講住咁多先,下星期一再吹,到時會教大家駁線開著第一支燈吧,我希望做到大家跟住我幅圖插線,再Copy我的Code上傳去Arduino便可,盡量照顧唔想諗嘅朋友吧!
亦即懶人包,唔洗問唔洗諗照做便OK,但都會寫埋註解比想知多D嘅人。

回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 會員登記

本版積分規則

GMT+8, 2024-5-2 12:13 , Processed in 0.107546 second(s), 27 queries .

© 2001-2011 Powered by Discuz! X3.2.

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