Wi-FiモジュールESP-WROOM-02のピン配列+基本配線図

Wi-FiモジュールESP-WROOM-02のピン配列+基本配線図

 ピン配列に基本配線図を加えました。地味に便利です。
 Wi-FiモジュールESP-WROOM-02のピン名は用途が示されていないので分かりにくいです。以下は、ピン番号、ピン名、機能の対応表の一例です。以前なら少し不親切だなと感じる程度でしたが、IchigoJamで公開されている親切な資料に慣れてきてしまい、下記のような資料が不快に感じるようになってきました。
Pin Name Function
1    3V3   3.3V power supply (VDD)
2    EN    Chip enable pin. Active high.
3    IO14  GPIO14; HSPI_CLK
4    IO12  GPIO12; HSPI_MISO
5    IO13  GPIO13; HSPI_MOSI; UART0_CTS
6    IO15  GPIO15; MTDO; HSPICS; UART0_RTS
7    IO2   GPIO2; UART1_TXD
8    IO0   GPIO0
9   GND
10   IO4   GPIO4
11  RXD   UART0_RXD; GPIO3
12  TXD   UART0_TXD; GPIO1
13  GND
14   IO5   GPIO5
15  RST   Reset the module
16  TOUT test the power-supply voltage of VDD3P3
17   IO16 GPIO16; wake up the chipset from deep sleep mode.
18  GND
 実際のところ、このピン配列表を見ながら作業していても、設定ピンを良く間違えてしまいます。そこで、冒頭のようにピン表に標準的な配線図を追加したものを作成してみたのです。(IchigoJamの回路図に影響を受けた。)
 作成したピン配列+基本配線図をもとにブレッドボードに接続。作成時間も従来より短く感じました。

ボクにもわかるESP8266….はまだ無いけど、Raspberry Pi 3と相性が良さそう。。。
ボクにもわかるIoTモジュール ESP8266
by ボクにもわかる電子工作
https://bokunimo.net/

260万アクセスを突破しました

260万アクセスを突破しました

 おかげさまで、ウェブサイト「ボクにもわかる地上デジタル」のアクセス件数が260万件を突破しました。当サイトの原点となったページに、多くのアクセスをいただき、どうもありがとうございました。


 残念なことに、ボクの反省として、当該ページの更新に全く手が回っておらず、年々、アクセス件数が減っていることです。2013年11月に250万件を突破して以降、10万件のアクセスをいただくのに、2年以上もかかりました。
 その理由は、この2年ほどの間は、ワイヤレスモジュール(XBee ZB, ESP Wi-Fi, RN-42)やマイコン(IchigoJam, Arduino, Raspberry Pi)といった趣味の世界に進んでいたからです。
 今後は、地デジのような万人向けの情報と、趣味の情報を上手く組み合わせることで、ボクの趣味を多くの人に広めてゆくという努力も必要かと思いました。とはいえ、今年度は、IchigoJam、Raspberry Piを利用したIoTデバイスといった切り口での情報が続くと思います。来年度に向けて考えてゆきたいと思います。


ボクにもわかる地上デジタル

ファームウェア書き換えが不要のXBee ZBモジュールの新シリーズS2C

XBee ZBモジュールの新シリーズXBee ZB S2C

 Digi International社より、XBee ZB(ZigBee方式)の最新シリーズXBee ZB S2Cシリーズが発売されました。このS2Cシリーズ、従来との最大の違いは、ZigBeeデバイスタイプの変更時にファームウェアの書き換えが不要になったことです。
 そこで、早速、入手したS2Cを使って、ZigBeeデバイスタイプを変更するツールを作成してみました。

なぜ、いまだにZigBee方式なのか
 IoT化と言えば、IPネットワークにIoTデバイスが接続されて、クラウドと連携することをイメージされる方が多いでしょう。このため、近年のワイヤレス通信方式の中にはIPプロトコルを実装するものが増えてきており、また、手軽にWi-Fiモジュールを利用することも出来るようになりました。
 そのような中、2007年に規格化されたZigBee PRO 2007を実装したXBee ZBシリーズに何の意味があるのでしょう?(ZigBeeをIPに接続するには、IP変換するための親機が必要)

 その理由の一つが、乾電池で駆動可能なIoT機器を手軽に作成することが出来ることです。ZigBeeには3つのデバイスタイプがあり、ZigBee End Deviceで動作するXBee ZBモジュールは、乾電池で2年くらい動かし続けることも可能です(通常は半年から1年くらい)。とくに、スリープ中のパケットを、スリープ復帰後に受信することが可能な仕組みは有用です。
 この分野でのライバルには、近年、登場したBluetooth Low Energyがあります。ボクはMicrochip社のRN-4020に期待していたのですが、あまり普及が進んでおらず、現段階ではワイヤレスモジュールとして、XBee ZBモジュールほどの知名度がありません。スマートフォンでは、従来のBluetoothとBluetooth Low Energyのデュアルモードのチップが搭載されており、普及が進んでいるにも関わらず、デバイス側となると、もう少し時間がかかりそうです。

 このように、IoTデバイスを今すぐ試作して運用しつつアプリケーションを開発するには、今のところXBee ZBが手軽で便利だと思います。

 ただし、いずれはIP系のワイヤレス方式もしくは、Bluetooth Low Energyに世代交代してゆくと思っています。本格的な普及段階で、IoTデバイスを大量生産するような場合は、XBee ZBは向いていないでしょう。それまでに、知見を蓄積してゆくための、初期製品向けといった使い方になるでしょう。

Cygwin(gcc, make ,gitが)およびRaspberry Piでのインストール方法と実行方法
$ cd
$ cd xbeeCoord/tools
$ make clean;make
$ ./xbee_zb_mode
ZIGBEE Device Type Switcher for XBee ZB S2C Series
00:Coordinator AT,  01:Router AT,  02:End Device AT
10:Coordinator API, 11:Router API, 12:End Device API
mode = 10 <-----— 上表から変更したいタイプを選択する
Coordinator API

ZigBee/Wi-Fi/Bluetooth無線用Arduinoプログラム全集

 CQ出版から発売されている「ZigBee/Wi-Fi/Bluetooth無線用Arduinoプログラム全集」はDigi International社のXBeeシリーズを中心に、全80もの豊富なサンプルを解説しています。実践的なIoTデバイスの開発の手助けになれば、幸いです。



by ボクにもわかるXBee用センサネットワーク

Amazonで販売されている4.3インチ液晶モニタの中身が違う

Amazonで販売されている4.3インチ液晶モニタの中身が違う

 ビデオ入力端子付きの4.3インチ液晶モニタがAmazonで1650円(送料込)で販売されています。このモニタは、購入するたびに特性が異なります。今日は、この液晶モニタの中の回路基板の違いについて、調べてみました。
 このモニタの電源入力仕様は12Vです。また、このモニタをIchigoJamやRaspberry Piの表示用として使われることがありますが、これらのマイコンボードはUSB用のACアダプタから5Vで電源供給するので、モニタが5Vで動作するかどうかは重要です。
Pancakeのビデオ出力を表示した例(表示されない場合もある)

4.3インチ専用Ver 1.0基板(2012年12月)

 基板に「V1.0」と書かれていることや、基板の形状が4.3インチモニタ専用となっていることから、おそらく初期の4.3インチ専用基板です。特記点は、調整用のスイッチがメインボードに実装されていることと、基板が液晶を固定する構造となっていたことです。
 この基板では12Vの電源入力を5Vに変換しているので、変換ICの出力に5V電源を接続して動かすことが出来ます。右の方にある8ピンのICの2番ピンが5V出力なので、ここに5Vを入力して動かします。

4.3インチ専用小型基板(2014年10月)

 次は小型の基板です。基板には「ZCD706 4.3INCH-V1.0」と、ここでも「V1.0」が表示されています。小型タイプの第1号品ということでしょうか。ICも小さくなっています。このモニタは5V入力で動作しました。液晶の種類やバックライトの消費電流などにもよるので、同じ基板で必ずしも動作するとは限りません。

さらに小さな小型基板・5.0Vあり

 次は、さらに小さくなった基板です。この基板は基板単品でも売られています。4.3インチ専用ではなくなったようです。電源電圧12Vを、一度、内部で5.0Vに変換し、その後、3.3Vに変換しています。出典に5V入力方法が公開されています(この情報がきっかけて、本ページを作成しました)。
Facebook IchigoJam-FAN グループ 中村 正明さん

さらにさらに小さな小型基板・5.0Vなし

 内部に5.0Vの電圧をもたない小型基板です。12Vから、一気に3.3Vに変換します。下の中央やや右にある「M7」と書かれたショットキーダイオードを、ERA81-004(VF=0.3V)に変更すると、電圧降下を0.5Vくらい改善することができ、電力変換効率が向上し、6VのACアダプタで動作させることが出来ました。残念ながら、5V動作には至りませんでした。

動作可能電圧

 動作が可能な最小電圧は、同じモニタでも購入したモニタのロットによって異なります。この理由の一つが、以上のような基板の違いです。ただし、液晶パネルや電源回路部品のばらつきなどによって、同じ基板であっても消費電力が異なります。一般的に、消費電力が高いほど、低い電圧での動作が難しくくなります。
 まだ、基板と消費電力の関係について傾向をつかめるほどの実験はしていません。

液晶パネルも違う

 今日は、基板に違いがあることを確認しましたが、液晶パネルやバックライトなどの消費電力も異なります。なお、液晶パネルやバックライトの消費電力がロットによって異なるのは、この製品だけではありません。

IchigoJamとPanCake

 本モニタをIchigoJamやPanCakeの周辺機器として使っている人も多いです。ところが、電源電圧を上げないと同期が外れる場合や、その反対に電圧を下げないと同期が外れる場合もあります。
 PanCakeは、カラーグラフィックを表示させることが出来るので、より正しく映らないリスクが高まります。
ボクにもわかるIchigoJamマイコンボード
ボクにもわかるRaspberry Pi

IchigoJam用Personal Computer基板で 液晶キーパッドのキー入力

IchigoJam用Personal Computer基板で 液晶キーパッドのキー入力

 今日はSainSmart製のLCD Keypad Shieldのキーパッドを使用する実験をしてみました。この液晶を利用する記事は以前に(http://blogs.yahoo.co.jp/bokunimowakaru/55271591.html)に紹介しました。
 今回は4つの方向キーに応じて「ミギ」「ヒダリ」「ウエ」「シタ」のいずれかを表示します。雑誌「BASIC I/OコンピュータIchigoJam入門」用のパーツセットに含まれるキーパッドに比べると、プログラムが長くなってしまいます。その理由も後述します。

プログラム

 プログラムです。液晶の上の行にアナログ入力値を表示し、下の行に方向を表示します。行番号110~190がメイン部分です。行番号140~170でキーを判定します。行番号900以降は液晶表示用のライブラリなので、理解する必要はありません。
rem LCD Keypad Example Code for IchigoJam BASIC 1.1
rem Copyright (c) 2015-2016 Wataru KUNINO
rem https://bokunimo.net/ichigojam/
1 CLS:?"IchigoLCD for IJ":?" by Watt Kunino"
100 GOSUB 900
110 WAIT 180:CLS
120 K=ANA(0):IF K>1000 GOTO 120
130 LC0,0:?"Key value=";K;"   "
140 IF K>600 ?"ヒダリ":K=-1
150 IF K>400 ?"シタ  ":K=-1
160 IF K>200 ?"ウエ  ":K=-1
170 IF K>=0 ?"ミギ ":K=-1
180 GOSUB 900
190 GOTO 120
900 'LCD
910 out35:out3:wait3:out35:out3:out35:out3:out34:out2
920 out34:out2:out40:out8:out32:out0:out44:out12
930 out32:out0:out33:out1:out32:out0:out38:out6
940 forZ=#900to#90F:gosub960:next:out44:out12:out32:out0
950 forZ=#920to#92F:gosub960:next:return
960 ifpeek(Z)outpeek(Z)>>4+48:out6,0
970 ifpeek(Z)outpeek(Z)&15+48:out6,0
980 return

純正IchigoJamプリント基板との接続方法について

純正IchigoJamの接続する場合、液晶については、下記を参照ください。液晶の電源には5Vが必要です。
またA0(Analog 0)端子をIchigoJamのBTN端子に接続してください。

CQ出版オリジナルKeypad Shield基板との違い

 下図はボクが設計したKeypad Shield基板です。7個のキーをIchigoJamのIN1、IN2、IN4に接続して使用します。IN3を避けたのはI2C用に使用するからです。
 ところで、1,2,4という数字にピンとくるかもしれません。2倍ずつ増えてゆく数字は2進数と相性が良いのです。この基板では、基板上に書かれている1~7の数字の並びに合わせて、2進数に変換しています。上ボタンの「3」だと、2進数の「011」がIchigoJamに入力され、10進数に戻すとキー番号「3」が得られます。
 さらに、4方向のキーに関しては、得られた数値に27を足すと、IchigoJamのカーソルキーのコードに一致します。そうです、わざわざ、その並びにしたのです。
パーツセットで製作できるキーパッド基板
(セットには1枚しか含まれていません)
 これらの工夫により、以下のような簡単な方法で、キー入力が行えるようになりました。
700 'KEYPAD
710 K=inkey():ifKletK,K&3+1:return
720 K=~IN()&#F:K=K+K>>1&4:K=K&7
 なお、回路や考え方を自由に応用していただいてかまいませんが、簡単で良いので出典元を記入していただけるよう、お願いいたします。

電源も一体型「ポケットコンピュータ」

 最初の写真から分かるように、単3電池1本での動作に成功しました。少し、液晶のバックライトの輝度が下がるのと、DCDCコンバータの出力が4.5Vあたりまで低下してしまいましたが、ちゃんと動作しています。

課題

 ここで、もとのSainSmart製のLCD Keypad Shieldのキーパッドの一番左にある「SELECT」ボタンを押してみてください。どんな反応があったでしょうか?
 壊れているわけではありません。LCD Keypad Shieldは5V動作なのに対して、IchigoJamは3.3Vまでしか検出することが出来ません。このため、3.5VくらいになるSELECTキーを検出することが出来ないのです。
 なお、本マイコンのADコンバータの入力の上限は3.3Vです。それを超過するのは良くありません。とはいえ、デジタル入力時は、トレラント機能によって5Vまでの入力に対応しているので、他のマイコンよりは壊れにくくなっているものと思います。もちろん、自己責任でお願いします。
 実験が終わったら、プログラムをセーブしてから「RESET」ボタンも押してみてください。こちらは、ちゃんと動きます。リセット信号はローアクティブ、すなわちLレベルのときにリセットがかかる決まりになっているからです。
ボクにもわかるIchigoJamマイコンボード

基板とパーツセットは3月31日に下記で発売開始予定です

IchigoJamのBluetooth キーボード化

IchigoJamのBluetooth キーボード化

 IchigoJamマイコンボードに接続した有線のPS2キーボードから入力した文字をBluetoothで送信し、パソコンやiPhone、Android等のキーボードとして使用する実験を行いました。
(純正のIchigoJamにBluetoothモジュールRN-42を接続する方法は後述。)
[ キーボード ]—[ IchigoJam ] — [ RN-42XVP ]  –  –  (bluetooth) –  – [ PC スマホ等 ]
 写真はCQ出版から発売予定のIchigoJam用マイコンボード「Personal Computer」基板、Wireless Shield基板、Keypad Shield基板の3枚を重ねて接続し、別売のBluetoothモジュールRN-42XVPを接続した例です。
 この最近、Facebook IchigoJam-FANグループ内でキーボードに関する話題が続いていましたので、少し、乗っかってみました。

動かし方:

 RN-42をIchigoJamマイコンボードのシリアルに接続した状態でプログラムを実行すると、BluetoothモジュールRN-42がHIDプロファイルで動作し始めます。パソコン、iPhone、Android等からBluetoothキーボードを検索し、ペアリングします。パスワードは「1234」です。
 接続が完了するとIchigoJamマイコンボードのブザー音とともにI2C接続の液晶に「OK!」の表示が現れます。これで、準備完了です。
 PS2キーボードから文字を入力すると、入力した文字をBluetooth送信します。Keypad基板の矢印キーでカーソルを動かしたり、右下の黒いボタンで「Enter」キーを入力することも出来ます。
 パソコン側でBluetooth切断すると、プログラムも終了します。

プログラム:

' CC BY Copyright(C)2016 Wataru KUNINO
' https://bokunimo.net/ichigojam/
cls:new
1 CLS:?"Blue 2th":?"Keyboard"
10 UART1:GOSUB 800
100 K=BTN():BEEP 2-K:wait(180)
110 POKE #900,67,84,76,48+!K
120 GOSUB 900:GOSUB 500
130 if BTN()=0 GOTO 130
140 POKE #923,32,79,75,33,0:GOSUB 900
150 BEEP:LC 0,-1
200 'Key
210 K=INKEY()
220 IF K ?CHR$(K);
230 K=~IN()&#F:K=K+K>>1&4:K=K&7
240 GOSUB K*10+300
250 IF K BEEP:WAIT(30)
260 IF BTN() GOTO 200
270 BEEP 50:END
300 return
310 ?chr$(11);:return
320 ?chr$(7);:return
330 ?chr$(14);:return
340 ?chr$(12);:return
350 ?chr$(13);:return
360 ?chr$(27);:return
370 return
500 'HID
510 I=0:poke#920,72,73,68
520 gosub900:lc0,2
530 ?"$$$";:wait(60):?"SF,1"
540 wait(20):?"SM,0":wait(20)
550 ?"S~,6":wait(20):?"SA,4":wait(20):?"R,1"
560 return
800 'LCD
810 poke#700,64,0,2,#C0,57,17,#70,86,#6C,56,12
820 ifi2cw(62,#701,1,#704,5)?"E"
830 wait12
840 ifi2cw(62,#701,1,#709,2)?"E"
900 'OUT
910 ifi2cw(62,#701,1,#702,1)+i2cw(62,#700,1,#900,8)+i2cw(62,#701,1,#703,1)+i2cw(62,#700,1,#920,8)?"E"
920 return

Bluetoothモジュールの戻し方:

 下記のプログラムをご利用ください。

純正IchigoJamを使用する場合の回路:

 純正IchigoJamを使用する場合は、RN-42XVPの2番ピンと3番ピンをそれぞれIchigoJamのRXDとTXDへ、13番ピンの論理を反転してBTNへ入力してください。また、I2C液晶やブザーも取り付けてください。

AC100Vの電源不要:

 今回は、実験ということで、IchigoJamマイコンボードをアルカリ乾電池1本で動かしてみました。昇圧回路で5Vにしてから、レギュレータ(LDOタイプ)で3.3Vに落として使用しています。回路や乾電池の性能などにも影響するので、必ずしも成功するとは限りません。

課題:

 これ、何に使うの?
 逆だよ、逆。
ボクにもわかるIchigoJamマイコンボード

IchigoJam用キット(IF ICH-KIT)のPersonal Computer基板

パーツセット「IchigoJam用コンピュータ電子工作学習キット(IF ICH-KIT)」に付属するPersonal Computer基板を組み立てた時の写真を撮影してみました。
 基板への電源は裏側から供給しました。課題は液晶とLEDの写り様です。液晶のコントラストが高くなるように明るくすると、LEDが暗く見えてしまいます。そこで、ライト(電気スタンド)2台のうち1台は液晶用に、もう1台は紙をかぶせて全体用にしました。まだまだ明暗があったり、影が濃かったりと問題が散見されます。
 既に、ここまでで3時間も費やしていて、午後からは用事があるので、時間切れ。写真撮影はこの程度にして、今夜は「プリント基板の組み立て方説明書」を作成しないといけないです。
 下図は、そのための写真です。ライトの配置は上の写真と同じですが、基板の角度が違います。
元ファイルは下記に保存しました
CQ出版社の販売ページ
by ボクにもわかるIchigoJamマイコンボード

Facebook

IchigoJamのファームウェアを連続で書き込むソフト「petit15writer」

LPCマイコンへIchigoJamのファームウェアを連続で書き込むソフト「petit15writer」を作成しました。既存の「lpc21isp」というソフトを連続で実行します。
書き込み時の操作は基板側だけです。(タイムアウトやエラー発生時はパソコンかRaspberry piでの操作が必要になります。)
書き込み後には、IchigoJamの起動時に表示されるバージョンを確認するようにしてあります。
Cygwin for Windwos(GCCとMakeとGit)またはRaspberry Piが必要です。
教室用などで多数の書込み・バージョンアップを行う場合を想定しています。(数個程度の書込みにはFlashMagicの方が便利です。)

その他:
まだバグがあるかもしれません。補償はありません。
CQ出版社「IchigoJam用コンピュータ電子工作学習キット(IF ICH-KIT)」に含まれるPersonal Computer基板を使うと便利です。
by ボクにもわかるIchigoJamマイコンボード

Facebook

IchigoJam用コンピュータ電子工作学習キット(IF ICH-KIT)

IchigoJam用コンピュータ電子工作学習キット(IF ICH-KIT)」が4月15日CQ出版社より発売されました。
インターフェース増刊『1行リターンですぐ動く!BASIC I/OコンピュータIchigoJam入門』

IchigoJam用コンピュータ電子工作学習キット(IF ICH-KIT)

  • 価格17,280円(税込)
  • 2016年4月15日発売!
概要:
 インターフェース増刊『1行リターンですぐ動く!BASIC I/OコンピュータIchigoJam入門』で紹介したキャタピラ車とIchigoJamマイコンなど,自律走行に必要なパーツと専用基板のセットです.
ワイヤレス用のBluetoothユニットとその周辺部品は含まれません.
※この写真は試作品につき一部の仕様が異なります。
ワイヤレス用のBluetoothユニットとその周辺部品は含まれません
お買い求めはこちらから(CQ出版社):

パーツセットの中身は?

 発売元のページの情報だけだと、中身が想像しにくいと思いますので、本ブログで解説いたします。雑誌「1行リターンですぐ動く!BASIC I/Oコンピュータ IchigoJam入門」(以下、本書)をお持ちの方は、ワイヤレス(BluetoothやZigBee)以外のプログラムを動かすことが出来るセットであると考えていただければ良いでしょう。あるいは、雑誌の目次や内容の一部が下記で公開されているので、参照していただくとイメージがつきやすいでしょう。
 パーツセットには、2種類のIchigoJamマイコンボード(IchigoJamライセンス済のマイコン付属)のほか、ゲームの操作などに使用するキーパッド基板(Keypad Shield)、2つのモータや4つのLEDを搭載したモータードライバ基板(Motor Driver Shield)、さらにキャタピラ車のキットUSBシリアル変換基板EEPROM(1024kbit)、安定した動作に欠かせないACアダプタなどが含まれています。
 以下に、含まれるパーツの詳細を説明します。ただし、予告なく仕様が変更になる場合があります。購入の際の参考情報としてご覧いただければと思います。

全部入り!? IchigoJam 用マイコンボード

 本書でPersonal Computer基板と呼んでいるIchigoJam用マイコンボード(IchigoJam BASICファームウェアが書かれたマイコンを搭載した、マイコンボード)です。全部入りを目指しました。
 まず目を引くのは、付属の小型の液晶です。本書内に、この液晶を使用してゲームを作る記事を紹介しています。また、EEPROMやUSBシリアル変換基板も付属します。
 最も特長的なのはArduino 用のシールドと似たような拡張IOを搭載していることです。一部のArduino用シールドを装着することもできます。Arduino用のユニバーサル基板を使用することで、自作のシールドも作りやすくなります。もちろん、新旧の純正のシールドも使用可能です。ピンソケットは写真以外にも1本、余分に付属しているので、Arduino似とIchigoJam用の両方にピンソケットを実装することが出来ます。
 このプリント基板には、Arduino似の拡張IO以外にも、いくつかのこだわりがあります。
 一つ目は電源です。純正のIchigoJamプリント基板に電子回路を拡張する際に、電源の容量不足やノイズ混入が生じる場合があったので、電源には特に留意しました。
 また、様々な拡張を考慮し、3.3V電源レギュレータには150mAのタイプのものを、5Vには500mAのタイプのものを使用しました。もちろん、付属のレギュレータは保護回路内蔵です。一部の電源のコンデンサにはオーディオ用の高品質タイプを使用して電源の揺らぎを抑えています。3.3V側はDCDCコンバータへの変更を考慮したスペースを確保し、5V側には放熱用のパターンを確保しました。
 下図のような、ACアダプタも付属します。電源部が原因で不安定な動作に陥らないためにも、ぜひ使って欲しいです。
 ファームウェアの書き換え時に便利なISPボタンもあります。特長は独自のワンプッシュ方式です。頻繁にファームウェアを書き換える場合、とても便利です。
 マイコンのシリアル通信の接続先を、切り替えるシリアルスイッチも便利です。シールド(IO)と、パソコン(USB)とをスイッチ一つで切り替えることが出来ます。圧電ブザーによるサウンド出力も搭載しています。こういったスイッチやコネクタ、ブザーなどは、シールドの邪魔にならないように配置しました。

キーパッド基板(Keypad Shield)

 7個のキーが搭載可能な拡張基板です。大型のタクトスイッチ6個と、通常のサイズのタクトスイッチ1個が付属します。指1本で操作できる4方向キーと、3個の汎用キーを使って、ゲームの操作だけでなく、様々な操作に応用できるでしょう。押下したキーに応じた信号を3本の信号で出力します。Arduinoに接続することも可能です。

モータードライバ基板(Motor Driver Shield)

 モータードライバ基板(Motor Driver Shield)は、IchigoJam用マイコンボードを使ってモーターを駆動するための拡張基板です。4つのLEDを実装し、これらの点灯を制御することも可能です。もちろん距離センサも付属します。ブロックターミナルには、モーターや距離センサ、さらに外部電源を接続することが可能です(写真のブロックターミナルは別メーカ品に変更予定)
 もし、Bluetooth モジュール RN-42XVPやXBee ZBモジュールをお持ちでしたら、この基板に装着してワイヤレスの実験を行うことも出来ます。XBee ZBモジュールを使えば、IchigoJamマイコンのスリープ制御も可能なので、乾電池で長期間の駆動が可能なIoT機器を製作することも可能です。

もう一つのIchigoJam用マイコンボード

 もう1枚、IchigoJam用マイコンボードが付属します。こちらは組み込み専用です。キャタピラ車に実装するために乾電池で動かすことを想定しています。

キャタピラ車(タンク車)キット

 次はキャタピラ車のキットです。大きく3つのキットと、ビスやスペーサで構成されています。下図はギヤボックスです。ギアボックスに搭載するモーター2個も付属します。
 下図はシャーシ部です。ユニバーサルプレートなので工夫次第で様々な形状のキャタピラ車を製作することが出来ます。
 下図はキャタピラ部分のキットです。


 これだけのパーツを個別でそろえようとすると、それなりに時間や手間がかかります。私自身も、本書を執筆するときのパーツ集めには苦労しました。本書内のパーツリストの部品を注文するだけでも、時間を要しますが、それだけではありません。試作を繰り返すうちに、同じ部品が手に入りにくくなるなどで代替え品を探すのにも苦労しました。さらに、基板に実装できずに、注文し直す必要も発生しました。このため、一部、本書とは異なる代替品が含まれています。

 このパーツセットに含まれる部品は、入手性などを考慮して、再度、調達し、動作確認してから、部品の構成を最終確定しました。

 また、基板ごとに異なる袋に分けた状態で、お手元に届けられる予定です。マイコンにはファームウェアが書かれた状態なので、製作後、すぐに使うことが出来ます。

 これらの実現には、部品を調達していただいた福井県にある会社やCQ出版社さんなど、多くの方々の協力で成り立っています。パーツだけではなく、そういった労力も含まれたパーツセットと言えるでしょう。

 このパーツセットを買わずに、自分で製作することも可能です。雑誌を購入していただいた方であれば、P.91に記載の方法で基板やパーツの情報をダウンロードすることが可能です。

 現時点では、このパーツセットを購入していただく方法と、自分でパーツセット相当品を製作する方法とがあります。相当品の製作に関する情報も、当ブログや下記の当方のウェブサイトにて、公開しております。
お買い求めはこちらから(CQ出版社):
どうぞ、よろしくお願いいたします。
ボクにもわかるIchigoJamマイコンボード
Facebook

I2C液晶用のキャラクタ(フォント)を簡単に探し、入力方法も

I2C液晶用のキャラクタ(フォント)を簡単に探し、入力方法も

I2C液晶でゲームを作るときに、I2C液晶とIchigoJamとのキャラクタに、相違が発生する場合があります。
アルファベットや数字の文字コードは同じです。しかし、一部の記号や特殊文字の図柄やコードが異なるからです。
例えば液晶に「̄」を表示するのに、IchigoJamでは[Alt]+[V]で「イチゴ」マークを入力します。分かりにくいと思っていたところ、たまたまIchigoJamの開発者の福野さんが、以下のようなプログラムを公開ているのを見かけました。
1 'SPECIAL CHARS
10 FOR I=0 TO 9:?I;:NEXT
20 FOR I=ASC("A") TO ASC("V"):?CHR$(I);:NEXT
30 FOR I=0 TO 31:?CHR$(128+I);:NEXT
40 FOR I=0 TO 31:?CHR$(224+I);:NEXT
CC BY 福野泰介 / @taisukef
ネコ人気!IchigoJamのスペシャルキャラクター入力チートシート – PCNこどもプロコン事前審査
これは、便利だ! I2C液晶にも使おう!
ということで、I2C液晶版を作成しました。

使い方:

キーパッドの左右または、通常のキーボードの左右でページを切り替えます。
液晶に16文字が表示されるとともに、テレビにも該当のキャラクタが表示されます。
さらに、[Alt]または[Shift]+[Alt]を押しながら入力する特殊文字については、該当キーをテレビに表示します(ここが先行例の応用部分)。
これで、入力も簡単になります。

プログラム

1 cls:?"LCD CHAR":wait 60:gosub 800
2 C=32
10 cls:lc 0,3:? "C=";C
20 if C=128 lc 0,5:?"Shift+Alt+":?:?"01234567":?"89ABCDEF"
30 if C=144 lc 0,5:?"Shift+Alt+":?:?"GHIJKLMN":?"OPQRSTUV"
40 if C=224 lc 0,5:?"Alt+":?:?"01234567":?"89ABCDEF"
50 if C=240 lc 0,5:?"Alt+":?:?"GHIJKLMN":?"OPQRSTUV"
100 'MAIN
110 for I=0 to 7
120 locate I,0:print chr$(I+C);
130 locate I,1:print chr$(I+C+8);
140 next
150 gosub 900
200 gosub 700:if K=0 goto 200
210 if K=1 or K=4 let C,C-16
220 if K=2 or K=3 let C,C+16
230 if C<0 let C,0
240 if C>240 let C,240
250 if K>5 cls:end
260 gosub 700:if K goto 260
270 goto 10
700 'KEYPAD
710 K=inkey():ifKletK,K&3+1:return
720 K=~IN()&#F:K=K+K>>1&4:K=K&7
730 return
800 'LCD INIT
810 poke#700,64,0,2,#C0,57,17,#70,86,#6C,56,12
820 ifi2cw(62,#701,1,#704,5)?"E"
830 wait12
840 ifi2cw(62,#701,1,#709,2)?"E"
900 'LCD OUT
910 ifi2cw(62,#701,1,#702,1)+i2cw(62,#700,1,#900,8)+i2cw(62,#701,1,#703,1)+i2cw(62,#700,1,#920,8)?"E"
920 return

テレビ画面(追加)

テレビ画面(左):Altと組み合わせて入力するキーが表示される
(写真はIchigoJamマイコンボードの互換基板)
テレビ画面の上の方がIchigoJam用のキャラクタです。これを液晶に転送すると右側のように表示されます。IchigoJamで入力するときは、テレビ画面の下の文字をAltキーを押しながら入力します。
例えば、テレビ画面の上側の右下に位置するイチゴマークは、液晶ではオーバーラインに、入力するときはAlt+Vであることがわかります。
これで、I2C液晶の全キャラクタを簡単に扱えるようになります。
IchigoJamに液晶を接続する方法は、こちらです。
by ボクにもわかるIchigoJam用マイコンボード