2018年6月2日土曜日

IchigoBoy作りました

 GameBoyは有名なポケットゲーム機です。

これのオマージュとでもいうのでしょうか、Arduinoを使ったこんなのもあります。
自分でもゲームがプログラムできるというのも興味を惹かれます。
https://www.switch-science.com/catalog/2880/

そこで、自分でも作ってみました。

外観



コンセプト

電池で動く携帯ゲーム機を作る
IchigoJam V1.2で装備されたMobileモード(128x64 LCD表示)を使う。
IchigoJamとしても動く。<<テレビとキーボードとROMカセットが使える。

特徴


  • 単四電池3本動作
  • IchigoJam BASIC搭載で 小学生でも自分でプログラムできる。
    • IchigoJamT基板は別途ご用意ください。
  • DIP部品を使っているので、自分で半田付けして組立できる。
  • 128x64ドット モノクロ液晶搭載
  • 3V動作キーボードなら電池で使えます。電池が新しければ5Vキーボードでも消費電流が少なければうごきます。試してみてください。
  • IchigoJamに通常の5Vをつないでも使えます。キーボード(5V品)を使う時や電池がないときはこれで。
  • TXD、RXDなど通信用信号もソケットに出してあります。

回路



回路を工夫してありタクトスイッチを押すと、IN(番号)=1になります。

  • これでプログラムの移植が簡単になります。
  • OUTで何かを動かすとき面白い動作ができますが、これは後日書きます。

ソフトウエア

STARTキーを押しながら電源ONで起動するメニュープログラムを用意しています。メニューでプログラムを選んでプログラムスタートできます。


1 'Mobile Menu
5 IF IN(9)=0:GOTO5
10 L=0:I=1
20 SWITCH1:CLS:UART1
30 OUT1,-1:OUT2,-1:OUT3,-1:OUT4,-1
40 OUT5,-1:OUT6,-1
50 CLS:?"***************"
100 FILESL,L+3
110 ?"***************"
120 ? CHR$(226);" ";CHR$(227);" & START";
130 LC0,I:?CHR$(225);
200 IF IN(5)=1: GOTO 300
210 IF IN(8)=1: GOTO 400
220 IF IN(9)=0: GOTO 500
230 GOTO200
300 IF I>1:I=I-1:GOTO 600
310 IF L>4:L=L-4
320 IF L<100: L=0
330 GOTO 600
400 IF I<4:i=I+1:GOTO 600
410 IF L=0:L=100:GOTO 600
420 IF L<227:L=L+4:GOTO 600
430 GOTO 600
500 LRUN L+I-1
600 IF IN(5)=1:GOTO 600
610 IF IN(8)=1:GOTO 610
620 IF IN(9)=0:GOTO 620
630 GOTO 50

既にあるIchigoJamモバイル用のプログラムは、キーボードを読むためのIN()コマンドを書き換えるとIchigoBoyで動く筈です。プログラムを入力したらSAVE 0しておいてくださいね。

LINK

記事にしていただきました。くっくわしい。 ありがとうございます。m(_ _)m
http://fukuno.jig.jp/2138

作ってみた個人的感想など

PCN三重さんで少量販売頂きました。
色々コメントも頂いていますので、今後の参考にします。ありがとうございました。
7月の大阪南港メイカーズバザール2018で展示即売予定です。

反応もよく、ゲーム機で終わらせるのはもったいない感じです。ROMソケットに出ているIN3などを使って制御端末や実験冶具製作にも使っています。BASICで簡単なプログラムで色々便利に使ってます。
こんなモノにも使ってみたい。

  • 自作CNCのコントローラ
  • 自作リフロー半田機の温度制御
  • ロボカー・Ichigoチョコのテスト器


2017年12月17日日曜日

GPD Pocket を改造しました

>> English Page

ご存じ、GPD Pocketですが、良くまとまっています。これにμSDカードスロットと生体認証の指紋リーダを追加しましたので、まとめておきます。

GPD PocketにμSDカードリーダと生体認証を追加改造

よくできた超小型PCなのですが、使ってみると3点ほど不満が。

SDカードリーダが欲しい

クラウドサーバでもいいのですが、使い慣れたSDがあると便利です

生体認証でロック解除がしたい。

パスワードや暗証番号は手間だし、見られる心配も気になります。

SIMで公衆回線でネットにつなげられるといいなあ。

これは、金属筐体なので難しそうで今後の課題にします。バッテリー寿命も気になるしね。当面はテザリングで我慢しましょう。

LINK 参考にさせて頂いたLINK

英語サイトですがRedditさんで早い時期から情報があります。
こちらは雑技工房さんで日本語サイトの改造記事です。
色々考えたのですが、結局雑技工房さんの記事と同じような内容になってます。

基本方針

キーボードユニットへのフレキ配線を横取りしてUSB2.0のハブにつなぎます。
電源もここからとります。バスパワーですね。
ハブのポートの一つをキーボードユニットにつなぎます。
マイクとスピーカの配線もここにあるので、それはそのままキーボードユニットにつなぎます。
以上で、USB2.が3ポートと5V電源が取れました。
そこに生体認証デバイスとuSDカードリーダをつなぎます。
ここで注意があります。uSDカードリーダの電源にuSDソケットのカード検出スイッチを入れておきます。こうしないと、Windowsのカードを抜く操作の後、SDを差し替えたとき認識してくれません。ソケットからSDを抜いたとき電源をきれば、再挿入で再認識してくれるわけです。

パーツなど

USBハブ:AitendoさんのUSBハブコントローラ基板 [M4-FE1.1S]
    4ポートのUSBハブです。3ポートを使っています。
水晶:ハブコントローラチップ用の12MHxの水晶を別途購入必要です。
生体認証デバイス。:AMAZONで購入。後で写真を挙げますので探してみてください。
SDカードリーダ:アキバで買ったUSBタイプのカードリーダを分解して基板を使いました。
FFCコネクタ:HIROSE[FH19C-10S-0.5SH]。基板高0.9mmです。高いと入りません。
延長基板:SANHAYATO[ICB-067]0.5mmのピッチ変換基板で厚さ0.1mmです。切って使います。
FFC: メーカー等不明の0.5mmフレキケーブル。引き出しの奥で眠ってました。
SDカードソケット;HIROSE製[DM3AT-SF-PEJM5] Akitukiさんで購入。飛び出し量が多く良いです。これをSDカードリーダに後点けで載せています。
他に配線材料や両面テープ、カプトンテープを使いました。

他に、半田付け必要です。筐体加工にはCNCまたはフライス盤があるといいです。ボール盤でもできるかも。

ギャラリー

完成するとこうなります。

uSDカードがここまで出るので抜き差しが簡単にできます。


筐体を削ります。これが一番の難関です。自作のCNCで加工しました。


中から見るとこうなります。久々の加工でちょっと失敗っぽい。



回路は試作と動作確認から始めます。USBハブの試験回路です。
これはハブ基板にケーブルを着けた試験回路です。

各パーツが確認できたので、並べてみます。収まりよし!
左から、生体認証デバイスーuSDカードリーダーUSBハブ基板です。

SDカードの収まり確認です。かなり出るので抜きやすそう。

HUB基板はこの方向の実装がよさそうです。

延長用基板を載せて長さを決めます。
基板はサンハヤトの0.1mm厚のリジッド基板をハサミで切ってつくりました。

FPCコネクタを半田付けしました。


USBハブにアクセスランプを点けるための配線引き出しですが、結局使っていません。

配線開始。

延長基板をつけて。

収めてみます。



生体認証デバイスです。以下分解手順です。2か所の爪をドリルアウトします。

すると金属枠が抜けます。


樹脂はゴリゴリとニッパー等で切ります。中身を傷めないように注意して。

分解完了。センサーのフレキをちぎらないように。

GPD Pocketのフレキですが抜き差し寿命があります。
抜き差しを繰り返すとこんな感じでフレキのパターンの接触部がへこみます。
こうなると接触不良を起こします。
そんな時は、先端を少しだけ切り取ると新しい部分が接触するので修理できます。

 さいごに

基本的には雑技工房さんと同じ改造です。
FFCが手持ちを使ったのですが、同じものは見つかりませんでした。残念ながら入手先不明です。
改造は自己責任でお願いします。

GPD Pocket [ Adding uSD & Biometric device]

GPD pocket is a good mobile PC, and I like very much to use. But I wanted to add uSD card reader and Biometric device.

Adding Micro SD Card Reader & Biometric Device

Soon I stareted to use my GPD Pocket, I thought it's a good idea to add some feature on it.

Micro SD Card Reader

Biometric Device (Finger Print Reader) for Quick & Secure Log-in

SIM card might be convenient, but leave this on wish list.

LINK

Reddit
雑技工房さんで日本語サイトの改造記事: Page is written in Japanese. My project became almost same as this page.

Basic Idea

Since Keyboard unit of Pocket uses USB 2. interface, 4 port USB hub can be inserted.
Now 3 ports and 5V power are avilable to add some devices.
I added a Finger print reader and a uSD card reader. I boughr compact USB devices and pick PCBs inside of them. Photos of the Finger print reader are posted later on this page.
It is one caution for a uSD card reader. I insert Card Detect Switch to Power line of SD reader. Without this after remove a SD card, windows cannot recognize new inserted card.

Parts

USB hub: Sold at Aitendo[M4-FE1.1S] PC Board type small size USB hub.
X'Tal: HUB controller reqire 12MHx X'Tal but not included.
Biometric Device: See photos later, I bought this at Amazon.
uSD Card Reader: USB Type compact card reader.
FFC Connector:HIROSE[FH19C-10S-0.5SH]. 0.9mm high. This low hight is requird.
Extention PCB:SANHAYATO[ICB-067] 0.5mm to 2.54mm pitch convert PCB. This is ridgit 0.1mmm thick PCB.
FFC or FPC: 0.5mm 10 way FFC. I found this in my parts box. No other information is avilable.
uSD Card Soket:HIROSE[DM3AT-SF-PEJM5] Push on, push off type.
Other: Double stickey tape, Capton tape, wire etc.

You need milling machine such as CNC. Drill press could be used, (but I'm not sure.)

Photos

Final look

uSD card out this position. It's easy to remove it.


Most dangerous step. Mill holes.

Hole from inside. It's not a perfect.



Circuit sould be tested before millimg GPD Pocket.
This is test fixture of USB hub.

Try to locate all component in GPB Pocket.
As you can see, it's enough space.
From Left- Biometric Device, SD Reader, USB hub.

SD card OFF POSITON.

It's better to flip USB hub.

Locate extention PCB.
I cut PCB with Scissors.

Locate FFC and FFC Soket


Wire out for indicater LED, but not used.

Start wiring.

Adding extention PCB.

All fit inside.



Biometric device. Finger print reader.
At first, drill out stopper.

Metal frame can be removed.


Cut plastic carefully.

Done this part.

Flex cable of GPD Pocket has very short remove life.
After 10 times on/off cycle, FFC is dimpled at contact position like this photo.
In this situation, the keyboard stop working.
In order to repair, you cut top of PCB which moves the contact point.

 At The End

Basics of this project is same as the Japanese Link.
I cannot give information about FFC. Please fined one yourself.

Please remodel it at your own risk.





ラズパイの電源をつくって見た話

まえおき

通称ラズパイのRaspberry Pi 3 Model Bは大電流が必要とされています。2.5A とか3Aのアダプタが必要と言われていますが、入手難で大きい。

実際そんなに要るのか半信半疑でしたが、スイッチサイエンスさんが詳しい実験データを公開されていて実態が見えました。データはここからどうぞ。


必要な電源容量

Raspberry Pi 3 Model Bは本体だけなら安定な5V1Aあれば動く。

なぜ2.5A電源が必要とされるのか?

それは、使う電源がUSB充電用アダプタのため、消費電流が増えると電圧が下がってくるからです。充電器は電圧の下がり具合を見て電源の電流供給能力を判断するのですね。つまり公称2.5A電源でも1Aを超えてくると電圧が下がってしまいラズパイの必要な電圧が出ないのです。下がった電圧でも充電には十分なので充電用電源としてはOKなんですね。
というのが上に書いたスイッチサイエンスさんの実験結果を読んで考えたことです。

電源を作ってみた


12→5V レギュレータ。
左が12V入力で上と右が5V出力です


それならば、電流が増えても電圧が下がらない電源ならラズパイは動くか?ということですが、作ってみたところ動きました。
使ったのは、秋月さんで買った12V1Aのアダプタと12V→5Vのステップダウンレギュレータです。
計算上の電流容量は2.4A/5Vになりますが、これでラズパイ+7”モニタ、+キーボードをつないで動作させることができました。すべてつないでも電圧は下がっていません。

注意:この電源は、電流が増えても電圧が下がりませんので充電用には使わないほうが良いと思われます。電圧が下がらないので充電器が電流容量を検知できない可能性があるためです。






2017年8月23日水曜日

Ichigoチョコ=Jamカーを作った話

Jamカーを作りました。 名前をチョコにしました。

突然ですが、Jamカーを作っていました。ひと段落しましたのでまとめておきます。

色々工夫があります。 

電源は、百均の単三電池二本を使うUSBチャージャ電池ボックスを採用しました。
改造して素の電池電圧と昇圧した5Vを取り出して使います。
5VはキーボードとIchigoJamの電源に使います。電池直接の分は走行モーターに使います。走行時に電池の電圧が変動しても一旦5Vにすることで、IchigoJamの安定動作が期待できます。さらに、キーボードが安心して使えて便利です。

モーターはトランジスタでON-OFFするだけにしました。
従って前進、右折、左折できますが後退はできません。凝った動きはできませんが回転半径がそこそこ小さいので十分遊べます。消費するポートも2本だけなので、将来の拡張の余地が大きいです。

ボディーは、3Dプリンタで作った土台にギアモーターと電池ボックスを固定して作っています。 電池ボックスには3Dプリンタで作ったキャスターを取り付けています。
↑その後前輪をタイヤとキャスターに改造しました。(2017年8月23日追記)
後で出てくるCoichigoチョコのパーツ一式
中央の黒いパーツが3Dプリントしたシャーシです。
下にあるのは改造したUSBチャージャ電池ボックスです。

IchigoJamのT基板を組み込んで使う設計で作ったのがこれです。
モーターのコネクタを逆に刺すと後退できるようになりますが、前進できなくなります。

ichigoチョコ 初号機
IchigoJamのT基板にモータードライバボードを載せています。
大きなスイッチは電源用です。ON-OFF-ONを使ってPROG-OFF-RUNにしてます。
中央はフリーエリアで改造に使えます。
さて、チョコに組み込んでもIchigoJamでプログラムはできるのですが、Jamがなくなってしまうと言う向きや、Jamもってないけどチョコが欲しいなどという方々の為に、フリーエリアにIchigoJam搭載モデルも作りました。これだけでもIchigoJamとして動作します。小型の自家製IchigoJamをCoichigoと呼んでいますので、Coichigoチョコになります。

Coichigoチョコ 初号機
フリーエリアにCPUを載せてJam化しています。
キーボードとモニタ接続可能。
リセットボタンが追加されて再走行が簡単になりました。

設計方針

最後になりますが、(順番が変ですね、)設計方針です。

プラットフォームに使えるようにしておき、周辺回路は電子工作としてあとから追加する。チョコの基本セットでできるのは、Jam Basicであらかじめ決まったコースを走るプログラム走行のみです。

改造

従ってチョコは改造することを前提です。


センサーを追加して、衝突回避できます。

早速、少年たちが測距センサーを組み込んで衝突回避に挑戦してくれました。
測距センサーという距離を測るセンサーを使っています。





赤外線センサーを下にむければ、ライントレーサにもなります。


他にも何ができるか考えてみてください。IchigoJam用やArduino用のセンサーが色々販売されていますので、探して挑戦してみてください。




2017年6月29日木曜日

Jamカー「チョコ」でライントレースする話

前置き

既に紹介しました、このライントレースの改造方法を紹介します。



使うもの

改造するチョコ
ソケット(後で説明します。)
信号名のシール
反射センサー(後で説明します。)
ジャンパー線(15cm程度のオスーメスタイプを3本)
両面テープ(1x1.5cm程度の厚手のもの)

半田付け道具一式
細いドライバー(センサーの感度調整用)

反射センサー

Auduino用としてよく見かけるこのセンサーを使いました。
似たものなら使えると思います。
赤外線反射センサー
Arduino用の障害物センサーとして販売されていました。


センサーの仕組みです。

センサーの中身
赤外線LEDと赤外線トランジスタが載っています。

赤外線LEDから目には見えませんが赤外線(光)がでます。近くに物があると反射した赤外線が赤外線トランジスタを照らします。 赤外線トランジスタはこれを感知して照らされた強さをICに送ります。ICは感度設定VRの位置と比較して赤外線が強いか弱いかで検知LEDを点けたり消したりします。IchigoJamはこれをOUT端子から知ることができます。 物体があっても赤外線を反射しない黒い物体(正確には赤外線で見て黒い物体)は検知できません。ライントレーサはこれを利用して、路面が白いか黒いかを判断します。



赤外線トランジスタは、肉眼では黒く見えますが赤外線は通します。つまり赤外線でみれば透明なのです。反射するかどうかも、肉眼で見たときと赤外線で見たときでは異なっている場合があります。ライントレースがうまくできないときは、赤外線で見たときに白黒になっていない可能性もあります。

チョコの改造

チョコにソケットを半田付け

配線しやすくしておきましょう。
基板をチョコから外してください。これにソケットを半田付けします。
追加するソケットの例
色は色々。
14ピンが二個、5ピンが二個を使います。
40ピン一列の折れるソケットを分割しています。
ソケットを半田付けする場所
赤く囲ったところにつけます。信号線の配線は出来ています。
斜めにならないように慎重につけてください。

半田付けしてシールで信号名を貼りました。
シールがあると後の配線が楽になります。

センサー取り付け

ここで、チョコをもう一度組み立ててください。
次に両面テープでセンサーを貼りつけます。

センサーを電池ボックスのふたに貼ります。
ふただけに貼らないと電池交換が面倒です。
センサー貼り付け位置。
置いた状態です。ビデオコネクタを避けます。
センサーは地面から少し浮かせます。

配線します。

オスーメスタイプのジャンパー線を使います。長さは15cm程度で良いです。ジャンパーの色は3色にすると間違いが減り確認が楽になります。お勧めは次のような使い方です。世界で通用する配色ですのでこの機会に覚えておくとよいと思います。

   赤色などの暖色系→プラス電源線
   黒や濃い寒色系 →GND
   白や灰色他   →信号線

今回は次のようにするとよいでしょう。

   赤色などの暖色系  センサーのVCC から チョコのVCC(3.3V)
   黒や濃い寒色系   センサーのGND から チョコのGND
   白や灰色他     センサーのOUT から チョコのIN1

次はセンサーの感度調整

電源スイッチをPROG側に倒して電源をいれます。センサーの電源LEDが点灯します。
点かない時は電源を切って間違い探しをしてください。

細いドライバーで「感度設定VR」の中心の白いところを回して感度を調整します。
チョコを白い紙の上に置いて、感度設定VRを一方に回すと「検知LED」が点灯し他方に回すと消える筈です。無理に回さないでください。LEDが点くところに合わせます。
次にチョコを持ち上げるか黒い紙の上に置くと消えるでしょうか?消えない時は、消える方向に消えるまでゆっくり回します。
消えたら紙の上に戻して検知LEDが点くことを確認してください。
点かないときは、点く方向に回します。

プログラム

調整が終わったら、電源を一度切ってキーボードとモニタをつないでください。
電源をPROGにいれて次のプログラムを入力して下さい。

10 ‘ライントレーサ

20 IF IN(1) OUT2:GOTO20:ELSE:OUT4:GOTO20

実質1行です。
入力したら忘れずにSAVE 0しておきます。

では、電源を切ってケーブルを外したら、電源スイッチをRUN側にしてコースに置いてみてください。 うまく、トレースできたでしょうか?