つくったブログ

ぼくがつくったもの。

arduinoで1桁7セグLEDをカウントアップ。

http://instagram.com/p/nU4zvDLLsj/

7seg LEDでカウントアップ。

つなぎかた

こんなかんじでつなげます。
f:id:kyokucho1989:20140428172451p:plain:w300

pin番号の対応はこれ。
http://instagram.com/p/nU4sUtrLsh/

スケッチ

スケッチはこの人のを参考にしました。(というよりほぼコピペ)
初心者だけど、一歩ずつ Arduino 超小型マイコン電子工作: 1桁の7セグメント発光ダイオードで表示(スケッチ完成編)

//LED site:(http://happy-arduino.blogspot.jp/2012/08/17_27.html)
void setup(){
  //1~8番ピン デジタル出力へセット
  for (int i=1; i<=8; i++){
    pinMode(i,OUTPUT);
  }
}

//LEDレイアウトを定義
//0,1,2,3,4,5,6,7,8,9,0,. の順。
boolean Num_Array[11][8]={
  {0,0,0,1,0,0,0,1},{1,1,0,1,0,1,1,1},{0,0,1,1,0,0,1,0},{1,0,0,1,0,0,1,0},
  {1,1,0,1,0,1,0,0},{1,0,0,1,1,0,0,0},{0,0,0,1,1,0,0,0},{1,1,0,1,0,0,0,1},
  {0,0,0,1,0,0,0,0},{1,0,0,1,0,0,0,0},{1,1,1,0,1,1,1,1}
};
//LED表示関数を定義

void NumPrint(int Number){
  
  for (int w=0; w<=7; w++){
  digitalWrite(w+1,Num_Array[Number][w]);
  }
}

void loop(){
  for(int t=0;t<=10;t++){
  NumPrint(t);
  delay(500);
  }
}
  • 関数と配列を使ってスケッチのスリム化に成功。
  • 配列の中身が0だとその箇所が点滅します。
  • 0.5秒ごとにNumprint(0),Numprint(1),Numprint(2),…という順に関数を実行。

完成。

動きます。

つぎはボタンを押したら切り替わるようにしてみようか。

ボクのArduino工作ノート

ボクのArduino工作ノート