2016年12月24日土曜日

Laser でクリスマスツリーを作ってみた


ずいぶん間があいてしまいました。

色々活動はしていたのですが、書く時間をつくれずにいました。
Laser加工機も買いました。 Smart Laser Miniの3.5W出力のモデルです。
レーザー刻印が主目的でしたが、思ったよりいろいろきれますねえ。

今日は、クリスマスイブでもあり、3mm厚のアクリル板からクリスマスツリーを作ってみました。

加工用のデータはこちら
加工条件は、速度200、100%、10回です。
8回ぐらいで切れているようです。

黒アクリルしか切れないのでこんなダークなツリーですが、組み立てるとこんな感じです。

 
では、よいクリスマスイブをお過ごしください。
 
 

2016年9月22日木曜日

IchigoJam にPCから書き込む



時間の経過は速いものでもう9月も後半です。
残暑も収まりちょっと元気が出てきました。

さて、今回のお題ですが、新しい基板を起こしましたのでご紹介とプログラムの書き込み手順を少し詳しく書いてみたいと思います。

IchigoJam書き込み機基板

CPU側から見た図です。 品薄らしいDIPパッケージだけでなくSMTパッケージのLPC1114も付けられるようになっています。


裏側です。書き込み機として使う場合は、リード部品のみで組み立てることができます。
DIPパッケージのCPUを使う時は、抵抗とコンデンサは裏側につけます。



オマケとして、チップ部品をいくつか加えるとIchigoJamとしても使えます。
こんな外観ですが、TVモニタやUSBコネクタのついたPS/2キーボードもそのままツナグことができます。 最小クラスですね。DIPのCPUを使うとこれ以上はちいさくなりません。(多分)


プログラムを書き込む

さて、回路は過去の投稿にある書き込み機と同じなので省略します。

ソフトの書き込みは2段階になります。

ファームウエアの書き込み


ハードが完成したら、NXP社のサイトにあるFlashMagicを使って、IchigoJamサイトにあるIchigoJamのファームウエアを書き込みます。 まずは、これでIchigoJamになります。

ツール/Flash Magic の入手先。 今の時点ではここから入手できるようです。


IchigoJamのファームウエアはここから入手できるようです。


ダウンロードしたZIPファイルを解凍すると、いくつかのファイルが入っています。
ライセンス規約も入っていますので、目を通して違反しない様にしましょう。
JIS, 英語、モンゴル、ベトナム語用など複数の言語用のファームウエアが入っていますので選んで書き込んでください。 VIがベトナム、MNがモンゴルですね。

Flash Magicの使い方は詳しくは書きませんが 後で出てくるUSBシリアルアダプタがあれば大丈夫です。 IchigoJamのISP端子をGNDにつないだら、他の接続は後述のものと同じです。

プログラムの書き込み

次にichigoJam Basicで動く書き込みプログラムを書き込みます。
上の方にあるrawをクリックすると表示が変わりますので、マウスでドラッグして選択して右クリックでコピーを選ぶとクリップボードにコピーできます。

プログラムはこちらからどうぞ。このプログラムはスピードを速くするためVideo出力を止めています。


もし、TVをつないで書き込む様子を表示したいときはこちらを使ってください。
少し遅くなります。


書き込みツールと方法


さて、IchigoJam化してプログラムを手で打ち込むことも不可能ではないのですが、お勧めはしません。もう少し楽と思われる方法の例を書いておきます。

まずは、パソコンで動く「ターミナルソフト」を手に入れます。 
私はWindowsで Tera Termというソフトを使わせて頂いてます。

Tera Termで検索するとダウンロードサイトが見つかると思います。

例えばこことか、 https://osdn.jp/projects/ttssh2/releases/ 窓の杜サイトにもありました。

次に、USB-シリアルアダプタというものが必要です。
例えば秋月さんで売っているこんなものです。



配線

接続します。

   USBアダプタ の RXD  -----  IchigoJamのTxD
   USBアダプタ の TxD  -----  IchigoJamのRxD
   USBアダプタ の GND  -----  IchogoJamのGND

   電源のGND         ----- IchigoJamのGND
   3.3V電源         ----- IchigoJamのVCC

USBアダプタのPCへ接続

  まずは、USBアダプタをPCにつなぎます。
  ドライバのインストールが必要な場合がありますので、アダプタの説明を読んで対応ください。
  アダプタによって異なるのでよろしくです。Win10くらいになると自動認識してくれるものも多いようです。

  のCOMポート番号を調べておきます。
  Windowsならデバイスマネージャを開くとPortの下に並びますので覚えておきましょう。
   

ターミナルソフトの設定

Tera Termの場合は次のような手順です。他のソフトもこれに準じて設定してください。

端末の設定  改行コード 受信=LF、 送信=CR+LF、ローカルエコーにチェックあり。ロケール=Japanese, 言語コード(コードページ)=932




 シリアルポートの設定 ボーレート=115200、データ=8、パリティ=None、ストップ=1、フロー制御=None、送信遅延=25ミリ秒/文字、 250ミリ秒/行




設定が出来たら、保存しておきましょう。次回に設定を読みだせば毎度入れなおさなくて良くなります。

ソフトの書き込み

配線して、USBアダプタが認識されターミナルソフトの設定が終わったところです。

次にIchigoJamの3.3V電源をONします。

すると、この基板の場合は、ターミナルソフトのウインドウにエラーメッセージが表示されればOKです。 これは、BTNをGNDにして自動起動設定になっていて、起動するプログラムが未だ書かれていないためのエラーです。もし正常な起動メッセージが出たらBTNがGNDにつながってません。

この状態で、プログラムを書き込むことができます。

Tera Termのウィンドウを右クリックしてクリップボードをペーストするとIchigoJamにプログラムが書き込まれます。 さらにキーボードでエンターキーを一回タイプしておいてください。
このとき直ぐに書き込まれたように見えますが、実際にはかなり時間がかかるのでOKはすぐには出ません。

しばらく待つとOKと出ると思いますので、そうしたら ”SAVE 0”エンターキーとタイプします。

バイト数とSavedが表示されたら、書き込み完了です。

これで全ての手順が終了しました。

何台組み立てても、ファームウエアの書き込みができるようになりました。


















2016年7月27日水曜日

TOOLは自分で工夫する の 巻 **糸半田ディスペンサー**




前書

突然ですが、

ジェダイの騎士はライトセーバーを自作するらしいですね。
 
他にも武器を自作する英雄は少なくありません。極めつけは、アイアンマンかなぁ。
 
そういえば、バットマンも昔は自分で全部作っていたようです。 
 
スパイダーマンのコスチュームも最初は手縫いだったし、、、。
 
そこで、(という訳でもありませんが) 糸半田ディスペンサーを作りましたので紹介させて頂きます。 
 
--キャットウーマンも自分で縫ってたなあ。--
--EEスミスのSFのキャプテンFは、遭難したときゼロから宇宙船を自作して帰ってきたぞ。--
 

武器を自作すれば、工作の楽しさもきっとアップしますよ。

 

糸半田ディスペンサーを巻く

糸半田は、500g~1Kgくらいのリールで調達しています。(まだ数えるほどしか買ってない。)
このままでもいいのですが、イベントなどに持ち出したり、小分けにしておくときには巻き直してプラケースに詰めておくと絡まず気持ちよく使えます。

用意するもの

まずは、リールの糸半田と、入れ物、プラスのドライバーを用意します。容器は、食べ終わったお菓子の空き容器を今回使います。
ペンサイズの円柱形がベストです。

ドライバーは、軸が長目で滑らかなものを使ってください。
滑らかでないと、巻いた後で引き抜けなくなります。
 マイナスのドライバも先が太くなるので良くないです。
 ドライバ以外でも、ステンレスの丸棒などがあればそれでOKです。

巻き始め


糸半田を写真のようにL字にまげて、ドライバーの軸の付け根から巻き始めます。 巻くときに重ならない様に隙間なく一層になるように巻いてください。

 ↑これがコツです。

2層目を巻く

一層目が先端まで巻けたら、次は巻かずに付け根まで戻ってから2層目を巻きます。2層目も2層目同士が重ならず、できるだけ隙間なく巻いていきます。

戻るときは巻かずにストレートで戻します。<<大切


 







2層目を巻き進んでいます。

2層目の巻き終わりです。
今度も、巻かずに軸の付け根まで戻して3層目を巻き重ねます。
ドライバーの先端側から出ているのが半田の先端です。


3層目巻き終わり
もくもくと巻いていきます。



太さを確認

4層目を巻き始めましたが、一応太さを確認しておきます。
もう一層巻けそうです。




4層目を巻き終わりました。

何層巻くかは、容器やドライバーの太さ、半田の太さで変わりますので加減してください。
巻き終わったら半田は切ります。






ケースの加工(穴あけ)

巻き始めが見えていますね。

巻いている途中に、最初の端っこを金属疲労で折ってしまわないように注意しましょう。 折れてもつまんで引っ張れば出てくるので多分大丈夫です。

容器の方は、一方の端に糸半田の通る穴をあけます。
木工用のキリとか、ドリルとかで開けましょう。
けがをしないように気を付けて作業してください。

ドライバーを抜く

次に、ドライバーを引き抜きます。このときせっかく巻いた半田を崩さないようにしてください。隙間なく巻いてあれば、簡単には崩れませんが引き延ばす方向には弱いのでご注意ください。

はんだを穴に通す

巻き始めの半田を引っ張ると、ずるずると出てくる筈です。
伸ばしたら容器の穴に通してしまいましょう。

完成

巻いた半田を押し込んでふたができたら完成です。

同じ層を重ならないように、隙間なく巻いてあれば、これで全ての半田を順に引き抜くことができます。

押し込むときしっかり 押し込んで構いませんがあまりに固いようなら最後の層をほどいてください。

写真のモノは大きさが手頃なので昔からよく利用させて頂いています。
お気に入りのものを探してみると楽しいですね。

最後に大切なお話

電子工作に使う半田は、金属の鉛を含みます。 64半田(ロクヨン半田)とか共晶半田と呼ばれるものは約60%の鉛を含んでいます。単純に鉛はんだともいいますね。基本的にはこれらは同じものと考えて結構です。

今回の工作も半田にしっかりと触れますので、製作が終わったら石鹸で丁寧に手を洗ってください。 


鉛は継続して摂取すると中毒の原因になると言われています。よい子は電子工作中にお菓子を食べたりするのは止めて、おやつの前には手を洗いましょう。  (当たり前ではありますが、、)

気を付けるところは気を付けて、楽しく電子工作をいたしましょうというお話でした。

2016年7月17日日曜日

IchigoJam Firmware 書き込み機

IchigoJamのファームウエア書き込み機を作ってみた。

半田付けの終わった書き込み前のIchigoJamや古いバージョンのmものに差し込んで電源をいれると2分ほどでファームウエアの書き込みをしてくれる書き込み機を作ってみました。
 
 

外観

基板はドロイド組み込み用に作ったものの流用です。
 左側のピンを書き込まれるIchigoJamに差し込みます。
 右側のソケットは、これ自身をアップデートするときに使います。
 水晶はつけていますが、無くてもOKです。
 

回路

 
回路図:部品を必要最小限度にしてあります。

組み立て

基板を用意

まずは、ロボット組み込み用に作った基板をカナノコで切りました。


コネクタを用意します。
左にある長いピンヘッダを切って曲げて基板左にあるように加工しておきます。

 部品と供に基板に半田付けします。
BTN信号をGNDにつなぐところが未配線です。忘れると動かないのでお忘れなく。

 配線をします。これでハードウエアは完成です。後でソケットにシールを貼りました。

今回は2台めなので、初号機で書き込んでみます。

さらに、ソフトウエアで説明するプログラムを書き込んでおきます。
そして、2台めから、初号機に書き込んでみました。
書き込めたようです。



ソフトウエア

まずIchigoJamのFirmwareをかきこんでください。次にこのソフトを書き込んで"Save0"します。
あとは、書き込みテストをして完成です。

モニタで書き込み経過を見ながら書き込むこともできます。
その時は抵抗2本を追加してTVをつないだうえでこちらのソフトを書いて"save 0"してください。 プログラムの違いは40行目のVideo0 がVideo1になっているところです。

この書き込みプログラムは、自分自身のファームウエアのコピーを書き込みます。色々なファームウエアを書くときは、そのファームウエアを書き込み機に書き込んでおいてください。

使い方

書き込まれるIchigoJamのソケットに差し込んで電源をいれてください。
緑のLEDが点きます。
0.5秒ほどで消えるはずです。 消えない時はIchigoJamが正常に動いていません。
緑のLEDがきえると、ほどなく赤のLEDが点滅を始めます。
約2分で点滅が終わり、緑のLEDが点灯すれば、書き込み完了です。
電源をオフにして書き込み機を抜いてください。

書き込んでいる様子

書き込み相手は、ミニブレッドボードで組み立てたIchigoJamです。





この後、緑の点灯になれば、書き込み完了です。

謝辞
ソフト開発特にマシン語部とプログラムコード共有方法についてFacebookのIchigoJam-Fanグループで色々教えて頂きました。ありがとうございました。






2016年6月12日日曜日

IchigoJam Carでライントレース

IchigoJam 自走車のデモンストレーション


5月15日に書いたIchogoJamカーですが、LEDを点けて1秒前進するという寂し気なプログラムで動作確認したら、なんだか満足してしまい、そのまま一か月が経過しようとしています。
 このままでは、おバカなままでちょっとかわいそう。   そこで、

フォトセンサーを使ってライントレースプログラムを作ってみました。


 回路とかのハードウエアは過去の記事をご覧ください。
 プログラムはこちらからどうぞ。

プログラムの説明と使い方


スイッチをRUNにして電源が入ると1秒待ちます。
そのままだと、少し前進してUターンし、また前進してUターンして止まります。
希望では元の位置に戻ってほしいですが、電池の具合で位置精度は微妙でしょう。
LEDも点滅します。

1秒経過する前にスイッチをPROGに切り替えると、行番号1000から始まるライントレースに制御を渡します。
センサーですが、下が白だとゼロになり、黒(浮いているも含む)だと1が読み取れます。
2個あるので、白黒の組み合わせで4通りあります。各々についてどちらのモーターを回すかを適宜切り替えています。
回転制御はオン・オフだけです。モーターの慣性で反応が遅く線を通り過ぎそうなのでPWMで減速しています。

改造?

一応トレースしていますが、滑らかさに欠けますね。(^^;;カワイイけど。
モーターもオンオフでなく、ちょっと遅くするとかも試すと面白いかもしれません。
ラインで迷路を書いて、脱出するプログラムをしてみるとか、色々お楽しみください。

動画

動いている様子です。


2016年5月26日木曜日

小さいIchigoJam

小さなIchigoJam基板

USBキーボードアダプタと一緒に小さなIchigoJamの基板を作っていました。

初号機

キーボードアダプタと一緒にタブレットキーボードに組み込みました。






次は、以前無線コントロール化したR2-D2に組み込みたいです。そのためのモータードライバのパターンがいれてあります。

回路と基板レイアウト


回路図 モニタもつながります。レギュレータも搭載。

基板 オリジナルと同じ順でピンが出ています。
 



2016年5月24日火曜日

USBキーボードアダプタ V1

プリント基板が届きました。
先週末に届いて居たのですが、安定に動作させるのに少々手間取りました。

USBキーボードアダプタV1


目的

USBキーボードをPS/2信号に直してIchigoJamに接続するアダプタです。
IchigoJam以外でも使えるかもしれませんが、用途あるかな???

内容

FTDI社のVNC2チップにFirmwareを作成してプログラムしてあります。
パッケージは32ピンのQFPです。
このチップは、USBポートを2組持っていますが、1組のみを使っています。
基板にはUSB-Microコネクタのパターンが用意してありますので将来の機能追加も可能です。

回路



基板レイアウトと端子配置

プログラマコネクタの信号の並び順はプログラマのピン順と異なりますので信号名を参照して接続して下さい。

基板材料


水晶振動子           12MHZ  FA-238V 1個                              
C1            セラミックコンデンサ 1uF  1608
C2,C3,C4,C5,C8    セラミックコンデンサ 0.1uF 1608
C6,C7                          セラミックコンデンサ 20pF 1608
IC1                 VNC2-32PIN LQFP32
IC2                                XC6221B332MRなど    SOT23-5
U$3                           USB-Aコネクタ
U$4                  USB-MICRO-B 実装無し
U$5              USB-MICRO-B 実装無し
R1    チップ抵抗器 1Kオーム 1608
LED   SMT-LED 1608

(1608はチップ部品の外形寸法です。 1.6mm x 0.8mm です。)

接続

接続するために若干の追加部品が必要です。R3, R4は無しでも動いています。
+5Vは電源につないでください。左がキーボードアダプタで右側がIchigoJamです。


追加部品:2.2Kオーム抵抗 2個、10Kオーム抵抗2個、220μF10V電解コンデンサ1個、100uF 6.3V電解コンデンサ 1個   その他配線材料など
電解コンデンサの電圧は手持ちがあれば高めでも結構です。

 

現物写真

注意:USB-Aコネクタは1mmほど浮かせて取り付けてください。

完成:2.2KオームはSMT抵抗を裏側につけています。電解コンデンサは手持ちの都合で電圧が高めです。 
 
IchigoJamにつないでいます。キーボードをつなげば使えます。ハブも使えます。


タブレット用のコンパクトキーボードとバッテリーパックをつないでポータブルIchigoJamにまとめてみました。なかなか快適です。左に少し見えているのは、SMTパッケージのLPC1114で作ったIchigoJamです。IchigoJamのファームウエアはキーボードに合わせてUSA版を使っています。

ファームウエア

Firmwareは、改良中ですが現在のものはこちらからどうぞ。


2016年5月15日日曜日

IchigoJam Car/ MOV を作ってみた


NT京都で領布されていたIchigoJam Car/MOVを作ってみました。
MOVについてはこちらからどうぞ。 人気があって今は売り切れになっています。

IchigoJamにつきましては、こちらをご覧ください。

改造点

本家の説明書とすこし変えています。
  1. タイヤは大きい方で、キャスター(前輪)は低くしキャスター取り付けスペーサを18mmに高くしました。キャスターを低く作らないとラインセンサーが組み付けられないためです。
  2. モーターの配線を直付けでなく、コネクタをいれました。ピッチがあってませんが無理やり半田付けしています。
  3. 電池ボックスはお勧め品がなく手近で手に入ったものを基板に穴をあけて取り付けました。

外観写真

側面 右が前になります。 
18mmスペーサでキャスターを固定しました。
 電池ボックスが変わってます。
電線はIchigoTerm接続用です。

プログラムの方法の種類

さて、MOVのIchigoJam「mov-opt15」のプログラムには、次の方法があるようです。
  1. CN2にTVモニタとPS/2キーボードを繋ぐ。この場合接続ケーブルを別途自作する必要があります。多分既製品はないと思います。
  2. シリアル接続で(TXDとRXDを使って)PCにつなぐ。CN5を使いますが、手元になく、未実装です。USBシリアルアダプターが別途必要です。
  3. シリアル接続(TXDとRXD)で端末を繋ぐ。
2の方法というのは、PCを端末として使う方法でもあります。

今回作ってみた方法 IchigoTerm

PCを使わない方法として、Jamカーを買うような人なら既に持っているであろうIchigoJamを端末としてつないで、Jamカーのプログラムができるように考えてみました。

回路

IchigoJamのTxD, RxDとJamカーのTxD,RxDをクロス接続します。配線を延ばしたいため抵抗を追加します。難しく言えば送信端のインピーダンスマッチングと言います。


回路図

製作例

ご注意

抵抗はいれても、静電気とかで壊れる可能性があることは書いておきます。これからの梅雨の時期は大丈夫と思いますが、冬場にパチッとかをやりますと、多分壊れます。今の回路はその保護を行ってはいませんのでご承知の上でお使いください。

プログラム IchigoTerm

繋いで頂くとすぐわかりますが、このままではSyntax Errorの応酬になって使えません。そこでプログラムを用意しました。

http://pastebin.com/FAhzEbws

上のLINKに置いてあるプログラムを使います。端末側でエラー表示を無視するようになっています。

使い方

  1. 上の回路の接続ケーブルを使って端末につかうIchigoJamとJamカーを繋ぎます。まだ両方とも電源は切っておきます。
  2. IchigoJamの電源をいれてIchigoTermをRUNします。「デンゲンヲイレテクダサイ」的なメッセージが出ます。
  3. JamカーのスライドスイッチをPROG側にして電源をいれます。お馴染みのスタートメッセージとOKが出れば準備完了です。
  4. Jamカーのプログラムができる状態になっているので、プログラムしてください。
  5. 動作が確認できたら「SAVE 0」します。
  6. Jamカーの電源を一度切って、スライドスイッチをRUNにします。
  7. 電源をいれれば、プログラム通りに動くハズです。

余談 インピーダンスマッチングって何?

ケーブルに入れた抵抗器でインピーダンスマッチングと書きました。これが無いと何が起こるかを簡単に書いておきます。

配線を長くすると、信号はTxD端子を出て配線を伝わって走っていきます。RxDに到達したとき何が起こるのかというのが今回のお話です。

電線を走っていった信号はRxDにブツカル訳ですがこのときRxDが(電気的に)適度に柔らかいとそのまま入っていきますが、固かったり柔らかすぎると跳ね返ってしまうのです。この電気的柔らかさをインピーダンスと考えて頂ければよろしいかと思います。

同じ電気的柔らかさは電線にもあって抵抗値(単位はオーム)であらわされます。昔のTVのケーブルの50オームとか300オームというのがこれです。電線とTxDやRxD端子のインピーダンス(電気的柔らかさ)を近くして跳ねっ返りが起こらないようにすることをインピーダンスマッチングと言います。

マッチッグしないと何が起こるの?

 信号が跳ね返るとどうなるかというのが次の写真です。信号が跳ね上がっているのがお分かり頂けるでしょうか。この程度であれば、実害はあまりないのですが、信号が0V~VCCの範囲を超えることは信頼性の上から好ましくないですし、高速信号の場合は正常に動かなくなったりします。

インピーダンスマッチング無し(抵抗なし)の場合

抵抗をいれると信号波形が大人しくなっています。 今回は送信端でいれていますので「RxDで跳ね返った信号がTxDに戻ったところで、さらに跳ね返るのを止めている」ことになります。

インピーダンスマッチングあり(470オーム)の場合

以上



 




2016年5月11日水曜日

pomeraをヤフオクで買ってみた

ポメラ入手

ヤフオクでポメラ10をジャンクを落札しました。
キーボードを流用してIchigoJamにつなごうと思ったのです。良品を解体するのはもったい無いですからね。こういうのはジャンクに限ります。

出品者に依りますと、次のようなものでした。

ヤフオク

  1. ポメラ10のジャンク品
  2. ネトネトしてる。
  3. 一部のキーが反応しない。
  4. 前の持ち主がフタを開けていてしかもネジが紛失。
そのお蔭でとっても安く競られることもなくさい初めの値段でそのまま落札できました。
で、先日届いたのですが、まず関心したのがネトネトぶりです。接着剤の中に漬けたのではないかというネトネトぶりです。ゴム系の塗装がしてあるらしいですが、見事にゴム糊と化していました。

ネトネトをどうする?

そこで、取り出したのが  GOO GONE という洗剤です。 古くなったガムテープやステッカーの糊をきれいにしてくれるという優れものです。 これで、ふき取りゴム糊地獄を解消しました。

分解

次に分解ですが、まず誰でも考えるように、裏ブラのネジをすべて抜きます。電池ボックスの中に一個、ゴム足の下に各一個隠れていたのでこれも外しておきます。

次に次の写真の→部のピン2本を抜きます。打ち込んであるだけなので、引っこ抜きます。
するとこんな感じになります。


Uキーの下にフレキシブルケーブルが見えています。これが目的の部分です。
次に、青→のネジを2本抜きましたが、外れません。
恐る恐る、写真の位置にドライバーを差し込んでひねったら正解でパチンと何かが
外れました。写真の位置から始めて左右に浮かしていくと、折りたたみキーが外れてくれました。

修理

既に見えていたフレキの折れ目がまっすぐになるように、プラスチック板を両面テープで張り付けて元に戻しました。

つまり、ケーブルが折れるように曲がることで回路断線していたようです。まっすぐにしたので接触してつながったのですね。可動部分に印刷導体使っているようなので、まあ断線しても不思議はないよねえ。

まとめ

それはともかく、これで直ってしまったので、キーボード流用がやりにくくなってしまいました。
しばらくポメラとして使ってみたいと思います。
この修理でどれくらい使えるか楽しみでもあります。

2016年5月10日火曜日

IchigoJam用USBキーボード PS/2接続

さて、USBキーボードをこどもパソコン, IchigoJamにつなぐためのアダプタが少し進化しました。

USBキーボードをPS/2のホストにつなぐという酔狂なアダプタになっています。逆は市販品もあるのですが、こちらは売ってはいないようですね。

前回からの変更点:

  1. 汎用IOポート2本を使ってPS/2キーボードをエミュレートしました。
  2. USBキーボードからの信号(usage code)をPS/2のコード(Scan code)に変換したうえで出力します。
  3. ホスト(IchigoJam)からのコントロールコードを受け取って(Ack)を返します。受け取ったら(ACK)正常応答を返すだけで何もしません。

以上で一応動くようになりました。プラグアンドプレイ出来ていますし、ハブ経由でも認識しています。
想定ホストがIchigoJam限定なので設定は決め打ちにして手抜き制御にしています。もう少しきちんと対応してもあまり手間はかからない筈なので時間が出来たら直します。(多分)
使っているのは、FTDI社のVNC2というコントローラです。VOSという無償のRTOSを使っていますが、なかなか使いやすいです。12MHzのクロックの割には遅く感じますが、今のところ不足はありません。無駄に速いと電力消費が増えますのでこれで良いでしょう。

今後の予定:

  1. 基板を発注しました。試作用の形態ですが、ブレッドボード無しで使える筈です。うまくできたら、タブレット用バインダー型キーボード(USB)にIchigoJamとLCDモニタ、バッテリを組み合わせてみたい。
  2. Typematic(キーボードの長押しで連続入力するアレ)未対応なので直したい。
  3. ローマ字カナ入力のキーが未処理なので直したい。
  4. 余裕があれば、手抜きを修正して普通のPCでも試してみたい。(使い道ないけど)
手抜き版ではありますが、書き込み用ソフトはここからどうぞ。

IchigoJamについては、こちらをご覧ください。

2016年5月2日月曜日

IchigoJam用USBキーボードアダプタ Firmware update


みなさんGWは如何お過ごしでしょうか。
普段できないことを色々片づけていますが、今日は半日時間をとってFirmwareのUpdateを行いました。回路は同じですので先月の投稿をご覧ください。

変更点:

1.英語版のキー配列に対応。
2.FirmwareのUpdateができるようにした。

簡単な説明


1.Control-Alt-2とキーを押下することで、英語キーボートとJISキーボードの切り替えができます。本来はIchigoJamの機能なのですがRxDに接続しているためキーボードアダプタで対応する必要があります。

2.USBメモリに更新プログラムを書き込んでアダプタに差し込んで、キーボードでControl-Alt-ESCとタイプするとアダプタのFirmwareを更新できるようにしました。将来のUpdate用の機能です。

今後の予定(希望です)


PS/2コネクタへの接続を考えたいと思っています。 現在はRXDを使ってしまいますが他に使いたくなることもありそうなので、キーボードはキーボードコネクタにつなぎたいものです。

出来上がったfirmwareはこちらからどうぞ。




2016年4月16日土曜日

IchigoJam用 USBキーボードアダプタ

 
 

こどもパソコンIchigoJam用のUSBキーボードアダプタを作ってみました。

 
 
IchigoJamのキーボード入力は、PS/2キーボードです。
枯れた製品なので色々なところに使われなくなったものが転がっていたりします。
USB専用で売られていたものが、使ってみるとPS/2でも動く場合もあります。
(基本的には無理ですが、運が良ければ)
 

しかし、主流はUSBですね。

入手がだんだん困難になるかもしれません。
さらにコンパクトとかスリムとか今時のキーボードでPS/2はなかなか売っていません。
 
そこで、USBキーボードをIchigoJamにつなぐアダプタを作ることにしたのでした。
つまりUSBキーボードからキーストロークを受け取り、シリアルデータに直してIchigoJamのRxD(シリアル入力)に流し込みます。
次のブロック図の緑の部分です。
 
アダプタ接続時のブロック図
 
 
 
USBキーボードアダプタの回路図
 RTSとCTSを繋ぎます。アダプタのTxDをIchigoJamのRxDにつなぎます。
 
 
書き込むFirmwareはこちらからDLできます。
 
 
実験中の様子
 

今後の方向

 
Amazon他を検索しますとタブレット用の持ち運びに便利そうなキーボードが廉価で販売されています。 英語キーボード用のFirmwareをつくるとこれも使えるようになります。

IchigoJamのRxDをふさいでしまいます。 出来ればPS/2につなげるようにしたほうが良いかも。
 
VNC2の機能がまだかなり余っているので、もう少し何かさせることを考えてから基板化したいと思います。
 
Bluetoothキーボードもつなげられると面白いかも。
 
 

注意など:

シリアル出力は文字コード出力でIchigoJam用に調整されています。
Firmwareは:JISキーボード用です。 Shift-2が ” のタイプです。
英語キーボード用(Shift-2が@のタイプ)はこれから作ります。
 VNC2の書き込みには”VNC2 DEBUG MODULE ”が別途必要です。 

2016年4月10日日曜日

USBで何か作ってみる


PCの周辺機器はUSBで接続できるものが普通になっていますね。


マイコンの電子工作を楽しむ者としては興味深々でしたが、難しそうで敬遠していました。
以前は、シリアルインターフェイスが使えると大抵なんとかなったのですが、そろそろUSBを手懐けておきたいと思って、実験を始めました。

目標: USBホストを作って市販のUSB機器をマイコンで動かしたい。


安くて入手性がよく関連情報の豊富なUSB-HOSTコントローラを探しました。

選んだチップ

  1. PIC24F64GB002: CQ出版社のInterface誌2014年12月号で特集されています。Akitukiさんで売っていて入手性も問題ない。
  2. FTDIのVNC2: USBコントローラを2ポート搭載し サンプルコードが公開されています。

 FTDIのVNC2のお試しがこちらです。

入手は、送料も含めて一番安そうなRSコンポーネントさんからにしました。Webサイトに個人で行くと敷居が高そうに見えますが、ちゃんと買えました。
主な材料:
  • VNC2デバッグモジュール RS品番7080101
  • VNC-32L1B コントローラチップ RS品番7203861
  • 32ピンQFPのDIP化基板、USB-Aコネクタ、12MHz水晶振動子
  • そのほか手持ち部品: USB-シリアルアダプタ(3.3V)配線材料、セラコン他

 

Soft関係はFTDI社のサイトから落としてきます。

開発環境はここで、VNC2Toolchainを使います。
http://www.ftdichip.com/Firmware/VNC2tools.htm#VNC2Toolchain

サンプルプロジェクトはこちらから。
http://www.ftdichip.com/Firmware/Precompiled.htmulum-II Programmable USB 2.0 Host

IDEのスナップショット 
サンプルプロジェクトをコンパイルしコントローラに書き込むことができます。

端子配列

32ピンQFPをDIP化基板に載せたときのピン配置はこうなります。
No.9, 10, 11の3本がデバッグモジュールへの接続端子です。ということで回路図は省略。
UARTポート番号等のピン割り付けは変更可能で、サンプルのソースコードを探すと書いてあります。
 
DIP化したコントローラのピン配置
3.3Vには適宜セラコンを接続。
 
 
ここで、驚きの事実が発覚。デバッグモジュールのコネクタが、2mmピッチの6
ピンになっています。ブレッドボードが2.54mmピッチなので挿せません。
そこで、2.54mmの5ピンヘッダを無理やり半田付けしました。 まあいいか。

デバッグモジュール
ピンピッチ変換してます。
 
材料がそろったブレッドボードで組み立てますが、IchigoJamに組み込んだUSBシリアルアダプタを流用しています。 目標のひとつは、USBメモリやキーボードをIchigoJamに繋ぐことですが、まだつながっていません。


”UART to USB Memory Sample Application ROM”

シリアルポートから受け取ったデータをTEXT.TXTというファイル名でUSBメモリに書き込むサンプル。 

USBメモリ接続
あっけなく成功。ただ、RTCが無いのでタイムスタンプが古いです。FATも含まれています。


UART to USB HID Class Host Sample Application ROM

HIDデバイス(キーボードなど)からデータを受け取ってシリアルポートに送るHOSTのサンプル。

キーボード接続
これでキーボードが簡単にIchigoJamにつながるかと思ったら、シリアルで出てくるデータがUSBのコードそのままでした。
ASCIIに変換しないとつかえません。 できれば、P/S2に変換したいと思います。

------------------------------------------------------------------------------------------------------

注: IchigoJamについてはこちらをご覧ください。