今回は、基板とそのケースを作ってみたいと思います。 ケースを作るにあたり、部品実装後の基板の外形を知る必要があります。 部品を一個一個見て考えるのもできなくはないですが、 3Dモデルを使って、できるだけわかりやすくデザインしたいなあと思います。 3Dモデルを作るにあたり、blenderを使いたいと思います。 過去にblenderでのモデルの作り方を調べましたが、 これは2回コンバートしないといけないので、ちょっと面倒臭いです。 blenderで直接出力できないか調べてみたら、 https://github.com/anpaza/kicad-libs/tree/master/io_scene_kicad 上記のaddonを見つけました。 これを使ってみたいと思います。 ◆アドオンの追加方法 ①__init__.pyとexport_kicad.pyをダウンロード。 ②blender保存場所(例:C:\Program Files\Blender Foundation\Blender\2.78\scripts\addons)に ③\io_scene_kicadのフォルダを作成。 ④ダウンロードしたデータをそのフォルダに保存。 ⑤blenderを開き、Ctrl+Alt+Uを押し、アドオンを選択。 ⑥Import-Export:kicad~をチェック。 (この時したの図みたいにエラーが出ましたが、ファイルの最下行の文字列のインテンドを合わせたらできました。) ⑦これでblenderのファイル→エクスポートにwrl形式にエクスポートできるようになりました。 図:アドオン 図:アドオン選択時エラー 図:export実行時エラー ◆出力結果 以下のように、直方体でデータを作成し、KICADに反映させてみました。 気づいたこととしては、wrlにエクスポートする際にblenderの位置データは関係なくなるようで、 フットプリントデータとの位置合わせが必要になるものと思います。 また、このアドオンでwrlを出力する場合、色は単色になってしまいました。 なので、見た目を本物っぽくする場合は、Wings 3Dを使う必要があるかと思います。 図:作ったデータ 図:kicadの3Dビューに反映させた結果 (ピンクが3Dデータで、白線がフットプリントのシルクデータ) ◆KICADから3Dデータの出力 以下のように出力時の設定を行うと、blenderで読み込むときの縮尺が(たぶん)一致する。 図:KICADのエクスポート設定 PR |
![]() |
昨日に引き続き、USBキーボードの信号について
課題①については、 KT software様(http://kts.sakaiweb.com/index.html)の Keymillというソフトで、既製品のUSBキーボードの動作を確認して、 それと同じような動きになるようにプログラムを修正したところ、 想定する動作をさせることができるようになってので、解決できたと思います。 課題②については、 AN58726にキーコードを入力する配列の内容について記載してありました。 Keyboard_Data[2]~[7]に同時にキーコードを格納することで、ボタンを同時入力できたました。 正しく仕様を確認していないですが、USBキーボードの仕様だと、6ボタン同時入力が最大だと思います。 図:Keyboard_Dataの構造 と、いうわけで昨日課題とした内容は、 なんとなくで、解決することができました。 ほかのマイコンもそうなのかもしれないですが、 PSoCはサンプル・アプリノートが充実してて、 なんとなくで動かせてしまうのが、便利ですね。 逆に細かい仕様を把握せず動かしているので、 機能変更が難しかったり、予期せぬバグがでてきそうですが。 (このソフトも愚直に記述しています) また、補助キー(capsとかctrlとか)の処理ができるようになれば、USBキーボードを作成できそうです。 あと、キーコンフィグとかできるとより良いですね。 とりあえず今回の目的は、手元のゲームで遊べるコントローラを作ることだったため、 そこまでは到達できたかなと思います。 |
![]() |
せっかくゲームコントローラができたので、早速遊んでみようとしたところ、
十字キーとして正しく動作しない。 joystickとしては正しく反応しているように見えたが、 受け側との信号が正しく対応していないのではないだろうか。 ・ハットスイッチ問題 http://pc98.skr.jp/post/2014/0311.htm 十字キーとして使うか、アナログスティックで使うか、切り替えられるようにしないと、 使えないみたいです。 十字キーとしてしか基本的にしようしないので、構成を直そうと思います。 HIDのキーボードの設定は、 AN58726のサンプルで設定の仕方を確認中。 サンプルのCompositeは自分の環境ではデバッグができませんでした。 図:Compositeをデバッグ時のエラー また、USBキーボードのキーコードはサンプルと下記URLの内容を参照しています。 http://www2d.biglobe.ne.jp/~msyk/keyboard/layout/usbkeycode.html |
![]() |