create every day - 福野泰介の一日一創

7セグLEDで電子工作「じゃんけんゲーム」その1

2016/03/22 23:55:00
#IchigoJam #KidsIT #maker 

春休み、IchigoJamで電子工作はじめてみませんか?

IchigoJamキット(税抜1,500円)とハンダゴテセットとニッパーがあれば、組み立て方を見ながら1時間ほどで完成。 テレビゲームをいろいろ作るのも楽しいですが、電子工作もおすすめです!

エレベーターなどでよく見る、7セグLED、7つの分割(セグメント)された細長いLEDの発光パターンによって、数を表現する部品です。 a〜gの7つのピンにIchigoJamのOUT1〜OUT6とLEDから接続し、コモンピンをGNDに接続すると、自在に操ることができます。(回路図 at Upverter - カソードコモン7セグLEDを使用、色や大きさいろいろ!)
※本当は、各ピンに流す電流を決める、抵抗をつなげた方がいい

ブレッドボードで実験したり、ユニバーサル基板でつくることもできますが、先日届いた7セグLEDシールドを使うとすっきり!量産できます!

頼んだ時には間違っていたので、LEDから左上につながるパターンをカッターでカットして、別途配線しています。間違えてもなんとかなるので、どんどんトライ!

0〜9に加えてアルファベットA〜Fで10〜15を表す、16進数カウンタープログラムがこちら。(IchigoJam本体のボタンを押すたびにカウントアップ)

10 FORI=0TO1:I=BTN():NEXT:N=N+1:N=N&15:GOSUB100+N*10:FORI=0TO1:I=!BTN():NEXT:CONT 100 OUT`0111111:RETURN 110 OUT`0000110:RETURN 120 OUT`1011011:RETURN 130 OUT`1001111:RETURN 140 OUT`1100110:RETURN 150 OUT`1101101:RETURN 160 OUT`1111101:RETURN 170 OUT`0100111:RETURN 180 OUT`1111111:RETURN 190 OUT`1101111:RETURN 200 OUT`1110111:RETURN 210 OUT`1111100:RETURN 220 OUT`0111001:RETURN 230 OUT`1011110:RETURN 240 OUT`1111001:RETURN 250 OUT`1110001:RETURN

100行から250行が2進数で発光パターンを指定しています。C言語でいう0b表記、記号の入力の仕方は「Shift+@」です。 一番左がLED/gの位置、続いてOUT6/f、OUT5/e・・・と並んで、一番左がOUT1/aの発光パターンです。 表示させる数に合わせて GOSUB100+N*10 とサブルーチンを呼び出すことで表示しています。

ミッション1、4、6、7、9の発光パターンは好みがでます。自分好みの7セグLEDにしましょう。
ミッション2、配列を使ってコンパクトにプログラムすることもできるので、工夫してみましょう。

数に限らず、好きなように光らせることができるので、グー・チョキ・パーを7セグLEDでつくってみたのがこちら。

10 FOR I=0 TO 2:GOSUB100+I*10:WAIT30:NEXT:CONT 100 OUT`1011100:RETURN 110 OUT`1111110:RETURN 120 OUT`1111111:RETURN

ミッション3、「ぜったい勝てないジャンケン」を参考に、じゃんけんゲームをプログラムしてみましょう。

ミッション4、IN1〜IN4は使っていないので、ボタンを使って、テレビを使わない、オリジナルのじゃんけんゲーム機筐体をつくってみましょう。

参考リンク
- IchigoJam で LED を光らせよう(2) / 上田市マルチメディア情報セナー
- 7セグメントLED拡張基板 - SHIROのモバイル日記
- 7セグLED~ ロジックICを併用しよう ~ / PCN金沢

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image