ボクにもわかる
IchigoJam用
オリジナル互換プリント基板の製作

[IchigoJam メニューへ戻る]

雑誌「1行リターンですぐ動く!BASIC I/Oコンピュータ IchigoJam入門」の
別売パーツセット「IchigoJam用コンピュータ電子工作学習キット(IF ICH-KIT)」

製作 IchigoJam
製作した IchigoJam用マイコン基板


IchigoJam用オリジナル互換プリント基板の概要

 ここでは、雑誌「1行リターンですぐ動く!BASIC I/Oコンピュータ IchigoJam入門」のプリント基板(別売り)に関する情報を掲載しています。


  • Personal Computer 基板 LCD付
    • EEPROM
    • クリスタル
    • 圧電ブザー
    • リセットボタン
    • ファーム書換用ワンタッチISPボタン
    • Arduino用拡張IOシールド対応(一部のシールド)
    • ACアダプタ対応
    • 3.3V レギュレータ(DCDCコンバータへ変更可能)
    • 5V 500mA レギュレータ(放熱可能)
    • USBシリアルモジュール対応(秋月電子通商 AE-FT234X)
    • USBシリアルIC(FTDI FT231XS)を実装可能(基板裏面)
    • ミニUSBコネクタ(USBシリアルIC/電源用)
    • 小型I2C液晶(AQM0802A-RN-GBW)
  • Micro Computer 基板 for Embedded
    • 組み込み専用小型基板
    • ビデオ出力なし、キーボード入力なし
  • Keypad Shiled基板(キーパッド拡張基板)
    • 方向ボタン×4 選択・決定ボタン×3搭載
    • Arduino互換インタフェース
  • Wireless Shield 基板 for RN-42/XBee(ワイヤレス親機用・拡張基板)
    • RN-42/XBee PRO モジュール
    • PCとのシリアル接続インタフェース
    • Arduino互換インタフェース
    • パーツは別売り
  • Motor Driver Shield 基板(ワイヤレス子機用・拡張基板)
    • モータードライバ
    • RN-42/XBee 省電力モジュール(モジュールは別売り)
    • Arduino互換インタフェース
  • I2C IF 基板(I2C拡張基板)
    • Groveコネクタ
    • 秋月電子通商 I2C接続小型LCDモジュール AE-AQM0802 接続用

お買い求めはこちらから

 CQ出版社:https://shop.cqpub.co.jp/hanbai/books/I/I000176.htm


IchigoJam用マイコン基板1 [Personal Computer with LCD]

製作 IchigoJam
製作した IchigoJam用マイコン基板

電源供給

 パーツセットに付属のACアダプタや006Pバッテリなど6V〜9Vを用いてDCジャックから電源を供給することが出来ます。ミニUSBコネクタ(MUSB-5BF01AS・パーツセットには含まれない)を実装して電源を供給することも出来ます。ミニUSBから供給した場合は、5V出力が4.5V程度に低下するので、ACアダプタによる供給を推奨します。

USBシリアル変換(モジュール/IC 両対応)

 USBシリアル変換にはパーツセットに付属する「超小型USBシリアル変換モジュール AE-FT234X」をCN7に接続して使用することが出来ます。もしくは、基板の裏面にFTDI製のUSBシリアル変換チップ(FTDI FT231XS)を実装することも出来ます(面実装部品はパーツセットに含まれておりません)。

製作 IchigoJam
USBシリアル変換チップFT231(半田付けに自信がある人向け)
面実装に慣れていない人には、パーツセットに含まれるUSBシリアル変換モジュールの使用を推奨します。

拡張IO

 IchigoJam用の拡張IOと新しいIchigoJam U用の拡張IOの両方に対応しました(Personal Computer基板)。また、一部のArduino用のシールド基板に接続可能な拡張IOも搭載しています。例えば、Arduino用のLCD Keypad Shieldを接続することも可能です。


共通インタフェース仕様

 下図は本マイコンボードのインタフェース仕様です。類似の基板の設計を検討されている方は可能な範囲で本仕様をベースにしていただきたいです。


IchigoJam用Arduinoシールドの共通インタフェース仕様



IchigoJam用マイコン基板2 [Micro Computer for Embedded]

 組み込み用のマイコン基板です。ロボット車などに組み込んで使用します。Personal Computer基板の通信相手として使用します。

製作 IchigoJam
製作した IchigoJam用マイコン基板2

拡張基板1 キーパッド基板 [Keypad Shiled]

 IchigoJamマイコンの入力ポートIN1、2、4を使って、7個のキー入力を実現するためのキーパッド基板です。7キーの信号を3線に変換するために、ロジックICの74HC148(¥30円)を用いました。


キーパッド機能をもった拡張基板

 下図はブレッドボードでの試作時の動作確認の様子です(同じ回路がプリント基板に配線されています)。


キーパッド機能の動作確認の様子

 74HC148は8ビット→3ビット変換(エンコード)ICです。最大7個までのボタンをこのICに入力し、ICの3ビット出力をマイコンのIN1,2,4に入力することが出来るようになります。
 本ICの入力ポート0はGNDに接続(押下状態と)し、全ボタンが押されていない時に「0」を出力するようにしました。8ビットに8個のボタンを接続すると、どのボタンも押されていない状態を検出することが出来ないからです。
 ICには、キーが押されていない場合の出力機能があります。しかし、IchigoJamの入力ピンを3つに抑えるために、今回のプリント基板では、7ボタンまでの仕様としました。

 テスト用のプログラムを下記に示します。写真の10〜30行を110行目にまとめました。ボタン1から7を、プルアップ抵抗とともに74HC148のポート1〜7に接続すると、押されたボタンの番号1〜7が得られます。どのボタンも押されていない時は0が得られます。

100 'Key Pad
110 K=!in(4)<<2+!in(2)<<1+!in(1)
120 IF B<>K PRINT K
130 B=K
140 GOTO 100

 もしくは

100 'Key Pad
110 K=~IN()&#F:K=K+K>>1&4:K=K&7
120 IF B<>K PRINT K
130 B=K
140 GOTO 100

 ここで使用した74ロジックICシリーズは、かつて論理回路の基本部品として、パソコンを含む様々なデジタル機器内で大量に使用されていました。当時は多くのデジタル回路に74ロジックが用いられていましたが、専用LSIによる回路の集積化や安価な汎用マイコンの登場により、こういった回路はIC内のハードまたはソフトに集約されてしまいました。このため、現在は、相互インタフェースの変換部くらいにしか74ロジックICは使われていません。BASICの復活とともに74ロジックでの設計も盛んになればと期待しつつこのICを採用することにしました。


拡張基板2 ワイヤレス親機用 [Wireless Shield for RN-42/XBee]

 BASICが流行していた時代のテレビ画面はブラウン管でした。ブラウン管のサイズは14インチ程度が主流で、しかもブラウン管には表示できない領域が存在し、実際の表示サイズは10インチ程度しかありませんでした。
 現在は液晶テレビのような薄型テレビの登場により画面サイズが大幅にアップし、IchigoJamをテレビに接続しても画面が大きすぎる問題があります。そこでIchigoJam用プリント基板ではワイヤレスでの利用に対応しました。大画面でも離れて使えば学習用やゲーム用にはちょうど良いのです。
 この拡張基板2と3へRN-42 Bluetoothモジュール又はXBee ZigBeeモジュールを実装すると、シリアル通信をワイヤレス化することが出来ます。例えばノートパソコンに親機用の拡張基板2を、テレビに繋いだマイコンボードに子機用の拡張基板3を接続すればノートパソコンからワイヤレスでマイコンボードを操作することが出来ます。
 また、ZigBee方式のXBee ZBを実装すれば、乾電池駆動で長期間の動作が可能なワイヤレスセンサーを製作することも出来ます。製作方法やサンプルプログラムは雑誌を参照ください。なお、別売りのパーツセットには、Bluetoothモジュール、ZigBeeモジュール、および本Wireless Shield用のパーツは含まれていません。別途、お買い求めください。


製作した 拡張基板2 ワイヤレス親機用 [Wireless Shield for RN-42/XBee]

 さらにこのワイヤレス親機用拡張基板は(RN-42 BluetoothモジュールやXBee ZigBeeだけでなく)XBee Wi-Fi等にも対応することが出来ます。手軽にIPネットワークに接続することが出来るので、IchigoJamを使ったIoT機器の製作も行えるでしょう。

各拡張基板の違い
拡張基板 対応ワイヤレスモジュール PCとの接続 モーター
親機 Wireless Shield RN-42 Bluetooth、XBee ZigBee、XBee Wi-Fi ×
子機 Motor Shield RN-42 Bluetooth/XBee ZigBee (PRO除く) ×

拡張基板3 ワイヤレス子機用 [Motor Driver Shield]

 DCモータの回転速度を可変駆動することが可能なソフトウェアPWM出力について説明します。


モータードライブ機能をもった拡張基板

 PWMとは、連続するパルスそれぞれの幅を調整することで、平均電圧を変化させるデジタル→アナログ変換方法です。(精度を高めることも可能。)
 このマイコンのデジタル出力時は、Lレベル時に約0V、Hレベル時に約3.3Vの出力が得られます。この出力を高速にON/OFF切替すると、平均の電圧が下がり、例えばON時間とOFF時間が同じであれば平均で約1.6Vの電圧が得られます。


BASICでのソフトウェアPWM出力波形

 下記のプログラムはOUT1出力をPWMによって11段階の電圧を可変するサンプルです。プログラムを実行し、上下キーを押すたびに電圧が変化します。

1 'PWM TEST
100 'main
110 out#01
120 forI=0toB:next
130 out#00
140 forI=0to10-B:next
150 A=inkey()
160 ifA=0goto100
170 ifA=30andB<10thenB=B+1
180 ifA=31andB>0thenB=B-1
190 print"A=";A;" B=";B
200 goto100

 ところが、消費電流を多く必要とするので、マイコンから直接、モーターを駆動することは出来ません。
 そこで、モータードライバICに東芝製TA8428Kを用いて、DCモーターを駆動できるだけの電流に増幅します。このICは逆回転にも対応しています。下記のサンプルを用いることで、モーターの回転速度および回転方向を制御することが可能です。キーボードの上下キーで操作してみましょう。

1 'MOTOR CAR DRIVER
10 L=0  :'PWM length
20 C=#00:'Output Code
30 D=0  :'Motor Direction
40 B=0  :'Motor Speed
100 'main
110 outC
120 forI=0toL:next
130 out#00
140 forI=0to10-L:next
150 A=inkey()
190 ifA=0goto100
200 'key
210 ifA=30andB<10thenB=B+1
220 ifA=31andB>-10thenB=B-1
230 ifA=28andD=0thenD=-1
240 ifA=29andD=0thenD=1
250 ifA=28andD>0thenD=0
260 ifA=29andD<0thenD=0
270 ifA<28orA>57out#0:end
280 ifA>=48andA<58thenL=A-48
290 print"speed=";B;" dir=";D
300 'Motor
310 ifB>0thenC=#05:L=B
320 ifB<0thenC=#0A:L=-B
330 ifB=0thenC=#00:L=0
340 ifD>0thenC=C&#03
350 ifD<0thenC=C&#0C
390 goto100

 以上は、ソフトウェアによるPMW出力のサンプルプログラムについて説明しました。別のページに「ハードウェアによるPWM出力」についても紹介していますので、そちらもご参照ください。


スマート・ロボット車の製作

 以上のようなPWMを用いたロボット車の製作例を下記に示します。ここでは、シャープ測距モジュールGP2Y0A21YKから得られた情報を元にIchigoJamからPWMを出力し、ロボット車の自動走行を行うことが出来ます。


BASICでのソフトウェアPWM出力を利用したロボット車


Motor Driver Shieldの回路図

 モータドライバ(東芝 TA8428K)は前述のMOTOR CAR DRIVERを基にして製作します。以下にスマートロボット車用のサンプルプログラムを紹介します(雑誌内のプログラムとは異なる)。

1 'PSD MOTOR CAR
10 L=0  :'PWM length
20 C=#00:'Output Code
30 D=0  :'Motor Direction
40 B=0  :'Motor Speed
100 'main
110 outC
120 forI=0toL:next
130 out#00
140 forI=0to10-L:next
150 A=ana(1)/100
190 ifA<Z+2andA>Z-2andL>5goto100
200 'PSD
210 ifA=1thenB=10
220 ifA=2andB<10thenB=B+1
230 ifA>2andB>0thenB=B-1
240 ifA>3andD=0thenD=2*rnd(2)-1
250 ifA>ZandD<>0thenD=-1*D
260 ifA<ZandD<>0thenD=0
270 ifA>8andB=0out#0:end
280 Z=A
290 print"ana=";A;" speed=";B;" dir=";D
300 'Motor
310 ifB>0thenC=#05:L=B
320 ifB<0thenC=#0A:L=-B
330 ifB=0thenC=#00:L=0
340 ifD>0thenC=C&#03
350 ifD<0thenC=C&#0C
390 goto100

 測距モジュールGP2Y0A21YKは約10cm〜80cmの距離を検出することが可能な光距離センサです。センサから障害物までの距離が近いほど高い電圧(約2〜3V)を出力します。このプログラムではセンサの電圧値が低い(障害物が見えない)ときに速度を上げ、電圧値が高い(障害物が近い)ときに速度を下げたり方向を変えたりして障害物を避けてロボット車を走行させます。
 ただし、このプログラムは特定の環境下でのサンプルです。走行する環境や障害物、目的に合わせてプログラムを修正する必要があります。

 今回、使用したロボット車のシャーシは1500円から2000円程度でAmazonなどで販売されています。下記アフィリエイトから購入していただければ幸いです。※2015年5月現在は中国の業者による出品商品です。中国からの輸入に慣れていない方は十分にご注意ください。※いかなるトラブルに関しても当方は責任を負いません。

スマートロボット車 IchigoJam

雑誌「1行リターンですぐ動く!BASIC I/Oコンピュータ IchigoJam入門」

 ここで紹介したプリント基板の製作方法については、下記の雑誌をお求め下さい。なお、基板とパーツは別売りとなっています。


¥(Amazon)
IchigoJam入門
雑誌JAN:4910016200362

別売パーツセット「IchigoJam用コンピュータ電子工作学習キット(IF ICH-KIT)」

 CQ出版社:https://shop.cqpub.co.jp/hanbai/books/I/I000176.htm


以下は参考情報です。


純正IchigoJamプリント基板の基板図:

 jig.jp社の純正のIchigoJam基板は、@少ない部品点数、Aハンダ付けの容易さ(DIP部品、適度な部品間隔)、B全信号パターンを片面に配線、C裏面を全面ベタGNDとして耐ノイズ性能も向上させている、D方向に注意しなければならない部品に☆マークを付与しているなど、教育用としてはとても良い作りになっています。
 とくにプリント基板(下図)を見るだけで回路が分かる点が最大の特長です。

純正 IchigoJam
こどもパソコン「IchigoJam」のプリント基板(市販品)

純正 IchigoJam
純正 IchigoJam 回路図 (出典:
https://ichigojam.net/)

純正IchigoJamに関する参考情報と当オリジナル基板での対応

 純正回路では5VのPS/2を3.3V動作のLPCマイコンに直結しています。このマイコンには5V入力トレラント機能が搭載されており、それを利用しています。この方法は本プリント基板においても継承することにします。
 キーボードのPS/2端子への電源供給は規格上、275mA以上の電流が流れないようにしなければなりません。純正IchigoJamでは一見すると保護されていないように見えますが、マイクロUSB変換基板上に100mAのポリスイッチが搭載されており、これにより保護しています。キーボードの電流制限については本プリント基板でも継承し、ポリスイッチ(基板上の「FUSE」と書かれた部分)を搭載できるようにしました。1回目の試作時は2端子の間にGND穴を空け、ここに3端子レギュレータを搭載したり輻射ノイズを低減するためのフィルタを入れたりすることを考慮しましたが、ポリスイッチのリード線が根元で湾曲しており、GNDに接触する懸念があったことからGND穴は廃止しました。
 マイコン用の3.3V電源レギュレータに関して、純正IchigoJamプリント基板では左側ピンがGNDの特殊なタイプを用いていました。当オリジナル基板では一般的なピン配列の過電流保護機能の付いたレギュレータで対応することにしました。また、電源の安定化を行うために電界コンデンサ(高さ10mm以下)を実装できるようにしたり、DCDCコンバータタイプの3端子スーパーレギュレータを実装できるスペースも確保しました。さらに通信モジュール等に対応できるように5V系のレギュレータも実装できるようにしました。6VのACアダプタをDCジャックから供給することで5V出力が得られます。ミニUSB端子も実装可能で、USB電源供給にも対応できます。(但しレギュレータの効果なし)
 クリスタル(水晶)の両端子にはマッチング用のコンデンサを搭載できるようにしました。20pFの負荷容量のクリスタルであれば33pF程度のコンデンサを実装します。テレビへの表示がうまく出来ない場合はコンデンサの値を10pF〜47pFあたりに変更・調整してみてください。
 タクトスイッチのプルアップ抵抗は通常の動作時はマイコン内部でプルアップされているので不要ですが、SLEEP時の割込みに使用するために取り付けてあります。この信号はArduinoのAnalog 0入力から入力することも出来ます。XBeeを使ったときの省電力動作に欠かせない端子です。本プリント基板でも継承することにしました。

純正IchigoJamプリント基板の拡張性に関する課題

 純正IchigoJamの拡張IO端子CN3とCN4に関しては、随分と悩みました。元々、この拡張IO端子を利用して液晶シールドやキーパッドシールドを作成しようと考えていたのです。
 ところが、IchigoJamの拡張IOでは、なかなか思うようなレイアウトが出来ませんでした。IchigoJamの拡張IOの位置や仕様は学習用としては実は最適なのですが、拡張IOとしては問題がありました
 最大の課題は、2つの拡張IOコネクタの間隔、そしてコネクタ配置です。この間隔が中途半端で、広すぎるようで狭すぎます。また、基板の中央にあるのも邪魔です。例えば、無線モジュールやキーパッド、液晶などを搭載しようとしても、これらのコネクタが隅によって欲しくなります。さらに、コネクタだけではバランスが取れず、ビス穴にスペーサを付けなければ保持できないといった課題もあります。拡張IOに5Vが含まれない点も不便です。無線モジュールやモータードライバのように電流を要する拡張IOを作りにくかったのです。
 一方、Arduinoのような拡張IOシールドであれば、コネクタが端にあるので、こういった部品の配置が楽になります。また、Arduino用に市販されている拡張シールドの一部が使えれば、ユニバーサル基板シールドやブレッドボードつきのシールドを流用することができると考えました。下図のようなブレッドボードつきのシールドは試作や実験を行うのにとても効率的だからです。ブレッドボードの上下にピンが来るのは、拡張ボード上での学習に良さそうです。

純正 IchigoJam
プロトタイプシールドを実装したPersonal Computer基板

 その後、新たにIchigoJam Uが登場し、拡張IO端子の間隔が広げられました。部品のレイアウトが、多少、容易になりましたが、大きな部品を載せる場所と被ってしまう課題は解決されていません。

 一方、Arduinoのような拡張IOシールドにも欠点があります。それは、マイコン基板上の多くの配線が基板端に向かうので、マイコン基板に関しては、プリント基板を見ても回路図が分かりにくい点です。これは教育用の基板としては最大の課題で、しかも解決のしようがありません。

 この問題については断念しました。とはいえ、むしろ、拡張IO基板側の配線は分かりやすくなります。マイコン基板の回路は純正IchigoJamで学習済の子供たちが、拡張IOを学習するには、この形の方が良いはずなのです。
 さらに、IchigoJam用の拡張IOも使えるようにすることで、IchigoJam用シールドによる拡張性も確保しました。

 以上より、当オリジナルプリント基板では、純正のIchigoJamの拡張IO、IchigoJam Uの拡張IO、そしてArduinoのような拡張IOシールドに対応可能な基板としました。配線の引き回しが複雑になるので、マイコンボード上の回路は学習用の位置づけから除外することにしました。


掲載情報について

  • こどもパソコン IchigoJamを用いた電子工作、応用回路、BASICプログラム等を紹介しています。
  • IchigoJam は株式会社 jig.jp の登録商標(第5746078号)です。
    本サイトでは株式会社 jig.jp の商品である機器およびプログラムの呼称として使用しています。
    「知恵の教授」や「電子出版物の提供」「図書及び記録の供覧」「書籍の制作」の呼名としては
    使用しておりません。
  • IchigoJam を第三者へ販売、提供するには同社からライセンスを受ける必要があります。(詳細)
  • 記載の情報はそれなりに考えたり試作を繰り返した成果が含まれています。
    リンクは自由ですが、当サイト記載内容の無断掲載、転用はご遠慮ください(連絡先)。
  • 出典を明記した情報については前項に関わらず出典元の権利を継承します。
  • 当ウェブサイトの内容や情報については、ご自身の責任でご利用ください。
    製作品などで事故が発生した場合であっても当方は一切の補償をいたしません。

IchigoJam メインメニューへ戻る