2015.10.13
上一篇已經提過這個東西的材料、功能,先複習一下成品,如下圖:
本篇是介紹最上面的七段顯示器,如下圖
這種 4 in 1 有 12隻接角,a~h 跟原本七段顯示器一樣,分別控制數字中哪一段位置,0~4 就是控制第幾個數字,接角如下圖。
--------------------------------------------------------------------
//僅僅只是電線的接法,並不是宣告變數
PIN_0 =10;
PIN_g =8;
PIN_c =4;
PIN_h =9;
PIN_d =5;
PIN_e =6;
PIN_b =3;
PIN_1 =11;
PIN_2 =12;
PIN_f =7;
PIN_a =2;
PIN_3 =13;
---------------------------------------------------------------------
當我們給予高電位的時候,LED就會亮,依照這個邏輯,我們可以使用Arduino 「digitalWrite」指令,並且用副程式包起來
數字 0 為範例:
--------------------------------------------------------------------
//單個七段顯示器,數字顯示
void num0(){
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
digitalWrite(8,1);
digitalWrite(9,1);
}
--------------------------------------------------------------------
這裡剛好相反,當其他三個都給予高電位,一個給予低電位,則就是控制低電位的顯示器
第一個顯示器為範例 :
--------------------------------------------------------------------
//顯示第幾個顯示器
void first(){
digitalWrite(10,1);
digitalWrite(11,0);
digitalWrite(12,0);
digitalWrite(13,0);
delay(4);
}
--------------------------------------------------------------------
--------------------------------------------------------------------
//計算所得數字要怎麼顯示在各個位數
void calculate(){
int tenthou = (counter/10000)%10;
int thou = (counter/1000)%10;
int hun = (counter/100)%10;
int ten = (counter/10)%10;
int digit = counter%10;
led2();
}
--------------------------------------------------------------------
計算完成之後,再來就顯示的部分,我們計算出來假設 ten = 0 ~ 9 (十位數),然後再使用副程式把判斷顯示的東西包起來,
--------------------------------------------------------------------
//判斷顯示數字為多少
LED(){
if (ten == 0){
num0();
first();
}
else if (ten == 1){
num1();
first();
}
else if (ten == 2){
num2();
first();
}
else if (ten == 3){
num3();
first();
}
else if (ten == 4){
num4();
first();
}
else if (ten == 5){
num5();
first();
}
else if (ten == 6){
num6();
first();
}
else if (ten == 7){
num7();
first();
}
else if (ten == 8){
num8();
first();
}
else if (ten == 9){
num9();
first();
}
}
--------------------------------------------------------------------
所以當我們得到數字的動作
七段顯示器部分,大概就介紹完了,根據範例把每一個都打齊全,其實就可以用了。
----------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------