virt_flyのブログ -61ページ目

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

↑左のUbuntuパソコンから無線LANを通じて送られたメッセージでIchigoJam(右のキーボード上)のLEDが赤く点灯。IchigoJamのディスプレイ代わりにした右のWindowsタブレットの画面にメッセージの内容が表示されています。IchigoJamとジャンパー線でつなっがっているのが無線LAN Wi-FiモジュールESP-WROOM-02の載ったボード。

ESP-WROOM-02を使ったワイヤレス通信実験

電子工作にはまる

BASICが入っていて電源を入れれば直ちにプログラミングができ、即実行が可能で、それ自体が完結したパソコンであること、そして自分の手でそれをこしらえれるのですから、こどもパソコンIchigoJamにはすっかりはまってしまいました。

 

BASICプログラミングもさることながら、久しぶりにハンダゴテを握ったことから電子工作によりはまった感があります。IchigoJam互換機やこどもサウンドグラフィックボードPanake(もどき)の制作、EEPROM、LCDの装着などと続けてきて、次はさしずめこどもネットワークボードMixJuice でしょうか。


でも、これは完成品だけでキットがなく、価格も安くありません。また、IchigoJamをWi-Fiにつなげられるそうですが、どんなことができるのか今いちわかりません。

 

とはいえ、この間の電子工作を通じてかつてさわったことのなかったセンサー類にも興味が湧き、センサーのデータ送信には無線が欠かせないだろうと思えば、少し無線を知りたくなってきます。

無線を少し勉強してみたい

生化学系の人間なので電気、電子工学には疎いので、多分そう続かないことだろうと思い、この類の話題のタイトルは、「IchigoJamと無線通信」としました。関心はあってもIoTなどと大袈裟なものにしたら恥をかきそうですからね。

 

それでは、プログラミングの勉強は「Hello, world!」ではじまりますが、電子工作は「Lチカ」なのだそうで、これにならいワイヤレスでLチカしてみることにします。

 

 
↑Wi-FiモジュールESP-WROOM-02とレギュレーターNJU7223F33による回路  

使用したのはEspressif の無線LAN Wi-FiモジュールESP8266 ESP-WROOM-02。周辺機器の作成には、IchigoJam本体の価格以上に金をかけない、が信条なので、500円(税別)というのはお手頃価格です。そこで依拠させてもらったのが、国野亘氏の「ボクにもわかる電子工作ホームページ bokunimo.net」から「ボクにもわかるIchigoJam用サンプルプログラム Espressif ESP8266 ESP-WROOM-02無線LAN ワイヤレス通信実験」です。国野氏のこのホームページやブログは、大いに参考となる素晴らしい記事が豊富です。

 

ただし、当初ブレッドボード上に組んだ回路は、手元にあったレギュレーターがTA48M033Fではなくピンの配置が異なるNJU7223F33でしたので、元の国野氏の回路とは少々異なります(写真が自作のボード)。

 

国野氏のBASICプログラムをコピーし、我が家の無線LANアクセスポイントのSSIDとパスワードを書き込んで実行し、得られたIchigoJamのIPアドレスをもとに、TELNET接続してIchigoJam上の赤色LEDを点灯あるいは消灯させるのですが、回路を接続させたIchigoJamは電源をONにした途端syntax errorを吐き続け止まりません。

 

後に、TA48M033S(TA48M033Fは製造終了のため代替品)を購入して改めて回路を組みましたが、結果はほぼほぼ同じ。電子回路に疎いものには、悲しいかな原因がわかりません。無理やりじみた感じですが、タクトスイッチを押してみたりしてなんとかBASICプログラムを実行させて、IPアドレスを得ています(下の画像)。先行きが思いやられます。

 


↑IPアドレスを表示するIchigoJam画面(IchigoJamにつないだタブレットのVLC画面)

 

IPアドレスを手に入れたらTELNETですが、WindowsだとTeraTermだかいうソフトをインストールしなければならず、鬱陶しい気分になります。その点、Ubuntuではターミナルからecho "L1" > /dev/tcp/IPアドレス/23と入力し、実行するだけで簡単にLEDをを点灯させることができるので気が楽です。

なお、”L1”の部分を”L0”にすれば消灯です。

 


↑UbuntuパソコンからLEDの点灯、消灯、点灯のコマンドを順次送ると、IchigoJam側ではLEDが点灯、消灯、点灯を繰り返すとともに、IchigoJamにつながれたタブレット画面(VLCで表示させている)に点灯、消灯、点灯の3回受信した様子が示されます。


 

 

↑USBビデオキャプチャーデバイスを使いUbuntu上のVLCでIchigoJam-PanCake互換機の画面を表示させる

IchigoJam画面をTVモニター以外で見るには

前回宿題をやったよ!と書いて以来、このブログを更新しないまま2ヶ月近くが過ぎてしまいました。連休になって一息つけたところで、久しぶりに更新することにします。

 

以前ふれたように、USBシリアル変換によりノートパソコンをIchigoJamの液晶ディスプレイがわりにすることは、どうにもレスポンスが悪く一部表示も乱れることから、使えないとみなさざるをえませんでした。宿題ほどのことではありませんが、IchigoJamを持って外出するには、何か代替案が必要でしたので、今回はその話題とします。

LCDをつないでみる

ありきたりですが、まず思いつくのはLCDをつなげてみることでしょう。COVID-19の感染拡大で外出しづらくなることを見越して買っていた、LCDをつなげてみます。aitendoの128×64ドットでSPIバスのFSTN液晶モジュールです。ラズパイでもよく使われるミニオンダッシュモニターと価格的に同じくらいのものをと選んだものですが、かなり画面が小さく、後悔するはめになったものです。

 

接続は、端子同士をジャンパー線でつなぐだけで、ちゃんとBASIC画面が見えますが、使用のたびに線をつなぐのでは面倒ですので、IchigoJamの上にスタッキングするだけで使えるように、工作することにしました。

 

 【配線】

 液晶モジュール側  IchigoJam側
   7(SCL)    IN1
   8(SI)   VIDEO2
   9(VDD)   VCC
   10(VSS)   GND
   11(LEDA)   VCC
   12(/CS)   GND
   13(/RST)   IN4
   14(A0)   IN2

写真はai.bat.jamに乗せたLCDです。手元にあったユニバーサル基板を使ったので形が不揃いなうえ、わずかなズレで純正IchigoJamのCN5のコネクタをふさいで使えなくするミスを起こしてしまい、結局液晶モジュールを乗せたユニバーサル基板上にCN5を設けざるをえなくなりました(その後、USBシリアル変換用にさらにコネクタを増やしています)。

 

LCD画面に映っているのは、モバイルシューティング。その奥に立っているのは、aitendoのEEPROMです。CN3,CN4にスタッキングするタイプのEEPROMが使えないのに対し、CN5を使用するこのEEPROMのおかげで、モバイル対応のBASICプログラムを楽しめる可能性が広がります。

 

RCA端子でつながれたTVモニターからLCDに画面を切り替えるには、SWITCH1とコマンド入力することで実行します。逆に、戻す時のコマンドはSWITCH0です。

役立つUSBビデオキャプチャーデバイス

LCD画面が思ったほか小さかったため、今ひとつ試すことにしたのが、USBビデオキャプチャーデバイスです。接続したビデオカメラの受像やテレビ画面の取り込み、ビデオテープの映像を動画ファイルに転換のために使用するものです。これを使ってIchigoJamの画面をノートパソコンの液晶画面上に表示させようというものです。

 

ノートパソコンの画面を流用できるだけでなく、BASICプログラムを実行した様子をキャプチャーすれば、TVモニター画面への映り込みを気にしながらスマホで写真を撮る必要もなく、きれいなスクリーンショットを手に入れることができ、好都合です。

 
↑USBビデオキャプチャー  

 

ところが、買ってあったaitendoのUSBビデオキャプチャーは、何をしようがIchigoJamはさっぱり映らず、信号自体を認識していないようです(注参照)。悔しいので、さらに半値近く安いものをネットで購入することにしました。こちらはこちらで、いつまでたっても商品が届かず、再発送を求めて1ヶ月遅れでやっと手に入るという、ひどい目にあいました。

 

新たに手に入れたUSBビデオキャプチャーには、ドライバーやソフトの入ったCDディスクが添付されていましたが、自宅の古い外付けDVDドライブでは認識せず、あっさりWindowsはあきらめてUbuntuで試してみました。

 

とくにドライバーのインストールは意識する必要はなく、ソフトにVLCを使用することで、すぐIchigoJamの画面を見ることができました。Ubuntuは何事も簡単に実現でき、Windowsのように難しくないのが助かります。ちなみに、Windowsでも、VLCでIchigoJamの画面を見ることができました。

 

追記)書き漏らしていましたが、音声については現状では出ていません。どちらかと言えば、外出時の画面表示のためを想定してのことでしたから、音の出ることを望んではいなかったので、音声を出すにはどうすれば良いかまでは確かめていません。

 

 なお、いつもいつも「りんごをさっちゃん」では芸がないので、追記ついでにトップのスクリーンショットを差し替えました。恥ずかしながらゲームは苦手なもので、得点や残機数はつい捏造してしまいました。御上が御上なだけに、悪事は下々まで伝染ということで、ここは見逃してください。

 

↓画像は、VLCでの設定(UbuntuとWindowsとでVLCの設定画面が若干異なる)

 

注)aitendoのUSB ビデオキャプチャーは、Ubuntu上のVLCでもIchigoJamの画面を表示できませんでした。ところが、PanCakeもどきのai.cakeが出力するプログラム実行画面は表示するのですから不思議です。

↑「りんごをさっちゃん」の画面。TVの画面サイズ設定をノーマルに。小さくなりすぎですが色がきれいです。

 

わずかな改造で劇的改善!

今回は、IchigoJamをいじってくるなかで、うまくできなかったことや不明な点など、持ち越されてきた宿題を片付けることにします。

 

IchigoJamが液晶TVの画面に収まらない件

 

ここに書くまでもないことですが、IchigoJamの画面が液晶TVの画面に収まらない件については、何かしら調節ができるはずとリモコンを調べ、ツールから画面サイズを開き、ノーマルを選択することで解決しました。ただし、操作はあくまでSHARPの古い液晶テレビAQUOSでのこと。なお、ノーマルでは画面が小さくなりすぎます。スマートズームがまだ少し大きいかも。冒頭の写真は、ノーマルのものです。

 

ai.cakeの画面の色がおかしい件

 

冒頭の写真は、「りんごをさっちゃん」の画面です。こどもサウンドグラフィックボードのPanCakeを使って遊ぶゲームですが、前々回、PanCake互換機のai.cakeではTVモニターの色が変でうまく映らないことを書きました。見違えるほどきれいです。

 

PanCakeにはあるがai.cakeにはないトリマーをつければ改善されるとの記事が、「電気電子工作の部屋」というサイトに書かれておりましたので、イチかバチか試してみた結果です。伊藤温司さんに感謝です。

 

↑色はこうでなくちゃ

 

水晶発振器に基板の裏から15pFのセラミックコンデンサーと20pF のトリマーコンデンサをハンダ付けしただけですから、部品代にして40円ほどの追加。合計費用はPanCakeのキット代のまだ半分にもならないのに、ほぼ同等の機能が手に入り、このきれいさですからうれしくなってしまいます。

 

↑ai.cakeを改造。基板の裏にトリマーとセラミックコンデンサーをつける

 

USB-シリアル変換ケーブル(FT232R内蔵)がうまく使えない件

 

IchigoJam ROMカセットの足が短いのは、なにも共立プロダクツが悪いわけではなく、どこの製品であってもアクリルケースに入ったIchigoJamには届きそうにありません。まだ、足の長いピンソケットやジャンパー線を使えばなんとかなるでしょう。それより、USB-シリアル接続でIhigoJamをパソコンでモニターするのは、処理が追いつかないのかかなり困難ぽいとわかったことの方がショックです。

 

USB-シリアル接続については、前回書いたようにCP2102チップ内蔵のモジュールはまがりなりにも動くものの、FT2232R チップ内蔵の共立プロダクツのケーブルについては、まだ使えていませんでした。

 

ポートが開けなかったのやらジャンパー線の接続間違いだったのか、今となっては、何が悪かったのかわからないくらい、普通に接続することができました。USB-シリアル変換ケーブル用のピンヘッダが用意されている共立プロダクツのIchigoJam ROMカセットと併用すると接続間違いせずに済みそうです。

 

使えることが確認できたのはラッキーでしたが、使えると言ってもパソコンでIchigoJamをモニターするのは、残念ながらやはり芳しくはありません。

 

おまけ

 
国が検査をしぶったせいか、新型コロナウイルスは一気に市中感染のフェーズに突入の状況となりました。外出を避けるためにパーツはネットで購入です。送料が同じなら、できるだけ必要なものは買っておこうと、結局無駄遣いに走ってしまった産物の一つが、センサーです。
 
かつて、マイコンを手作りした時はLEDをを灯すのが精一杯でしたが、今ではいろいろなパーツを接続して試してみるのは、豊富なネット情報もあってかなり敷居が低くなりました。
 
 
写真は、ピンヘッダをハンダ付けしただけの加速度センサーモジュールです(白い小さなブレッドボードの上の1センチ四方くらいの緑の基板)。X、Y、Zの各軸ごとの加速度を電圧の変化で表すアナログセンサーです。