■ LEDゲーム 「チャレンジ5」 の製作 ■

「ダイソー」で工作に使うケースを探していたところ、カラフルなシリコン製のお弁当用「おかずカップ」を発見しました。
 
外観と感触から、LEDの光で内側から照らすと、きれいに光ってかわいいのではと思い、その場では特に用途も思いつきませんでしたが、とりあえず買い物かごへ投入。
 
8月になり、夏休みの工作用に何か簡単なおもちゃを作ろうと在庫部品を探っていた所、この「おかずカップ」を光らせる事を思い出しました。

 ・光るだけのイルミネーションではありふれているので、押しボタンスイッチを仕込んで
  ゲームに仕立てる。
 ・乾電池でも動作可能なこと。
 ・LEDだけではゲーム性が出しにくいので、LCDで難易度の選択や得点表示を可能にする。
 ・回路はシンプルにして、後はプログラムで拡張する。
 
これらを考慮して、設計を始めました。


回路の解説
 
1.電源回路

 
 ・5VのACアダプター、または乾電池(1.5Vを3本使用)から電源を供給します。
 ・ACアダプターをDCジャックから抜くと、乾電池の電源に切り替わります。
DCジャックに「MJ−10」を使用する場合は、左のように配線します。
 1.電源スイッチへ行く配線と電池ボックスの(+)端子。
 2.制御基板の(−)端子。
 3.電池ボックスの(−)端子。

2.AVRとクロック
 
 ・AVRマイコンはATmega328P-PUを使用し、クロックは内蔵RC発振器の8MHzで動作します。

3.LCD  (キャラクタ液晶表示器)
 
 ・秋月電子のSD1602VBWB-XA-G-Gを使用。
 ・LCDモジュールの電源は、AVRマイコンのポートから供給します。(節電モードを搭載するため)
 ・LCDのバックライト電源も、AVRマイコンのポートから制御します。
  (よって、30mA以上のバックライト電流を必要とするモジュールは使用できません)
 ・ACアダプターまたは新品の乾電池を使用した状態で、20KΩの半固定抵抗器を回して
  コントラストを調整し、LCDの表示がはっきり見えるようにします。

4.LED (発光ダイオード)
 
 ・高輝度の白色LEDを使用します。
 ・LEDのタイプや色は、お好みで選択して下さい。
  (LEDを変更する場合は、使用するLEDのVfに合わせて電流制限抵抗器(180Ω)も
   調整して下さい)
 ・LEDをAVRのポートから直接点灯させますので、点灯させる電流はLED1〜2個の合計で
  30mA以内にして下さい。

5.押しボタンスイッチ
 
 ・製作するケースや、LEDを点灯させる方法(おかずカップを使わない等)によって、
  お好みのスイッチを選択して下さい。



回 路 図  PDF版  Challenge5Cir.pdf (253KB) 部品表
 
部品配置図 制御基板  GIF版  Challenge5Pcb.gif (151KB)
LED・スイッチ基板  GIF版  Challenge5swPcb.gif (164KB)
 
   
注意! この図面を使用した、いかなる損害にも責任を負いません。

お試しバージョン16。 LEDたたき ゲーム/ルーレット ゲームのみ
 
プログラム  BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 Challenge5_16.bas (52KB)
 お試し用
 インテルHEX形式 オブジェクトファイル
 Challenge5_16.hex (24KB)

公開バージョン。
 
プログラム  テキスト形式 ソースファイル  Challenge5_101.TXT (71KB)
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 Challenge5_101.bas (71KB)
 
 ・この製作では、ヒューズ ビットを工場出荷状態のまま使用しますので、変更の必要はありません。
 
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。

       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)



ボードに穴あけ加工

部品の取り付け

 裏面の配線

基板をスペーサーで
浮かす

 

基板 部品面

 
基板 ハンダ面

LED・スイッチ
基板 部品面

LED・スイッチ
基板 ハンダ面

LED・スイッチ
基板 側面視


製作について
 
・制御基板は、ユニバーサル基板Cタイプ (72x47.5mm)をそのまま使用します。
・部品表は、部品の背が低い順に記載してありますので、この順番に取り付けて行きます。
・LED・スイッチ基板との接続にJSTのコネクターを使用していますが、コネクターの種類または
 基板から直接配線するなど、接続方法はお好みで選択して下さい。
 
・LED・スイッチ基板は、ユニバーサル基板Bタイプ (95x72mm)を切り分けて使用しています。
・この製作では、「ダイソー」のホワイト・ボード 200x300mmを加工して組み上げていますが、
 製作するケースにあわせて、基板の加工や取り付けを工夫して下さい。



操作方法
 
メニュー選択
 
 ・電源を入れると、起動音と共にゲーム選択メニューが表示されます。
 
[1]と[2]のボタン(上段の2つ)で、ゲームを選択します。
[スタート/ストップ] ボタンを押すと、ゲームが始まります。
ゲームによって、ゲームのレベルが選択できます。
[3]と[4]のボタン(下段の2つ)で、レベルを選択します。
 レベル[1] (易しい) 〜 レベル[5] (難しい)
[5]ボタン(中段)を押すと、ハイスコアのクリア画面が表示
されます。
[1]のボタンを押すと、長いブザー音と共にそのゲームの
ハイスコアが0にクリアされます。

 ・選択したレベルとハイスコアはEEPROMに記憶されますので、電源を切っても保持されます。
 
 ・[スタート/ストップ] ボタンを押したまま電源を入れると、LCDにプログラム・バージョンが
  表示されます。
 ・[スタート/ストップ] ボタンを離すと、通常動作に入ります。

 
1.イルミネーション
 

 ・[スタート/ストップ] ボタンを押すと、5個のLEDが点灯パターン データ・テーブルに従って
  点灯を始めます。
 ・LCDのバックライトは、イルミネーションのじゃまになるので減光します。
 ・点灯中に1〜5のスイッチを押すと、押されたLEDが最大輝度で点灯しますから、完成時の
  機能テストプログラムとしても使えます。
 ・再度[スタート/ストップ] ボタンを押すと、ゲーム選択メニューに戻ります。
 
 ・点灯パターン データ・テーブルの作り方。
  プログラム中の[Illumidata:] ラベルの後に、DATA文で記載して行きます。
  1バイト目は点灯させるLEDの位置を表し、[PORTC]に出力するビットパターンを記載します。
  (bit1 = LED1 〜 bit5 = LED5)
  2バイト目はその状態を維持する時間で、単位は10mSです。 (最大255 = 2.55秒)
Data &B0000_0010 , 127  LED1を、1.27秒点灯させる。
Data &B0000_1100 , 255  LED2とLED3を、2.55秒点灯させる。
Data &B0000_0000 , 255  全LEDを消灯させて、2.55秒待機する
Data &HFF  テーブルの終了コード。テーブルの最初に戻って繰り返します。


 
2.LEDたたき ゲーム
 

 ・LEDがランダムに一定時間点灯しますから、点灯したLEDのボタンをすばやく押して行く
  ゲームです。
 
 ・レベルを選択して[スタート/ストップ] ボタンを押すと、ゲームが始まります。
 
[3]と[4]のボタン(下段の2つ)で、レベルを選択します。
 レベル[] (易しい) 〜 レベル[] (難しい
LCDの左上はステージ番号。
下の行は、左がステージ内の回数、右は正解の回数。

 ・1ステージは10回点灯します。
 ・1ステージ内で5回以上正解を押せば、次のステージへ進めます。
 ・ステージごとに、点灯している時間が短くなります。
 ・設定時間の半分以内の時間でスイッチを押せば、得点に10点が加算されます。
 ・半分以上の時間がかかった場合は、5点が加算されます。
 ・点灯している色と違うスイッチを押してしまった場合は、5点減点されます。
 ・ステージは全部で10個あり、10ステージを終えるとゲーム終了です。(パーフェクトは1000点)
 ・レベル4と5はステージの上限が99になり、10ステージ以降は同一時間の連続で持久戦となります。
 
 ・ゲームが終わると、ハイスコアとスコアが表示されます。
 ・ゲームの途中で[スタート/ストップ] ボタンを押すと、ゲームが中断されます。
 
 ・[スタート/ストップ] ボタンを押すと、ゲーム選択メニューに戻ります。
 ・いずれかのLEDボタンを押すと、新たにゲームが始まります。


 
3.ルーレット ゲーム
 
 ・各ボタンに当たりの倍率と出現確率の違う値が設定されていますから、好きな場所にコインを
  賭けてルーレットを回します。
 
 ・プレーヤーを選択して[スタート/ストップ] ボタンを押すと、ゲームが始まります。
 ・プレーヤー[1] 〜 プレーヤー[5] の、5人分の持ちコインを記憶します。
 
[3]と[4]のボタン(下段の2つ)で、プレーヤーを選択します。
プレーヤー[1] 〜 プレーヤー[5]
右上は持ちコインの数。
それぞれのボタンに対応する倍率と賭けるコインの数。

 ・始めてゲームを行うときは、30コインを与えられます。 (持ちコインが0になったときも同様)
 ・各ボタンには、下記の倍率が設定されています。
 
 ボタン    倍 率     出現確率  
×2倍 50% (1/2)
×4倍 25% (1/4)
×8倍 12.5% (1/8)
×15倍 8.33% (1/12)
×30倍 4.16% (1/24)

 ・各ボタンを押して、コインを賭けていきます。
 ・同じ倍率に賭けられるのは、10コインまでです。 (10コインを超えると、いったん0に戻ります)
 ・[スタート/ストップ] ボタンを押すと、抽選が始まります。
 ・当たりが出た場合は、倍率に従って持ちコインが増えます。
 
 ・どの場所にも賭けずに[スタート/ストップ] ボタンを押すと、ゲーム選択メニューに戻ります。
 ・持ちコイン数は、電源を切っても記憶されています。


 
4.LED危機一髪(ききいっぱつ) ゲーム
 

 ・5つのLEDのうち、1カ所に「ハズレ」が仕込まれます。
 ・順番にボタンを押していき、「ハズレ」のボタンを押してしまうと負けになります。
 
 ・プレーヤーの人数を選択して[スタート/ストップ] ボタンを押すと、ゲームが始まります。
 ・「1人プレー」と「2〜4人プレー」が可能です。
 
[3]と[4]のボタン(下段の2つ)で、プレーヤーの人数を
選択します。 「1人プレー」と「2〜4人プレー」

 ●「1人プレー」
 
 ・5つのLEDボタンを1つずつ押していき、4個セーフを引けばステージクリアです。
 ・セーフを引くごとに1点が加算され、ステージをクリアするとボーナスが1点加えられます。
 ・ハズレを引くとLEDが点滅して、得点も0点に戻ります。
 ・ハズレを引かないようにゲームを続けることで得点が上がり、ハイスコアを超えるとその得点が
  記録されます。
 
右は連続セーフの得点。
「1人プレー」の場合のみ、ハイスコアが表示されます。

 ●「2〜4人プレー」
 
 ・LCDの上段がプレーヤーの番号で、順番が来たプレーヤーにカッコが付きカーソルが点滅します。
 ・5つのLEDボタンを1人ずつ順番に押していきます。
 ・セーフを引くごとに、そのプレーヤーに1点が加算されます。
 ・ハズレを引くとLEDが点滅して、得点から2点を減点されます。
 ・続いて新しい場所に「ハズレ」が仕込まれて、「ハズレ」を引いた人からゲームが再開されます。
 
上段はプレーヤーの番号(順番)。
下段は各プレーヤーの得点が表示されます。

 ・ゲームの途中で[スタート/ストップ] ボタンを押すと、ゲーム選択メニューに戻ります。


 
5.LED記憶力 ゲーム
 

 ・ゲームが始まると、例題として各LEDボタンを押す順番が点灯表示されますから、例題と同じ
  順番でボタンを押していくゲームです。
 ・例題は、1個から順番に1つずつ増えていき、それを繰り返します。
 ・1つでも順番を間違えると、ゲーム終了です。
 
 ・レベルを選択して[スタート/ストップ] ボタンを押すと、ゲームが始まります。
 
[3]と[4]のボタン(下段の2つ)で、レベルを選択します。
 
レベル 1 4個のLEDで、一定の点灯速度。
レベル 2 5個のLEDで、一定の点灯速度。
レベル 3 4個のLEDで、回数ごとに点灯速度が早くなる。
レベル 4 5個のLEDで、回数ごとに点灯速度が早くなる。
例題通りに正解した個数が得点となります。
何個まで記憶できたかが得点です。

 ・ゲームの途中で[スタート/ストップ] ボタンを押すと、ゲームが中断されます。
 
 ・ゲーム終了時。
 ・[スタート/ストップ] ボタンを押すと、ゲーム選択メニューに戻ります。
 ・いずれかのLEDボタンを押すと、新たにゲームが始まります。


 
◎ このプログラムのHEXファイルと、書き込み済みAVRを、実費頒布しております。
 
  基板・部品の頒布室



   電子工作の部屋 Top へ 前のページへ戻る