找回密碼
 會員登記
查看: 12205|回復: 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

回復

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
沙發
 樓主| 發表於 2016-1-31 10:22:28 | 顯示全部樓層
envything
推大家落火坑之:新手玩LED分享編01

在開始之前, 我想分享一個名詞"假組", 在模型時大家會用假組去看看效果, 然後再想怎配色? 哪裡水口可以不打磨等等, 我個人玩燈也會先假組, 目的係睇下 Program Code 得唔得, 供電work唔work, 燈又會唔會閃, 當確定晒一切才諗點螎入模型裡邊. 所以我會成日用"假組"這詞語的
這編01的目的, 是想講下硬件, 你想砌模型都要先買模型吧, 否則便要玩手指了, 所以想玩LED都要買一下硬件, 下邊是基本的硬件設備:

圖片01 - Arduino控制板 (我淘左$35)
Arduino現在很火紅, 由控制一顆LED到識對話的機械人也可以用它來做控制器, 但價錢不貴時擴充性很高, 所以我會用它來玩LED, 它有N咁多款型號, 但UNO最合適初學者的

圖片02 - 麵包板 (我淘左$5的400孔款式))
它是假組的好幫手, 原因是板下是把成行連接了, 你在頭頭比左電, 整行都會通晒, 唔洗左插又插

圖片03 - 杜邦線 (我淘左$4包,有65條)
它主要用來假組時, 連上Arduino控制器和麵包板之間, 有時還可以直接連上燈腳或其他傳感器上做假組, 它分公公, 公毑和乸乸的, 建議公公和公乸都買一包

圖片04 - LED (我淘左$7有100粒, 各色20粒)
通常測試用的大多用3mm的, 它分為紅藍綠黃白5個色, 建議各色都有D, 方便假組.

圖片05 - 電阻 (我淘左$3, 有100粒)
請買220歐姆, 但不要問點解, 因為所有官方和非官方的教學都說用220歐姆.

圖片06 - 開關掣 (我淘左$5.5有成10多20粒)
其實咩開關都OK, 傾斜開關又好, 水銀開關又好, 都OK, 不過呢款一個掣有6個開關, 細細粒容易攪吧

圖片07 - 紅外線接收 (我鴨記買左$12蚊, 但淘寶賣 $0.38 .... 陰公豬)
淘開可以淘埋, 將來玩紅外線控掣用的
======================================
下邊是我淘開的幾間店作參考
卡特寶 : 可淘LED, 麵包板, 杜邦線, 電阻, 開關掣, 紅外線接收
科易亙動機械人: 可淘 Arduino 或其他感應器
DFRobot: 都係淘 Arduino 的, 但他們公司有一班開發員, 品質上佳但價錢稍貴
註 : Arduino 採用開放源碼, 所以淘寶上的千千萬萬也不是翻版, 任何用都可以生產他們的東西, 只要把源碼分享便符合他們的版權了

回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
板凳
 樓主| 發表於 2016-2-6 22:37:46 | 顯示全部樓層
推大家落坑之:新手玩LED分享編02
============================
這編目的是對硬件深入少少講下,如果玩開嘅可以跳過。真係動手駁線玩著燈,可能要等多幾編基礎編之後,不好意思。
我又假設大家跟我買了七件硬件,但...
哇~~~七件東東乜黎架?點玩?完全爪爆頭,唔知點算!
果塊Arduino咁多窿好恐怖,無從入手!
我好明白非IT人,又唔係蒲開高登玩自己砌電腦嘅朋友,對電路板難免有恐懼症,所以呢塊板我留番下編才介紹,它其實一D都唔恐怖,因為用來用去只有幾個窿,好簡單,但為免大家擔心,我先從其他配件講起!
1) 麵包板:做乜叫面包板?食得架?哈哈~~~我唔知!
其實面包板嘅構造係把整行窿窿串起來,附圖你見到黑色和紅色的分別是各二行,只要你把電插到紅色任何一個窿,那整行紅色都有電!
做乜要咁做?你諗下如果有10支燈+1粒電心,你要10支燈10條電線駁去電心的一邊,二邊便要20條電線,煩唔煩先!
咁如果你用面包板,電心的正極駁入紅色、負極駁入黑色,那LED燈腳對應番正負極插入去便可以了,簡單又方便!咁紅黑的正負極調轉插又得唔得先?梗係得啦,佢作用只係板底多條電線幫你做伸長工作,上邊比D窿窿你插下之麻,做假組測試,越簡單越快睇結果越好吧
你又可以睇下圖中有短的紅藍黃綠,佢其實係中間每5個窿串埋一齊,唔洗下下用紅黑色呢D咁長嘅串連吧!
呢編希望大家明白面包板各窿的分佈,邊排窿會串埋一齊,日後你把燈插入去假組時,便了解板下的電線點走法!
最後,板中間我個人叫佢做楚河,用來分開上下,底板是不相連的。當然你可以在板面上下插線打通佢吧。
預計下編會講下LED和電阻,LED有分珠燈、SMD等等,再下編會介紹Arduino,之後一編跟住會比個Program大家直接Load入去Arduino令LED著燈,當然Program會盡量寫註解去說明,但電腦或Programming白痴如我,直接Load入去便work吧!



回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
地板
 樓主| 發表於 2016-2-6 23:24:09 | 顯示全部樓層
推大家落坑之:新手玩LED分享編03
==============================
.
今集還是講下硬件,想講下LED燈,點構造咩原理唔想講,因為我都唔識,哈哈~~!但我都想吹下我所知的。
.
模型用的LED普分為圓頭或方頭,有二支針腳的,般叫直插式LED,呢種LED有個共同之處,就係長腳為正,短腳為負,而基本顏色分為紅、白、藍、黃和綠色,而電壓由紅色的1.8-2.2V到藍色的2.8V到3.2V不等,基本上正負極調轉唔會爆又唔會燒,所以建議買粒手錶用嘅鈕扣電為每粒都試一下著唔著先,以免放了到模型後才知奶野。
.
但如果由5V電去撻著LED點算?基本上如果靚貨,5V都未必會燒的,但保險起見,加粒220歐姆電阻最好,點解要220歐姆?因我玩Arduino時search左九萬個website都係咁講,但如果你喜歡尋根究底的話,請自己google,因為用電流、電壓等係有公式計算番電阻的,但如果懶人像我,記住大約每50歐姆左右可抵消1V多出的電壓便可以了,雖然唔係實數,但呢個50歐姆都OK可以的,其實220歐姆可一併由紅色低V到藍色高V都照顧晒,懶人最啱,而LED又唔會因多左一百幾十歐姆而暗左好多,所以....嘿嘿!當然一款過便算吧!
.
扯扯下扯遠左Tim,話說回來,直插式有常用的是3mm或5mm,我的格納庫便是用3mm吧,下圖係我為每支3mm焊上一個220歐姆電阻的照片,我把正極剪短,電阻也剪短,然後在正極焊上電阻,基本上電阻焊上正或負也OK的,沒問題。
.
拎起把間尺,3mm真係細到無朋友,用在PG應該OK,但如果我要砌HG或MG點算~~~~原來LED界還有很多LED的,其中一款叫做SMD,它又分為0603,0805, 1206等等不同的型號,講到尾其實係尺吋分別,例如0603的尺吋便是1.6mm X 0.8mm …… 真係鼻屎都大過佢,但佢又極適合用係HG個頭裡邊比睇仔用喎,網上有好多尺吋表,我偷了一張簡單D嘅放上來,希望大家可以容易D睇到佢尺吋吧。
.
但所有LED都有一個共通點,就係一定有正負極二隻腳~~~~但可能你會問,我見過有三隻和四隻腳架喎~~~~無錯,某些LED會把二款色,如紅藍二色放進一支LED裡,或紅綠藍三色放在一支LED也有,三色的便是RBG LED了,但點解又有四隻腳呢?原因係一支燈裡邊收埋左三個燈膽,每個色一個,所以便有三支可能係正,又可能係負的燈腳了,咁第4支係乜?第4支便是這三個燈膽共用的正或負極了,他們統稱 “共陽” 或 “共陰”,即共用陽極或共用陰極的意思,買的時候要睇清楚或問清楚呀 (三支腳係二隻色嘅燈膽放在一支燈,二隻色各一支腳再加一支共用腳,所以便是三腳仔了) ~~~如果只係按一下掣便開,按一下便關,共陽共陰都無分別,如果要做間歇閃或亂閃等等,便要用共陰了,共陽唔得咩?得!但要攪一堆野~~~所以如有特別效果便要用共陰的,將來到玩閃燈章節時再詳細講下啦。
.
最後關於LED的,便是接駁方法,大家先得個知字便OK,基本上有三種,分別為 “並聯”, “串聯” 和 “串並聯”,玩模型我們九成都用並聯的,因為並聯如果是燒一支燈,其他燈不受影響,而串聯係燒一支,全組死晒,咁串並聯呢?就係幾個串聯合成一個並聯,死一支只死串聯果組吧了。



我又上網偷圖,偷了幅簡單的,圖中應該係紅色為負,黑色為正極,全部燈的正極駁正極,負極駁負極便為之並聯,這是一個簡單的概念吧,但串聯和串並聯我就不講了,因為後來的將節應該不會提及的,有興趣了解多D的朋友可以GOOGLE一下串聯和並聯,會有好多解說的。
.
偷多一條人地的片,教點樣焊SMD LED然後塞入高達的頭裡邊,但沒教駁線或玩其他野,但好應該參考一下,焊接技巧很好很實用

.
吹完一大輪水,其實幾句可以講完本節重點:



1. LED的種類,直插式,SMD,雙色和RGB三色




2. SMD的尺寸了解,以便日後塞入模型時能選擇大小


3. 並聯最常用於模型裡面


4. LED的電壓 (其實玩Arduino唔用電阻好少會燒的, 但心理上LED會長命D咁解)



5. 電阻的了解 (附上我每支燈焊一粒電阻的照片)



回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
5#
 樓主| 發表於 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嘅人。

回復 支持 反對

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
6#
 樓主| 發表於 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
7#
 樓主| 發表於 2016-2-6 23:37:51 | 顯示全部樓層
大魔先生 發表於 2016-2-6 23:12
俊哥…十分好之教學啊。

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

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

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

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

使用道具 舉報

101

主題

672

帖子

5萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
52409
9#
 樓主| 發表於 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
10#
 樓主| 發表於 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,然後放入高達個頭裡邊,試下令佢眼仔會間歇閃燈吧,當係練習練習。
回復 支持 反對

使用道具 舉報

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

本版積分規則

GMT+8, 2024-5-2 12:58 , Processed in 0.117273 second(s), 25 queries .

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

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