電子學實驗_第26組_實驗八_Arduino 七段顯示器.pdf
-
Upload
chao-chin-yang -
Category
Documents
-
view
366 -
download
1
Transcript of 電子學實驗_第26組_實驗八_Arduino 七段顯示器.pdf
修課班級:四設二乙 第 25組
實驗八:
Arduino 七段顯示器實驗
修課班級:四設二乙 第 25組
實驗目的:
本次有兩個題目,一是讓七段顯示器產生倒數效果;二是加上按
鈕,按的時候數字不變,不按的時候繼續倒數。
了解程式與電子電路的關係,並透過 I/O來完成這次的實驗。
組員名單:
四設四乙 4992319卓家賢
四設四乙 4992335楊朝欽(組長)
四設四乙 4992350蘇昶安
組員分工:
卓家賢:收集資料、精神支柱
楊朝欽:接電路、並教組員看懂電路圖
蘇昶安:做報告、支援組長
材料表與工具列:
Arduini Uno 1個
修課班級:四設二乙 第 25組
220Ω電阻 7個
IC 7447 1個
輕觸開關 1個
修課班級:四設二乙 第 25組
實驗步驟:
第一個是直接用電阻連接七段顯示器,及設定輸出腳位
的方式來呈現。
程式碼:
// 七段顯示器製作倒數功能 (v1)
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}
修課班級:四設二乙 第 25組
void loop() {
// 顯示數字 '9'
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(1000);
// 顯示數字 '8'
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(1000);
// 顯示數字 '7'
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
delay(1000);
// 顯示數字 '6'
digitalWrite(2, 0);
digitalWrite(3, 1);
修課班級:四設二乙 第 25組
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(1000);
// 顯示數字 '5'
digitalWrite(2, 0);
digitalWrite(3, 1);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 1);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(1000);
// 顯示數字 '4'
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(1000);
// 顯示數字 '3'
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 1);
digitalWrite(7, 1);
修課班級:四設二乙 第 25組
digitalWrite(8, 0);
delay(1000);
// 顯示數字 '2'
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 0);
delay(1000);
// 顯示數字 '1'
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
delay(1000);
// 顯示數字 '0'
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
// 暫停 4 秒鐘
delay(4000);
}
修課班級:四設二乙 第 25組
第二個則是再加上 IC 7447,變成只有 4個輸入,會比較簡潔且
實用。
程式碼:
// 七段顯示器製作倒數功能 (v1)
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
// 顯示數字 '9'
digitalWrite(8, 1);
digitalWrite(9, 0);
digitalWrite(10, 0);
digitalWrite(11, 1);
delay(1000);
// 顯示數字 '8'
修課班級:四設二乙 第 25組
digitalWrite(8, 0);
digitalWrite(9, 0);
digitalWrite(10, 0);
digitalWrite(11, 1);
delay(1000);
// 顯示數字 '7'
digitalWrite(8, 1);
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 0);
delay(1000);
// 顯示數字 '6'
digitalWrite(8, 0);
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 0);
delay(1000);
// 顯示數字 '5'
digitalWrite(8, 1);
digitalWrite(9, 0);
digitalWrite(10, 1);
digitalWrite(11, 0);
delay(1000);
// 顯示數字 '4'
digitalWrite(8, 0);
digitalWrite(9, 0);
digitalWrite(10, 1);
修課班級:四設二乙 第 25組
digitalWrite(11, 0);
delay(1000);
// 顯示數字 '3'
digitalWrite(8, 1);
digitalWrite(9, 1);
digitalWrite(10, 0);
digitalWrite(11, 0);
delay(1000);
// 顯示數字 '2'
digitalWrite(8, 0);
digitalWrite(9, 1);
digitalWrite(10, 0);
digitalWrite(11, 0);
delay(1000);
// 顯示數字 '1'
digitalWrite(8, 1);
digitalWrite(9, 0);
digitalWrite(10, 0);
digitalWrite(11, 0);
delay(1000);
// 顯示數字 '0'
digitalWrite(8, 0);
digitalWrite(9, 0);
digitalWrite(10, 0);
digitalWrite(11, 0);
delay(4000);
}
修課班級:四設二乙 第 25組
實驗結果:
如附件 Arduino七段顯示器倒數實驗所示。
小組討論&心得:
這次是利用 Arduino板來做出倒數功能,用程式撰寫的
好處是只要修改程式,就能達到不同的功能,並且用到的電
子零件也比較少,也了解了如何設定 OUTPUT的功能,以及再
加上 7447來簡化其程式。
應用構想:
如果能夠配合蜂鳴器,倒數時能夠產生聲音,並且越接
近 0時響越多次,會更有警示的效果。
修課班級:四設二乙 第 25組
參考文獻:
https://www.youtube.com/watch?v=9XFZ8AwCyak
http://coopermaa2nd.blogspot.tw/2011/01/arduino-
lab13-74hc595.html
http://140.130.1.120/teach/index.jsp
http://soundation.blogspot.tw/2012/02/arduino-mini-
bcd-7-segment-display.html
https://www.inkling.com/read/arduino-cookbook-
michael-margolis-2nd/chapter-3/recipe-3-9
http://forum.arduino.cc/index.php/topic,44070.0.html
http://forum.arduino.cc/index.php/topic,43624.0.html
趙英傑(2013)。《超圖解 Arduino互動設計入門》。台灣:
旗標