できた。
必要なもの
7セグLEDをひとつ付け足す。
arduinoで7セグLEDを点灯させてみる。 - つくったブログ
スケッチ
ちょっと変更。小数点のLEDは使わないようにした。
//LED site:(http://happy-arduino.blogspot.jp/2012/08/17_27.html) const int BUTTON = 11; // プッシュボタンが接続されているピン const int led_1 = 12; // 7segLED the one's place const int led_10 = 13; // 7segLED the ten's place int val = 0; // 入力ピンの状態がこの変数(val)に記憶される int old_val = 0; // valの前の値を保存しておく変数 int state = 0; // LEDの状態(0ならオフ、1ならオン) int state_1=0; // the one's digit int state_10 =0; // the ten's digit void setup(){ //1~8番ピン デジタル出力へセット for (int i=1; i<=8; i++){ pinMode(i,OUTPUT); } pinMode(BUTTON, INPUT); // BUTTONは入力に設定 pinMode(led_10, OUTPUT); // 7segLED はoutput pinMode(led_1, OUTPUT); } //LEDレイアウトを定義 boolean Num_Array[11][7]={ {0,0,0,0,0,0,1},{1,1,0,0,1,1,1},{0,0,1,0,0,1,0},{1,0,0,0,0,1,0}, {1,1,0,0,1,0,0},{1,0,0,1,0,0,0},{0,0,0,1,0,0,0},{1,1,0,0,0,0,1}, {0,0,0,0,0,0,0},{1,0,0,0,0,0,0},{1,1,1,1,1,1,1} }; //LED表示関数を定義 void NumPrint(int Number){ for (int w=0; w<=6; w++){ digitalWrite(w+1,Num_Array[Number][w]); } } void loop(){ val = digitalRead(BUTTON); // 入力を読み取りvalに格納 digitalWrite(led_10,1); digitalWrite(led_1,0); NumPrint(state_10); delay(10); digitalWrite(led_10,0); digitalWrite(led_1,1); NumPrint(state_1); delay(10); //変化があるかどうかチェック if((val == HIGH) && (old_val == LOW)) { state = (state+1) % 100; // state 1加算。 state_10 = state /10 % 10; //十の位を切り出し state_1 =state %10; // 一の位を切り出し } old_val = val; // valはもう古くなったので保管しておく }
- スイッチが一回押されるとstateが一加算される。100まで増えると0になる。
- delayの値を変更してもらうと分かるが、すごい速さで一の位と十の位の数を交互に点灯している。
- ダイナミック点灯。
完成。
やっと二桁ができた。次は温度でも測ろうか。
Cooking for Geeks ―料理の科学と実践レシピ (Make: Japan Books)
- 作者: Jeff Potter,水原文
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/09/22
- メディア: 大型本
- 購入: 40人 クリック: 2,561回
- この商品を含むブログ (37件) を見る