Arduino基本實習操作:七段顯示器計1數到60

這次做的是七段顯示器計1數到60,這次的題目對於大家有點難,會用到陣列,
材料
1.Arduino UNO
2.單心線
3.七段顯示器兩個個
4.電阻器220歐姆14個
6.麵包版
如果沒有板子,可以到: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去做不同的東西,就會慢慢理解。

留言

這個網誌中的熱門文章

在手機不用任何下載影片的工具或網頁下載影片

自己做免安裝程式