SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

電子なわとびさっちゃん2023

以前作った「電子なわとびさっちゃん7セグ」
www.ichigojaman.jp
の回路を見直して、部品数を減らして簡単にしました。
元祖「電子なわとびさっちゃん」以下の部品数で、跳んだ回数が数字で表示されます。
紹介動画はこちら。

www.youtube.com

遊び方

  • 電源をONにすると、赤LEDのなわが回ってブザーが鳴ります。
  • STARTボタンを押すとゲームスタートです。赤LEDのなわが回るので、それを踏まないように、JUMPボタンを押して中央のさっちゃん(大きい黄色LED)をジャンプさせてください。跳んだ回数が7セグメントLEDで表示されます。
  • さっちゃんがなわを踏んでしまうとゲームオーバーです。STARTボタンを押すとリプレイできます。

回路図


「電子なわとびさっちゃん7セグ」の回数カウント部分を、カウンタIC・4026を内蔵した7セグメントLEDに変更して、部品数を大幅に減らしました。
動作説明は元祖の「電子なわとびさっちゃん」とだいぶかぶりますが、書いておきます。

  • NANDゲートが4個入ったIC・74HC00を使い、そのうち2個のゲートでクロック発振回路を組んでいます。発振したクロックを10進カウンタ・4017のCLOCK端子へ入力して、LED×10個のなわを回します。なおLEDは電流制限抵抗入りの品を使って部品点数を減らしています。
  • 4017のCARRY OUT(桁上がり)信号を、10進カウンタ4026を内蔵した7セグメントLEDへ送って、跳んだ回数をカウントしています。立ち上がりクロックが1回入力されるたびに1カウントずつ数字が増えます。この7セグメントのお陰で、部品数がかなり減りました。
  • さっちゃんのジャンプ動作は、単安定マルチバイブレータ(ワンショット)IC・74HC123で実現しています。
    通常状態では出力が「1Q=L、1Q=H」なので、1QにつながったS0のLED(地上のさっちゃん)が光ります。JUMPボタンを押して入力端子1AへHを入力すると、出力が「1Q=H、1Q=L」に切り替わり、S1(空中)のLEDが光ってさっちゃんがジャンプします。切り替わった出力はR3とC4の値で決まる時間だけ保持された後、元の「1Q=L、1Q=H」に戻ります(ワンショット動作、R3×C4=約0.15秒)。
    このICの働きで、JUMPボタン押しっぱなしでさっちゃんが空中へ跳び続けてしまうのを防いでいます。(0.15秒以内に再びボタンを押せばワンショット時間が延長されてジャンプし続けられるのですが、タクトスイッチをそのスピードで連打するのは困難です)
  • 74HC00のNANDゲート1個を使って、なわとさっちゃんの当たり判定をしています。なわ回転4017のなわ出力Q9と、地上のさっちゃんS0を光らせる74HC123の出力1QをNANDゲートに入力すると、両方ともH(なわがQ9にある、かつ、さっちゃんが地上にいる)の時だけゲート出力がLになります。
NANDゲートの真理値表
BASICプログラムで書けば「Y=NOT(A AND B)」
  • このL出力で、クロック発振回路を停止させてなわの動きを止めると共に、74HC123の1CLR入力もLにしてワンショット動作を停止します。(ワンショット動作を止めないと、JUMPボタンを押すとさっちゃんがジャンプしてなわとびを続行できてしまいます)
  • 止まったゲームをリプレイするにはSTARTボタンを押して、4017と7セグメントのRESET端子へH信号を送ります。なわがQ0へリセットされて再び回転して、回数カウントも0に戻ります。

基板データ

*いわゆる「B基板」のサイズで設計しています。B基板用のケースやパネルが使えます。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。

(C) 2023 Shiro Saito (https://www.ichigoaman.jp)

材料

だいたい以下の順番ではんだ付けすると作りやすいです。

はんだ付けが終わったら、ICをソケットにはめます。

IchigoJamの大なわとびさっちゃん


こちらの記事にも載っています。
スペースキーでジャンプして、回るなわを跳んでください。
なわを踏んでしまうとゲームオーバーで、跳んだ回数が表示されます。

10 CLV:CLS:Z=20
20 FOR T=-260 TO 90 STEP 10
30 DRAW X,Y,0
40 X=30+COS(T)/12
50 Y=22+SIN(T)/12
60 DRAW X,Y
70 LC 15,Z:?" "
80 IF J Z=Z+V:V=V+1
90 LC 15,Z:?"@"
100 IF V=5 J=0
110 IF !J && INKEY()=32 J=1:V=-4
120 NEXT
130 IF Z!=20 S=S+1:GOTO 20
140 ?S

電子LEDリレー

ロジックIC回路で8個のLED点灯を横へリレーする基板を作ってみました。
紹介動画はこちら。

www.youtube.com


ボタンを押すと、LEDが光って左から右へリレーします。


横に連結すると、続けてリレーできます。

遊び方

  • 電源を入れると、8個のLEDが全部光って、その後消灯します。
  • ボタンを押すと、LEDが光って、左から右へリレーされます。
  • ボリュームを回すと、リレーのスピードが変わります。
  • オプションのピンソケット・ピンヘッダを付けると、横に連結して続けてリレーできます。

回路図


シフトレジスタIC・74HC595でデータをシフトして、LEDを光らせています。

  • トランジスタ2個の弛張発振回路で、シフトクロックを作っています。コンデンサC1への充電電流は可変抵抗器(VR)を通しているので、VRを回すとリレーの速度が変わります。
  • シフトレジスタのシリアル入力はR2でプルアップされているので通常はHで、シフトレジスタの出力もHになります。出力につないだLEDはシンク(吸い込み)回路になっているので、通常は光りません。
  • ボタンが押されるとシリアル入力がLに落ちるので、シフトレジスタの出力がLになってLEDが点灯し、QA→QHへリレーされます。
  • オプションですが、シリアル入力に入力コネクタCN1、QH'出力に出力コネクタCN2を付けられます。複数の基板を横につなげて、基板間でLED点灯をリレーすることができます。

基板データ

*同じ基板を2枚割り付けています。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。

(C) 2023 Shiro Saito (https://www.ichigojaman.jp)

材料

以下の順番ではんだ付けすると作りやすいです。

オプションでピンソケットとピンヘッダを付けると、複数の基板を横につないでリレーできます。

最後に

モノタロウのカタログで「LED順送りキット」を見て、「これくらいならカウンタICで簡単に作れるんじゃないか?」と思って作り始めました。
「シフトレジスタにして複数光らせてリレーできるようにしよう」「ボリュームを付けたらスピードを変えられるんじゃないか」などとあれこれ発想が膨らんで、結局何度も基板を作り直しました。

IchigoJamのプログラム


試しにIchigoJamで組んでみました。

  • スペースキーを押すと、LEDが点灯して左から右へリレーされます。
  • カーソルキーの↑と↓を押すと、WAITの数が変わってスピードが変わります。
10 '*LED RELAY
20 CLV:VIDEO 3:CLS
30 W=20
40 @LOOP
50 FOR L=7 TO 1 STEP -1
60 [L]=[L-1]
70 NEXT
80 [0]=BTN(32)
90 LC 0,0
100 FOR L=0 TO 7
110 ?CHR$(232+[L],0);
120 NEXT
130 W=W-BTN(30)+BTN(31)
140 LC 0,2
150 ?"WAIT=";W;" "
160 WAIT W
170 GOTO @LOOP

IchigoJam webではこちら。

クリスマスツリー+植木鉢基板2023

以前に作った「クリスマスツリー+植木鉢基板」
www.ichigojaman.jp
の改良版です。回路を見直して部品数を減らしました。
IchigoJam/IchigoDakeに差してプログラムでLEDを光らせることもできますし、植木鉢基板に差してコンピュータ無しでランダムに光らせることもできます。

ツリー基板


8個のLEDと、デコーダーIC・74HC238が載っています。

IchigoJamのCN4ソケットに差すと、「OUT 0」~「OUT 7」でLED0~LED7の8個のLEDがそれぞれ点灯します。
※前のバージョンは「OUT 8」で全消灯したのですが、今回はその機能はありません。
プログラムの詳細は、立型クリスマスツリー基板のページを参照してください。

回路図

抵抗内蔵LEDを使って部品数を減らしています。

基板データ

*この基板データは、CC BYライセンスとします。どうぞご利用ください。

(C) 2023 Shiro Saito (https://www.ichigojaman.jp)

植木鉢基板


ロジックICが2個載った基板です。
発振回路にICのゲートを使って、以前のバージョンより部品数を減らしました。
また、電池ケースをピンで基板に固定するタイプにして、組み立てやすくしました。

回路図

NANDゲート・7400と、4ビットシフトレジスタ・4015の2個のロジックICを使った論理回路です。

  • NANDゲート×2個(7400-A・B)を使って発振回路を組んでいます。
  • シフトレジスタの出力の一部(Q2A・Q3A)を、NANDゲート(7400-C・D)などを通してシリアルデータ入力へ帰還をかけて(線形帰還シフトレジスタ)、疑似乱数を出力しています。ピンソケットにツリー基板を差すと、8個のLEDがランダムに光ります。
  • 帰還部分のゲート回路は、XNORゲートの等価回路になっています。

  • XORゲートの等価回路とされる上側の回路を変形して、下側の回路のようにNANDゲートだけでXNORゲートを実現しています。これでゲートICをNANDゲート・7400の1個だけに減らしています。

ツリーのLEDをずっと観察するとわかるのですが、LED0~LED7の8個は以下のパターンで繰り返し光ります。
0→1→3→7→6→5→3→6→4→1→2→5→2→4→0→…(最初にもどって繰り返し)
IchigoJamでのシミュレーションプログラムはこちら。Q3~Q0の4ビットの出力と、点灯するLED番号が、1秒ごとに表示されます。

10 CLV:CLS
20 @LOOP
30 ?BIN$(R,4),R&7
40 WAIT 60
50 A=(R&8>0):B=(R&4>0)
60 Y=!(A^B)
70 R=R<<1+Y
80 GOTO @LOOP

8ビットシフトレジスタ(74HC595など)を使って出力ピン数を増やせばもっと長いパターンにできるのですが、クリスマスツリーのLEDですし、そこまでしなくてもいいかと思います。

基板データ

*同じ基板を2枚割り付けています。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。

(C) 2023 Shiro Saito (https://www.ichigojaman.jp)