讓我們開始吧!

Download Report

Transcript 讓我們開始吧!

神奇的3X3X3 LED 陣列
我們今天要完成的作品
課程進度
 進度 1 :Arduino 與proteus 工具介紹
 進度
 進度
 進度
 進度
(單顆LED閃爍實驗(0.5hr)
2 :在protues 上完成LED cube 模擬(0.5hr)
3 :3X3X3 LED立體陣列(LED Cube)製作(3hrs)
4 :上載程式至電路板測試(0.5hr)
5 :撰寫報告(0.5hr)
合計 10:00~16:00 五小時
器材
使用材料
使用工具
 電路板
 個人電腦
 底層--紅色 LED 9顆
 Arduino 開發板
 中層--黃色 LED 9顆
 Arduino 程式開發工具
 上層--綠色 LED 9顆
 Proteus 電路模擬工具
 圓孔接線柱
 尖嘴鉗、斜口鉗、平口鉗
 雙公接線柱
 烙鐵
 銲錫
 單心導線
Arduino 程式基本架構
#include<Lib.h> //引用相關函數庫
void setup() {
//setup這個函數只在程式啟動後執行一次
//一般用來初始化程式相關參數及功能
}
void loop() {
//loop這個函數是主要程式重複執行的部分
//直到電源關閉或是重置
}
基本函數說明
 pinMode(pin,mode)
pin:設定輸入的腳位為何,pin為接腳號碼
mode: INPUT 或 OUTPUT
 digitalWrite(pin,value) //開啟pull-up電阻功能
pin:設定輸入的腳位為何,pin為接腳號碼
value: HIGH 或 LOW
 delay(ms)
ms:單位為千分之一秒(例:delay(500)=0.5秒)
進度1 --- Arduino & Proteus 工具介紹
單顆 LED 閃爍程式
 void setup()
 {










pinMode(13, OUTPUT); //設定數位第13之接腳為 “輸出”
}
Voidloop()
{
digitalWrite(13, HIGH);//從13腳送出高電位訊號給 “ LED”
delay(200); //延遲200/1000 秒
digitalWrite(13, LOW);
delay(200);
}
進度1 --- Arduino & Proteus 工具介紹
在 Proteus 上完成電路接線
Digital pin 13
.hex檔位於
C:\Documents and Settings\Administrator
\Local Settings\Temp\buildxxxxxxxxx.tmp檔案內!
找看看有沒有 xxxx.hex檔?
Proteus模擬Arduino使用晶片接腳對應圖
進度 2 :在protues 上完成LED cube 模
擬Arduino 程式
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
int i,j;
void setup() {
for(i=0;i<=12;i++)
pinMode(i,OUTPUT)
}
int W1[9]={0,1,0,0,1,0,0,1,0};
int W2[9]={1,0,0,0,1,0,0,0,1};
int W3[9]={0,0,0,1,1,1,0,0,0};
int W4[9]={0,0,1,0,1,0,1,0,0};
void reset(){
for(j=0;j<=13;j++)
digitalWrite(j,HIGH);
}
14. void loop() {
15.
16.
17.
18.
19.
reset();
word(1,W1);
word(2,W1);
word(3,W1);
delay(300);
20.
21.
22.
23.
24.
word(1,W2);
word(2,W2);
word(3,W2);
delay(300);
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
word(1,W3);
word(2,W3);
word(3,W3);
delay(300);
word(1,W4);
word(2,W4);
word(3,W4);
delay(300);
}
進度 2 :在protues 上完成LED cube 模
擬Arduino 程式
35. void word(int line ,int
36.
37.
38.
39.
40.
41.
42.
W[9]){
for(i=0;i<=8;i++){
if(W[i]==1)
digitalWrite(i+1,
HIGH);
else
digitalWrite(i+1,
LOW);
}
switch(line){
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
case 1:
digitalWrite(10, LOW);
//digitalWrite(11,
HIGH);
//digitalWrite(12,
HIGH);
break; case 2:
//digitalWrite(10, HIGH);
digitalWrite(11, LOW);
//digitalWrite(12, HIGH);
break;
case 3:
//digitalWrite(10, HIGH);
//digitalWrite(11, HIGH);
digitalWrite(12, LOW);
break;
}
}
1
2
3
4
5
6
7
9
10
11
12
13
在Arduino編譯程式並載入Proteus
測測看吧!
加油!
成功以後就可以進行下一個單元囉!
(程式不要殺掉,後面還要用!)
3X3X3 LED立體陣列(LED Cube)製作
步驟1
焊排針
1. 16pin 雙公排
針第2隻腳與
插孔直線切
齊
2. 接地三孔對
齊第11,12,13
隻排針,並
焊接導線
3X3X3 LED立體陣列(LED Cube)製作
步驟2
1.用三用電表
檢查LED功
能
2.將黃色 LED
長腳折成圖
示
0.3+2.0+0.5(
焊接前再折)
注意:長腳為“+”;短腳為“-”
3X3X3 LED立體陣列(LED Cube)製作
步驟3
焊LED Cube
(第一層)
要領:
1. 先焊紅色 LED
2. 正極插在孔上
3. 9個負極串接在一起
4. 可以焊成S型
5. 負極引線留長一點
(最後要插於接地孔)
3X3X3 LED立體陣列(LED Cube)製作
步驟4
步驟5
焊LED Cube 焊LED Cube
(黃色)
(綠色)
要領:
1. 正極插在孔上
2. 9個負極串接在一起
3. 可以焊成S型
4. 負極引線留長一點
(最後要插於接地孔)
3X3X3 LED立體陣列(LED Cube)製作
步驟6
焊LED Cube
(第二層)
要領:
1. 將步驟4焊好之黃色LED 正極
前端折直角90度
2. 將每一個黃燈正極焊接於下
層紅燈正極上
3. 剪去多餘的線(注意負極引線
要保留! )
3X3X3 LED立體陣列(LED Cube)製作
步驟7
焊LED Cube
(第三層)
要領:
1. 將步驟5焊好之綠色LED 正極
與第二層每一個黃燈正極焊
接
2. 剪去多餘的線(注意赴及引線
要保留! )
3X3X3 LED立體陣列(LED Cube)製作
1
2
3
4
5
6
1
2
3
7
8
9
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
恭喜你! 成功完成專題,接著要來寫
報告囉!
要領:
格式(動機、目的、製作方法、
成果與討論、參考文獻)
材料(照片、程式…..、內容)