製作モジュール一覧

ラベル ぴゅんぴゅんコントローラー の投稿を表示しています。 すべての投稿を表示
ラベル ぴゅんぴゅんコントローラー の投稿を表示しています。 すべての投稿を表示

2015年8月4日火曜日

PSoC 4 Pionner Kitで秋月のI2C LCDのAQM1602を動かす

ぴゅんぴゅんコントローラー2号のテストも兼ねてPSoC 4 Pioneer Kitで秋月のAQM1602(http://akizukidenshi.com/catalog/g/gK-08896/)を動作させてみた


AQM1602

8桁2行のAQM0802と同じくLCDコントローラーはST7032なのに、こちらは5V電源にも対応している。

なのでArduino Unoでも気軽に試せる。

バックライトなしでサイズもでかいのでシールドに載せるには躊躇してしまうが、実験(入門)用にはいいと思う。

Strawberry LinuxのI2C-LCD(http://strawberry-linux.com/catalog/items?code=27021)とコントローラーは一緒だし、aitendoの「SPLC792」(http://www.aitendo.com/product/6287)のコントローラーもコンパチの様なので同じコードで動作した。

AQM1602のキットはDIP化基板にRESETが引き出されていないので、ArduinoやPSoCを再起動するときにリセットボタンを押すだけでは動作がおかしくなることがあったが、USBを引っこ抜いて挿し直したらちゃんと動いた。

RESET Pinを引き出していない理由は不明。5V対応のためかな?と思ったけど、LCDモジュール本体も5V対応になっているし謎。

AQM1602も基板上のプルアップは有効化していないのでブレッドボード上で10kΩのRでプルアップした。

PSoCでの動かし方

PSoC Creatorのプロジェクトはgithubにあげました。
https://github.com/ryood/Pyun2Controller2_ST7032_Test

I2C LCD(ST7032)用のコードは<ST7032.c>と<ST7032.h>に分割した。

もともとのコードがPSoCのI2Cコンポーネントに依存しているので分離しきれていないですが(^q^;

こだわりだすと時間がかかりそうなので今回は妥協

PSoC 4 Pionner KitのPower Supply設定ジャンパーを3.3Vにして、LCDのV+にも3.3V給電して全体として3.3V系で動作させた。

テスタでの測定値
LCD VDD:3.41V
オシロでI2Cの信号を計測

赤色がSDA、黄色がSCL

オシロのカーソルで調べるとHで3.40V程度だった。

PSoC、LCDともに5V系にしてやってみたが5V系でもちゃんと動作した。

PSoCの「I2C LCD」コンポーネント

このコンポーネントは「NXP PCF2119x」対応のコンポーネントだが、コマンドをざっと見るとST7032と似た感じなので、Exampleの「I2C_LCD_Example_PSoC4」をやってみたが、うまく動かせなかった。

I2C AddressをST7032の0x7cに変更して(main.cで定義されている)オシロでSCL、SDAの見るとACKが返ってきていたのでI2Cの通信はうまく行ってそうだが、LCDには何も表示されない。

カスタマイズすれば動かせそうだが、ベタ書きの方がわかりやすいので今回は諦めた。

PSoC Prototyping Kit

5V駆動で大丈夫ならPSoC Prototyping Kitでも動作できそうなので、Prototyping Kit用に改変してやってみた。
PSoC 4 Prototyping Kitの使い方
http://dad8893.blogspot.jp/2015/01/psoc-4-prototyping-kit.html

が、「Bootloder Host」で書き込もうと思っても
Communication port reported error 'Unable to read data from the target device'
というエラーメッセージが出て書き込めなくなった。

調べるとBootloaderが壊れてしまったようだ。

http://www.cypress.com/forum/psoc-4-architecture/psoc4-unable-read-data-target-device

このスレッドを見るとPrototyping Kitを2枚使いしてBootloderを復活させる方法もあるようなので

http://www.cypress.com/knowledge-base-article/using-cy8ckit-049-program-another-psoc-4-kba93541

Prototyping Kitをあと2,3枚仕入れようかな

600円だし(^q^;

2015年7月28日火曜日

ぴゅんぴゅんコントローラー2号 でけた

Arduinoと接続してテスト

厚紙でモックアップを作ったとき左下の十字キーの位置が若干ずれていたので、本番では約1mmずらして穴あけしたが、逆に穴の中心位置がずれてしまうハメになった。

中心が1mmずれてしまって開ける穴のサイズが巨大化してしまった。

φ8ぐらいまで拡大してなんとかタクトスイッチを押せるようになった。ふぅ・・・

ケース加工図

↑加工図の十字キーの位置は1mm下にずらした方がいいです。

位置決めがシビアなのでモックアップは厚紙ではなくこないだ買った塩ビの透明板で作ればよかったかなと反省。

横から

スペーサーはプラ製の10㎜長のものを4mm程度にカットして使った

タクトスイッチとジョイスティックの高さが1㎜程度合わなくて、基板を少したわませながら固定している。

ちゃんとやるならタクトスイッチ用の基板とジョイスティック用の基板を分けて高さ合わせをした方がよさそうです。

ケースの下半分はまるまる空いているのでやはり制御用のマイコンを入れたくなる。

タクトスイッチのチャタリング防止用のロジック回路も入れてみたりという妄想も広がりますが、気が向いたらやることにします。

資料等はGithubで公開しています。
https://github.com/ryood/Pyun2Controller2

2015年7月25日土曜日

ぴゅんぴゅんコントローラー2号 モックアップ作成

厚紙でケースのモックアップを作った


タクトスイッチを出す穴の位置はかなりシビアだ

ガバガバの穴を開けて余裕持たせておいた方が無難そうだ

横から見たところ


ケースと基板の間の高さもシビア(^q^;

定規で測ると
スペーサーは4mm、ねじの長さは12mm以上でプラ製が良さそう

ジョイスティックの基板の上面のはんだの盛り上がりは削らないとだめっぽい

ケースの底側はまるまる開いているので配線は楽かな?

裏側


ケース内配線図


ケースの外に出すケーブルはAnalog、Digital、PWR系の3系統に分けて、Arduinoのシールドのソケットにさせる用にしたつもりです

明日、ホムセン行ってねじ買ってこよう

2015年7月23日木曜日

ぴゅんぴゅんコントローラー2号 基板のはんだ付け完了

ケースが届いたのでハンダ付けした


↑3.3Vの電源供給でテスターでジョイスティックの中立点の電圧を測定している

このPARALLAXのジョイスティック(http://akizukidenshi.com/catalog/g/gM-06807/)は抵抗値の精度はあまり高くないが操作感はなかなかしっかりしている


ハンダ付けで多少部品の取り付けが斜めってしまったが
スペーサーは5mm~7mmぐらいがよさそうだ

PARALLAXの基板に付いているピンヘッダのはんだの盛り上がりがちょっと悔しい(^q^;
(このピンヘッダはもともとついていた)

タクトスイッチのプッシュするところの上面までが8mmぐらいなので、なかなかシビア

ケースの板厚が2mm程度ある

電子工作というよりは工作の世界だな、これは・・・


はんだを盛り過ぎてるところやハンダ付けしていないところもあるが、それはおいておいて(^q^;

基板固定用のホールが2個だと安定しなさそうなので、基板設計を終えてから急遽右上のあたりにもう一つホールを開けた

ここを金属製のネジやナットで固定すると配線がショートする

なので、ネジやナットはできれプラ製にしたい

売って無ければ被覆線で配線し直すしかないかなあ・・・


ケースにはまあまあ余裕をもって収納できそうだ

これだけ余裕があるなら、制御用のマイコンを仕込めば外部とはシリアル通信にして線数を減らせるなあ

う~ん、いや、まあ今回はやめておこう(^q^;

回路図

基板図


2015年7月18日土曜日

ぴゅんぴゅんコントローラー2号の検討

アナログ・ジョイスティックを追加して、プッシュスイッチも増やしてPOTも3個はキープという方向で考えてみた


基板には収まりそう


L型のピンヘッダを使えば高さ的にも基板の配線も大丈夫そうだが


POT×3個を入れるスペースがなさそう(^q^;

調べたらタカチでPB-2という一回り大きい透明ケースがあるみたいなので仕入れつつ
もう少し考えてみたいと思います

2015年6月9日火曜日

ぴゅんぴゅんコントローラー2号の検討

ジョイスティックのつまみ(?)の部分は引っ張ったら外せた


2センチ角の角穴をあけられればケースの内側から取り付けられそうだ

ケースの素材はポリカーボネートらしいのでまた穴あけの練習するか(^q^;

POT 3個のうち1つぐらいは通信機用のにできるかなと思ったがスペース的にきつそうかな?

実装方法

タクトスイッチの下側の部分とジョイスティックの基板の上面までの高さが大体同じぐらいなので
基板に実装してしまっても大丈夫かもしれない

ユニバーサル基板の上面からタクトスイッチの押す部分の上面までがだいたい8mm

ユニバーサル基板の上面からジョイスティックの基板の上面までがだいたい4mm

なのでケースに取り付けるためのネジは4mm+ユニバーサル基板の厚さ1.5mm+ケースの板厚2mm=7.5mm以上、ケースの内部の高さが15㎜なのでそれ以下

スペーサーは4㎜以上、6㎜以下で5㎜ぐらいがいいのか?

う~ん、スペーサーはなくてもケースに取り付けるねじ止めを慎重にすれば大丈夫かな?


POTの取り付け用に基板をカットするとして、あと2個ぐらいタクトスイッチをつけられそうだ

が、アナログ5本(→これもI2Cを使うとArduinoではアナログ入力のPortAの線数が足りなくなる)

デジタルで6本になるので5+6=11なので手持ちの10線のフラットケーブルでは足りない

アナログ線はGNDと含めてやった方がノイズに強くなりそうなので(よくわかりませんが(@@;

アナログ系列とデジタル系列でラインを分けるような感じでやればいけるかな?

2015年6月6日土曜日

ぴゅんぴゅんコントローラー2号の構想

ずっと前にParallaxのジョイスティック(http://akizukidenshi.com/catalog/g/gM-06807/)を買ったまま触らないでいた

コントローラーは市販のUSBのゲーム用のジョイパッドを流用しようかと思っていたが
プロトコルを調べるのがめんどくさそうなので自作することを考えてみた


2軸なのでPOT2個を置き換えようかなと思っていたが、バネで中央に戻る仕組みなので単純にはいかない

なのでPOT3個はそのままアナログ値の設定用に残して、ジョイスティックは値を揺らす感じで使ったらどうかと思った

MIDIキーボードについているPitch、Modコントローラーみたいな使い方

ケースへの取り付け方法は考えないとだめかな

タクトスイッチもNintenodoっぽく色違いで十字に並べてみた

アナログが5本、デジタルが4本、VCC、GNDで11線

アナログは10kΩのRが5個並列になるので3.3Vで
(3.3V / 10kΩ) * 5 = 1.65mA
5V駆動で
(5V / 10kΩ) * 5 = 2.5mA
パイロットランプのLEDに1mA流すとしても許容範囲かな?

ケース内にマイコン基板を仕込めれば2線、3線のシリアル接続できそうだけど

う~ん(^q^;