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(); } }
--------------------------------------------------------------------
所以當我們得到數字的動作
七段顯示器部分,大概就介紹完了,根據範例把每一個都打齊全,其實就可以用了。
----------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------