Arduino基本實習操作:七段顯示器計1數到60
這次做的是七段顯示器計1數到60,這次的題目對於大家有點難,會用到陣列,
材料
1.Arduino UNO
2.單心線
3.七段顯示器兩個個
4.電阻器220歐姆14個
6.麵包版
如果沒有板子,可以到:https://circuits.io/使用模擬器做練習
如果沒有板子,可以到:https://circuits.io/使用模擬器做練習
接線方法
程式碼
int index1 = 0; int index2 = 0; int LEDs[10] = {//這是陣列的公式,int x[5] = {1,2,3,4,5}; B1111110, B0110000, B1101101, B1111001, B0110011, B1011011, B1011111, B1110000, B1111111, B1111011, }; int LEDs2[6] = {//這網址有詳細的解說http://programming.im.ncnu.edu.tw/Chapter10.htm B0111110, B0110000, B0101101, B0111001, B0110011, B0011011, }; void setup() {//這個網址可以講解DDRD跟DDRB的作用,https://www.arduino.cc/en/Reference/PortManipulation DDRD = B1111111;//DDRD是決定pinD0~pinD7是否輸出 DDRB = B1111111;//DDRB是決定pinD8~pinD13是否為輸出 pinMode (A5,OUTPUT); } void loop() { digitalWrite(A5,HIGH); PORTD = LEDs[index1];//PORTD讀取pinD0~pinD7的值決定是高電壓還是低電壓 PORTB = LEDs2[index2];//PORTB讀取pinD0~pinD7的值決定是高電壓還是低電壓 index1 ++; if (index2 == 0||index2 == 2||index2 == 3||index2 == 5){//"||"=OR的邏輯式 digitalWrite(A0,HIGH); if (index1 == 10){ index1 = 0; index2 ++; } } else{ digitalWrite(A5,LOW); if (index1 == 10){ index1 = 0; index2 ++; } } if (index2 == 6){ index1 = 0; index2 = 0; } delay(500); }
影片
總結
這次的題目裡面有陣列,會比較難一點,相信大家可以從中理解他在做什麼,如果不理解也沒關係,多多的使用arduino去做不同的東西,就會慢慢理解。
留言
張貼留言