SlideShare a Scribd company logo
1 of 15
Download to read offline
電子工程系應 用 電 子 組
電 腦 遊 戲 設 計 組
AMA中級術科實作IV
(讓蜂鳴器發出提示聲音)
吳錫修
Sep 30, 2016
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 過按鍵控制風扇轉動,在七段顯示器上顯示風扇轉動狀態,並且由
蜂鳴器提示按鍵聲音
AMA Fundamentals術科功能需求
2
按鍵 風扇 七段顯示器 蜂鳴器
1 正轉(送風) F 500Hz, 0.3秒
2 停止 S 500Hz, 1秒
3 反轉(抽風) b
500Hz, 0.3秒,
2次,間隔0.1秒
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 tone(pin, frequency, duration);
 pin腳位輸出指定frequency頻率,持續duration毫秒
 delay(ms);
 延遲指定時間,單位毫秒
// 蜂鳴器500Hz提示0.3秒,兩次,間隔0.1秒
tone(Buzzer,500, 300);
// tone發聲0.3秒加上間隔0.1秒, 故應延遲0.4秒
delay(400);
// 蜂鳴器第2次提示音0.3秒
tone(Buzzer,500, 300);
delay(300);
蜂鳴器控制
3
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 硬體接線
 依據題組指定之IO埠腳位接線 (以題組A為例)
 風扇模組接線
實作 1/12
4
接USB風扇(程式燒錄完成再接)
Mini USB供電(程式燒錄完成再接)
接Arduino D13
接Arduino D12
接Arduino GND
馬達驅動模組
HT6751
七段顯示器模組 蜂
鳴
器
矩陣按鍵
IN1 IN2 IN3 dp g f e d c b a com KEY1-3
D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 按鍵模組接線
實作 2/12
5
接Arduino 5V
接Arduino GND
接GND
接Arduino D2
接Arduino D3
接Arduino D4
馬達驅動模組
HT6751
七段顯示器模組 蜂
鳴
器
矩陣按鍵
IN1 IN2 IN3 dp g f e d c b a com KEY1-3
D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 顯示模組接線
實作 3/12
6
接5V
接Arduino A5,A4,A3,A2,A1,A0
接Arduino D7
接Arduino D6
馬達驅動模組
HT6751
七段顯示器模組 蜂
鳴
器
矩陣按鍵
IN1 IN2 IN3 dp g f e d c b a com KEY1-3
D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 聲音模組接線
實作 4/12
7
接Arduino D5
馬達驅動模組
HT6751
七段顯示器模組 蜂
鳴
器
矩陣按鍵
IN1 IN2 IN3 dp g f e d c b a com KEY1-3
D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 開啟Examdata.ino檔
 修改Examdata.ino開頭註解中之姓名、IO埠編號、准考證號碼
/*=============================================
姓名:○○○ 術科准考證號碼:123456789
指定I/O埠編號:A/B/C
=============================================*/
 以准考證號碼做為檔名,另存新檔
實作 5/12
8
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 參照題組IO埠編號,修改config.h檔 (題組A)
#define IN1 13 // 宣告連接馬達控制端1之腳位
#define IN2 12 // 宣告連接馬達控制端2之腳位
#define Buzzer 5 // 宣告蜂鳴器之腳位
#define KEY1 2 // 宣告按鍵1之腳位
#define KEY2 3 // 宣告按鍵2之腳位
#define KEY3 4 // 宣告按鍵3之腳位
#define seg_a A5 // 宣告7段顯示器seg_a之腳位
#define seg_b A4
#define seg_c A3
#define seg_d A2
#define seg_e A1
#define seg_f A0
#define seg_g 7
#define seg_dp 6
實作 6/12
9
馬達驅動模組
HT6751
七段顯示器模組 蜂
鳴
器
矩陣按鍵
IN1 IN2 IN3 dp g f e d c b a com KEY1-3
D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 宣告變數
#include "config.h"
byte mode = 0;
byte i;
byte seg7[] = {seg_a, seg_b, seg_c, seg_d, seg_e, seg_f, seg_g};
實作 7/12
10
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 在setup()中使用pinMode()指令設定Arduino IO腳位之IO方向
void setup() {
pinMode(IN1, OUTPUT); // 設定馬達控制腳為輸出
pinMode(IN2, OUTPUT);
pinMode(KEY1, INPUT); // 設定按鍵控制腳為輸入
pinMode(KEY2, INPUT);
pinMode(KEY3, INPUT);
for (i=0; i<7; i++) // 設定七段顯示器控制腳為輸出
pinMode(seg7[i], OUTPUT);
pinMode(Buzzer, OUTPUT); // 設定蜂鳴器控制腳為輸出
}
實作 8/12
11
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 撰寫LedOut()函式,將顯示碼送到7段顯示器
// 將控制碼輸出到七段顯示器上,位元0~位元6,依序為 abcdefg
void LedOut(byte code) {
for (i=0; i<7; i++)
// 讀出code之指定位元, 並輸出到對應的7段顯示器接腳
digitalWrite(seg7[i], bitRead(code, i));
}
實作 9/12
12
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
 在loop()中依據按鍵狀態控制風扇,在7段顯示器上顯示風扇狀態並
讓蜂鳴器發出提示聲音
void loop() {
if (digitalRead(KEY1)==0 && mode!=1) {
mode=1; // 設定mode為1,避免重複動作
digitalWrite(IN1, HIGH);// 風扇正轉(送風)
digitalWrite(IN2, LOW);
LedOut(0x71); // 七段顯示器顯示 F,0b01110001
tone(Buzzer,500, 300); // 蜂鳴器500Hz提示0.3秒,⼀次
delay(300); // 等待發聲作業結束
}
實作 10/12
13
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
else if (digitalRead(KEY2)==0 && mode!=2) {
mode=2; // 設定mode為2,避免重複動作
digitalWrite(IN1, LOW); // 風扇停止
digitalWrite(IN2, LOW);
LedOut(0x6D); // 七段顯示器顯示 S,0b01101101
tone(Buzzer,500, 1000); // 蜂鳴器500Hz提示 1 秒,⼀次
delay(1000); // 等待發聲作業結束
}
實作 11/12
14
shapethefuture
電子工程系
應 用 電 子 組
電 腦 遊 戲 設 計 組
else if (digitalRead(KEY3)==0 && mode!=3) {
mode=3; // 設定mode為3,避免重複動作
digitalWrite(IN1, LOW); // 風扇反轉(吸風)
digitalWrite(IN2, HIGH);
LedOut(0x7C); // 七段顯示器顯示b,0b01111100
tone(Buzzer,500, 300); // 蜂鳴器500Hz提示0.3秒,兩次,間隔0.1秒
delay(400); // tone發聲0.3秒加上間隔0.1秒, 故應延遲0.4秒
tone(Buzzer,500, 300); // 蜂鳴器第2次提示音0.3秒
delay(300); // 等待發聲作業結束
}
}
實作 12/12
15

More Related Content

What's hot

使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式Kenson Chiang
 
瞻營全電子_六足機器人(二)
瞻營全電子_六足機器人(二)瞻營全電子_六足機器人(二)
瞻營全電子_六足機器人(二)CAVEDU Education
 
Arduino Yún使用Http restful api控制io
Arduino Yún使用Http restful api控制ioArduino Yún使用Http restful api控制io
Arduino Yún使用Http restful api控制io吳錫修 (ShyiShiou Wu)
 
Arduino Yun 物聯網 Lesson 1
Arduino Yun 物聯網 Lesson 1Arduino Yun 物聯網 Lesson 1
Arduino Yun 物聯網 Lesson 1CAVEDU Education
 
HC 05藍芽模組連線
HC 05藍芽模組連線HC 05藍芽模組連線
HC 05藍芽模組連線Chen-Hung Hu
 
86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材roboard
 
Arduino 與 raspberry pi 硬體差異與應用
Arduino 與  raspberry pi 硬體差異與應用Arduino 與  raspberry pi 硬體差異與應用
Arduino 與 raspberry pi 硬體差異與應用Marcus Pek
 
MicroPython簡介
MicroPython簡介 MicroPython簡介
MicroPython簡介 Max Lai
 

What's hot (20)

Arduino overview
Arduino overviewArduino overview
Arduino overview
 
Arduino藍牙傳輸應用
Arduino藍牙傳輸應用Arduino藍牙傳輸應用
Arduino藍牙傳輸應用
 
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
 
Microbit 1 introduction
Microbit 1 introductionMicrobit 1 introduction
Microbit 1 introduction
 
使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式
 
Arduino yún簡介
Arduino yún簡介Arduino yún簡介
Arduino yún簡介
 
Python與Ardinio整合應用
Python與Ardinio整合應用Python與Ardinio整合應用
Python與Ardinio整合應用
 
瞻營全電子_六足機器人(二)
瞻營全電子_六足機器人(二)瞻營全電子_六足機器人(二)
瞻營全電子_六足機器人(二)
 
Arduino Yún使用Http restful api控制io
Arduino Yún使用Http restful api控制ioArduino Yún使用Http restful api控制io
Arduino Yún使用Http restful api控制io
 
Arduino感測應用
Arduino感測應用Arduino感測應用
Arduino感測應用
 
設定Arduino Yún Ethernet連線
設定Arduino Yún Ethernet連線設定Arduino Yún Ethernet連線
設定Arduino Yún Ethernet連線
 
Arduino Yun 物聯網 Lesson 1
Arduino Yun 物聯網 Lesson 1Arduino Yun 物聯網 Lesson 1
Arduino Yun 物聯網 Lesson 1
 
Arduino程式快速入門
Arduino程式快速入門Arduino程式快速入門
Arduino程式快速入門
 
HC 05藍芽模組連線
HC 05藍芽模組連線HC 05藍芽模組連線
HC 05藍芽模組連線
 
Arduino程式快速入門
Arduino程式快速入門Arduino程式快速入門
Arduino程式快速入門
 
86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材
 
Arduino序列通訊
Arduino序列通訊Arduino序列通訊
Arduino序列通訊
 
Arduino 與 raspberry pi 硬體差異與應用
Arduino 與  raspberry pi 硬體差異與應用Arduino 與  raspberry pi 硬體差異與應用
Arduino 與 raspberry pi 硬體差異與應用
 
Arduino相關型錄
Arduino相關型錄Arduino相關型錄
Arduino相關型錄
 
MicroPython簡介
MicroPython簡介 MicroPython簡介
MicroPython簡介
 

Viewers also liked

20_1如何上傳影片到Google Video
20_1如何上傳影片到Google Video20_1如何上傳影片到Google Video
20_1如何上傳影片到Google Videop_yang
 
3 6如何將新年倒數計時器加入Google
3 6如何將新年倒數計時器加入Google3 6如何將新年倒數計時器加入Google
3 6如何將新年倒數計時器加入Googlep_yang
 
10如何將一堆分號或逗號分格的E Mail名單,快速變成一欄的名單(以Excel為例)
10如何將一堆分號或逗號分格的E Mail名單,快速變成一欄的名單(以Excel為例)10如何將一堆分號或逗號分格的E Mail名單,快速變成一欄的名單(以Excel為例)
10如何將一堆分號或逗號分格的E Mail名單,快速變成一欄的名單(以Excel為例)p_yang
 
19-2如何將Google文件設定成不同語系的界面(以繁體中文為例)
19-2如何將Google文件設定成不同語系的界面(以繁體中文為例)19-2如何將Google文件設定成不同語系的界面(以繁體中文為例)
19-2如何將Google文件設定成不同語系的界面(以繁體中文為例)p_yang
 
如何在Google文件建立線上問卷 格線
如何在Google文件建立線上問卷 格線如何在Google文件建立線上問卷 格線
如何在Google文件建立線上問卷 格線p_yang
 

Viewers also liked (20)

Construct 2基本操作
Construct 2基本操作Construct 2基本操作
Construct 2基本操作
 
使用Google表單設計線上問卷
使用Google表單設計線上問卷使用Google表單設計線上問卷
使用Google表單設計線上問卷
 
Google搜尋技巧
Google搜尋技巧Google搜尋技巧
Google搜尋技巧
 
mBot 教學7 聲光控制應用
mBot 教學7 聲光控制應用mBot 教學7 聲光控制應用
mBot 教學7 聲光控制應用
 
mBot 教學3 開發mBot應用程式
mBot 教學3 開發mBot應用程式mBot 教學3 開發mBot應用程式
mBot 教學3 開發mBot應用程式
 
Mbot教學(1b) mBot初體驗
Mbot教學(1b) mBot初體驗Mbot教學(1b) mBot初體驗
Mbot教學(1b) mBot初體驗
 
mBot 教學5 超音波感測應用
mBot 教學5 超音波感測應用mBot 教學5 超音波感測應用
mBot 教學5 超音波感測應用
 
mBot 教學9 紅外線傳輸應用
mBot 教學9 紅外線傳輸應用mBot 教學9 紅外線傳輸應用
mBot 教學9 紅外線傳輸應用
 
mBot 教學8 巡跡控制應用
mBot 教學8 巡跡控制應用mBot 教學8 巡跡控制應用
mBot 教學8 巡跡控制應用
 
mBot 教學4 移動控制
mBot 教學4 移動控制mBot 教學4 移動控制
mBot 教學4 移動控制
 
mBot 教學10 藍牙控制應用
mBot 教學10 藍牙控制應用mBot 教學10 藍牙控制應用
mBot 教學10 藍牙控制應用
 
mBot 教學6 光感測器與LED應用
mBot 教學6 光感測器與LED應用mBot 教學6 光感測器與LED應用
mBot 教學6 光感測器與LED應用
 
mBot 教學1 組裝與測試
mBot 教學1 組裝與測試mBot 教學1 組裝與測試
mBot 教學1 組裝與測試
 
mBot 教學2 mBlock積木式設計程式
mBot 教學2 mBlock積木式設計程式mBot 教學2 mBlock積木式設計程式
mBot 教學2 mBlock積木式設計程式
 
20_1如何上傳影片到Google Video
20_1如何上傳影片到Google Video20_1如何上傳影片到Google Video
20_1如何上傳影片到Google Video
 
Chrome
ChromeChrome
Chrome
 
3 6如何將新年倒數計時器加入Google
3 6如何將新年倒數計時器加入Google3 6如何將新年倒數計時器加入Google
3 6如何將新年倒數計時器加入Google
 
10如何將一堆分號或逗號分格的E Mail名單,快速變成一欄的名單(以Excel為例)
10如何將一堆分號或逗號分格的E Mail名單,快速變成一欄的名單(以Excel為例)10如何將一堆分號或逗號分格的E Mail名單,快速變成一欄的名單(以Excel為例)
10如何將一堆分號或逗號分格的E Mail名單,快速變成一欄的名單(以Excel為例)
 
19-2如何將Google文件設定成不同語系的界面(以繁體中文為例)
19-2如何將Google文件設定成不同語系的界面(以繁體中文為例)19-2如何將Google文件設定成不同語系的界面(以繁體中文為例)
19-2如何將Google文件設定成不同語系的界面(以繁體中文為例)
 
如何在Google文件建立線上問卷 格線
如何在Google文件建立線上問卷 格線如何在Google文件建立線上問卷 格線
如何在Google文件建立線上問卷 格線
 

Similar to AMA 中級術科實作IV

Sy03091说明书
Sy03091说明书Sy03091说明书
Sy03091说明书guest8f3690
 
瞻營全電子_六足機器人(三)
瞻營全電子_六足機器人(三)瞻營全電子_六足機器人(三)
瞻營全電子_六足機器人(三)CAVEDU Education
 
MS 7095 - P4MAM2-V2
MS 7095 - P4MAM2-V2MS 7095 - P4MAM2-V2
MS 7095 - P4MAM2-V2JORGE SCHLEE
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnVidur Garg
 
[已看完98 159页]用户手册Finepix S8100fd Manual 01
[已看完98 159页]用户手册Finepix S8100fd Manual 01[已看完98 159页]用户手册Finepix S8100fd Manual 01
[已看完98 159页]用户手册Finepix S8100fd Manual 01jamesjkk
 
☆5. 大哥大整合功能(一碼通) v4 rev07_中文
☆5. 大哥大整合功能(一碼通) v4 rev07_中文☆5. 大哥大整合功能(一碼通) v4 rev07_中文
☆5. 大哥大整合功能(一碼通) v4 rev07_中文skyers
 
2012_SNICO Catalog
2012_SNICO Catalog2012_SNICO Catalog
2012_SNICO CatalogCheng-I Yang
 
Monitouch Express Vol06
Monitouch Express Vol06Monitouch Express Vol06
Monitouch Express Vol06monitouch
 
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbedIoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbedBang Min Shiue
 
嵌入式作業系統設計與實作 - 電吉他調音器
嵌入式作業系統設計與實作 - 電吉他調音器嵌入式作業系統設計與實作 - 電吉他調音器
嵌入式作業系統設計與實作 - 電吉他調音器聖文 鄭
 
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v72017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7信仁 邱
 
Catalogue Of The Kgn Dispensers From Dynaseiki Viet Nam
Catalogue Of The Kgn Dispensers From Dynaseiki Viet NamCatalogue Of The Kgn Dispensers From Dynaseiki Viet Nam
Catalogue Of The Kgn Dispensers From Dynaseiki Viet NamTrung Nguyễn
 
程式人雜誌 -- 2014 年7月號
程式人雜誌 -- 2014 年7月號程式人雜誌 -- 2014 年7月號
程式人雜誌 -- 2014 年7月號鍾誠 陳鍾誠
 
Arduino 習作工坊 - Lesson 4 通訊之夜
Arduino 習作工坊 -  Lesson 4 通訊之夜Arduino 習作工坊 -  Lesson 4 通訊之夜
Arduino 習作工坊 - Lesson 4 通訊之夜CAVEDU Education
 
Ad9850 mc145151
Ad9850 mc145151Ad9850 mc145151
Ad9850 mc145151kcarring
 
MyPBX_Standard_UserManual_tw
MyPBX_Standard_UserManual_twMyPBX_Standard_UserManual_tw
MyPBX_Standard_UserManual_twdiymyweb
 
嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統艾鍗科技
 
第三章Ti msp430平台介紹 v3
第三章Ti msp430平台介紹 v3第三章Ti msp430平台介紹 v3
第三章Ti msp430平台介紹 v3冠宇 陳
 

Similar to AMA 中級術科實作IV (20)

Sy03091说明书
Sy03091说明书Sy03091说明书
Sy03091说明书
 
瞻營全電子_六足機器人(三)
瞻營全電子_六足機器人(三)瞻營全電子_六足機器人(三)
瞻營全電子_六足機器人(三)
 
教學(10) 藍牙控制應用
教學(10)藍牙控制應用教學(10)藍牙控制應用
教學(10) 藍牙控制應用
 
MS 7095 - P4MAM2-V2
MS 7095 - P4MAM2-V2MS 7095 - P4MAM2-V2
MS 7095 - P4MAM2-V2
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cn
 
[已看完98 159页]用户手册Finepix S8100fd Manual 01
[已看完98 159页]用户手册Finepix S8100fd Manual 01[已看完98 159页]用户手册Finepix S8100fd Manual 01
[已看完98 159页]用户手册Finepix S8100fd Manual 01
 
☆5. 大哥大整合功能(一碼通) v4 rev07_中文
☆5. 大哥大整合功能(一碼通) v4 rev07_中文☆5. 大哥大整合功能(一碼通) v4 rev07_中文
☆5. 大哥大整合功能(一碼通) v4 rev07_中文
 
2012_SNICO Catalog
2012_SNICO Catalog2012_SNICO Catalog
2012_SNICO Catalog
 
Monitouch Express Vol06
Monitouch Express Vol06Monitouch Express Vol06
Monitouch Express Vol06
 
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbedIoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
IoT 與 WoT 物聯網裝置實作:使用 Arch Pro 與 mbed
 
嵌入式作業系統設計與實作 - 電吉他調音器
嵌入式作業系統設計與實作 - 電吉他調音器嵌入式作業系統設計與實作 - 電吉他調音器
嵌入式作業系統設計與實作 - 電吉他調音器
 
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v72017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
 
Catalogue Of The Kgn Dispensers From Dynaseiki Viet Nam
Catalogue Of The Kgn Dispensers From Dynaseiki Viet NamCatalogue Of The Kgn Dispensers From Dynaseiki Viet Nam
Catalogue Of The Kgn Dispensers From Dynaseiki Viet Nam
 
程式人雜誌 -- 2014 年7月號
程式人雜誌 -- 2014 年7月號程式人雜誌 -- 2014 年7月號
程式人雜誌 -- 2014 年7月號
 
S4 a sensor board
S4 a sensor boardS4 a sensor board
S4 a sensor board
 
Arduino 習作工坊 - Lesson 4 通訊之夜
Arduino 習作工坊 -  Lesson 4 通訊之夜Arduino 習作工坊 -  Lesson 4 通訊之夜
Arduino 習作工坊 - Lesson 4 通訊之夜
 
Ad9850 mc145151
Ad9850 mc145151Ad9850 mc145151
Ad9850 mc145151
 
MyPBX_Standard_UserManual_tw
MyPBX_Standard_UserManual_twMyPBX_Standard_UserManual_tw
MyPBX_Standard_UserManual_tw
 
嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統嵌入式inux應用專題文件-智慧家庭系統
嵌入式inux應用專題文件-智慧家庭系統
 
第三章Ti msp430平台介紹 v3
第三章Ti msp430平台介紹 v3第三章Ti msp430平台介紹 v3
第三章Ti msp430平台介紹 v3
 

More from 吳錫修 (ShyiShiou Wu)

Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理IIUnity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理IUnity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I吳錫修 (ShyiShiou Wu)
 
Unity遊戲設計- 2D動畫製作及應用
Unity遊戲設計-  2D動畫製作及應用Unity遊戲設計-  2D動畫製作及應用
Unity遊戲設計- 2D動畫製作及應用吳錫修 (ShyiShiou Wu)
 

More from 吳錫修 (ShyiShiou Wu) (20)

Vuforia AR影片程式設計
Vuforia AR影片程式設計Vuforia AR影片程式設計
Vuforia AR影片程式設計
 
micro:bit亮度感測應用
micro:bit亮度感測應用micro:bit亮度感測應用
micro:bit亮度感測應用
 
Vuforia AR 同時追踨多張辨識圖
Vuforia AR同時追踨多張辨識圖Vuforia AR同時追踨多張辨識圖
Vuforia AR 同時追踨多張辨識圖
 
micro:bit開關控制應用
micro:bit開關控制應用micro:bit開關控制應用
micro:bit開關控制應用
 
Vuforia AR 應用程式設計入門
Vuforia AR應用程式設計入門Vuforia AR應用程式設計入門
Vuforia AR 應用程式設計入門
 
Vuforia AR 應用程式準備作業
Vuforia AR應用程式準備作業Vuforia AR應用程式準備作業
Vuforia AR 應用程式準備作業
 
micro:bit LED顯示控制
micro:bit LED顯示控制micro:bit LED顯示控制
micro:bit LED顯示控制
 
IDE for micro:bit
IDE for micro:bitIDE for micro:bit
IDE for micro:bit
 
使用Makeblock App學習mBot程式設計
使用Makeblock App學習mBot程式設計使用Makeblock App學習mBot程式設計
使用Makeblock App學習mBot程式設計
 
使用M部落App學習mBot程式設計
使用M部落App學習mBot程式設計使用M部落App學習mBot程式設計
使用M部落App學習mBot程式設計
 
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
 
nodeMCU IOT教學02 - Lua語言
nodeMCU IOT教學02 - Lua語言nodeMCU IOT教學02 - Lua語言
nodeMCU IOT教學02 - Lua語言
 
Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲
 
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理IIUnity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
 
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理IUnity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I
 
Python與Ardinio整合應用
Python與Ardinio整合應用Python與Ardinio整合應用
Python與Ardinio整合應用
 
mBlock積木式設計程式
mBlock積木式設計程式mBlock積木式設計程式
mBlock積木式設計程式
 
Arduino程式除錯
Arduino程式除錯Arduino程式除錯
Arduino程式除錯
 
Unity遊戲設計- 2D動畫製作及應用
Unity遊戲設計-  2D動畫製作及應用Unity遊戲設計-  2D動畫製作及應用
Unity遊戲設計- 2D動畫製作及應用
 
Unity遊戲設計- 應用Sprite物件
Unity遊戲設計- 應用Sprite物件Unity遊戲設計- 應用Sprite物件
Unity遊戲設計- 應用Sprite物件
 

AMA 中級術科實作IV

  • 1. 電子工程系應 用 電 子 組 電 腦 遊 戲 設 計 組 AMA中級術科實作IV (讓蜂鳴器發出提示聲音) 吳錫修 Sep 30, 2016
  • 2. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  過按鍵控制風扇轉動,在七段顯示器上顯示風扇轉動狀態,並且由 蜂鳴器提示按鍵聲音 AMA Fundamentals術科功能需求 2 按鍵 風扇 七段顯示器 蜂鳴器 1 正轉(送風) F 500Hz, 0.3秒 2 停止 S 500Hz, 1秒 3 反轉(抽風) b 500Hz, 0.3秒, 2次,間隔0.1秒
  • 3. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  tone(pin, frequency, duration);  pin腳位輸出指定frequency頻率,持續duration毫秒  delay(ms);  延遲指定時間,單位毫秒 // 蜂鳴器500Hz提示0.3秒,兩次,間隔0.1秒 tone(Buzzer,500, 300); // tone發聲0.3秒加上間隔0.1秒, 故應延遲0.4秒 delay(400); // 蜂鳴器第2次提示音0.3秒 tone(Buzzer,500, 300); delay(300); 蜂鳴器控制 3
  • 4. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  硬體接線  依據題組指定之IO埠腳位接線 (以題組A為例)  風扇模組接線 實作 1/12 4 接USB風扇(程式燒錄完成再接) Mini USB供電(程式燒錄完成再接) 接Arduino D13 接Arduino D12 接Arduino GND 馬達驅動模組 HT6751 七段顯示器模組 蜂 鳴 器 矩陣按鍵 IN1 IN2 IN3 dp g f e d c b a com KEY1-3 D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
  • 5. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  按鍵模組接線 實作 2/12 5 接Arduino 5V 接Arduino GND 接GND 接Arduino D2 接Arduino D3 接Arduino D4 馬達驅動模組 HT6751 七段顯示器模組 蜂 鳴 器 矩陣按鍵 IN1 IN2 IN3 dp g f e d c b a com KEY1-3 D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
  • 6. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  顯示模組接線 實作 3/12 6 接5V 接Arduino A5,A4,A3,A2,A1,A0 接Arduino D7 接Arduino D6 馬達驅動模組 HT6751 七段顯示器模組 蜂 鳴 器 矩陣按鍵 IN1 IN2 IN3 dp g f e d c b a com KEY1-3 D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
  • 7. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  聲音模組接線 實作 4/12 7 接Arduino D5 馬達驅動模組 HT6751 七段顯示器模組 蜂 鳴 器 矩陣按鍵 IN1 IN2 IN3 dp g f e d c b a com KEY1-3 D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
  • 8. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  開啟Examdata.ino檔  修改Examdata.ino開頭註解中之姓名、IO埠編號、准考證號碼 /*============================================= 姓名:○○○ 術科准考證號碼:123456789 指定I/O埠編號:A/B/C =============================================*/  以准考證號碼做為檔名,另存新檔 實作 5/12 8
  • 9. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  參照題組IO埠編號,修改config.h檔 (題組A) #define IN1 13 // 宣告連接馬達控制端1之腳位 #define IN2 12 // 宣告連接馬達控制端2之腳位 #define Buzzer 5 // 宣告蜂鳴器之腳位 #define KEY1 2 // 宣告按鍵1之腳位 #define KEY2 3 // 宣告按鍵2之腳位 #define KEY3 4 // 宣告按鍵3之腳位 #define seg_a A5 // 宣告7段顯示器seg_a之腳位 #define seg_b A4 #define seg_c A3 #define seg_d A2 #define seg_e A1 #define seg_f A0 #define seg_g 7 #define seg_dp 6 實作 6/12 9 馬達驅動模組 HT6751 七段顯示器模組 蜂 鳴 器 矩陣按鍵 IN1 IN2 IN3 dp g f e d c b a com KEY1-3 D13 D12 GND D6:D7 A0:A5 1 D5 D2,D3,D4
  • 10. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  宣告變數 #include "config.h" byte mode = 0; byte i; byte seg7[] = {seg_a, seg_b, seg_c, seg_d, seg_e, seg_f, seg_g}; 實作 7/12 10
  • 11. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  在setup()中使用pinMode()指令設定Arduino IO腳位之IO方向 void setup() { pinMode(IN1, OUTPUT); // 設定馬達控制腳為輸出 pinMode(IN2, OUTPUT); pinMode(KEY1, INPUT); // 設定按鍵控制腳為輸入 pinMode(KEY2, INPUT); pinMode(KEY3, INPUT); for (i=0; i<7; i++) // 設定七段顯示器控制腳為輸出 pinMode(seg7[i], OUTPUT); pinMode(Buzzer, OUTPUT); // 設定蜂鳴器控制腳為輸出 } 實作 8/12 11
  • 12. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  撰寫LedOut()函式,將顯示碼送到7段顯示器 // 將控制碼輸出到七段顯示器上,位元0~位元6,依序為 abcdefg void LedOut(byte code) { for (i=0; i<7; i++) // 讀出code之指定位元, 並輸出到對應的7段顯示器接腳 digitalWrite(seg7[i], bitRead(code, i)); } 實作 9/12 12
  • 13. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組  在loop()中依據按鍵狀態控制風扇,在7段顯示器上顯示風扇狀態並 讓蜂鳴器發出提示聲音 void loop() { if (digitalRead(KEY1)==0 && mode!=1) { mode=1; // 設定mode為1,避免重複動作 digitalWrite(IN1, HIGH);// 風扇正轉(送風) digitalWrite(IN2, LOW); LedOut(0x71); // 七段顯示器顯示 F,0b01110001 tone(Buzzer,500, 300); // 蜂鳴器500Hz提示0.3秒,⼀次 delay(300); // 等待發聲作業結束 } 實作 10/12 13
  • 14. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組 else if (digitalRead(KEY2)==0 && mode!=2) { mode=2; // 設定mode為2,避免重複動作 digitalWrite(IN1, LOW); // 風扇停止 digitalWrite(IN2, LOW); LedOut(0x6D); // 七段顯示器顯示 S,0b01101101 tone(Buzzer,500, 1000); // 蜂鳴器500Hz提示 1 秒,⼀次 delay(1000); // 等待發聲作業結束 } 實作 11/12 14
  • 15. shapethefuture 電子工程系 應 用 電 子 組 電 腦 遊 戲 設 計 組 else if (digitalRead(KEY3)==0 && mode!=3) { mode=3; // 設定mode為3,避免重複動作 digitalWrite(IN1, LOW); // 風扇反轉(吸風) digitalWrite(IN2, HIGH); LedOut(0x7C); // 七段顯示器顯示b,0b01111100 tone(Buzzer,500, 300); // 蜂鳴器500Hz提示0.3秒,兩次,間隔0.1秒 delay(400); // tone發聲0.3秒加上間隔0.1秒, 故應延遲0.4秒 tone(Buzzer,500, 300); // 蜂鳴器第2次提示音0.3秒 delay(300); // 等待發聲作業結束 } } 實作 12/12 15