‘工作’ カテゴリーのアーカイブ

Arduinoでお絵かきサポート用片手マウス作るよ。

2015年12月28日 工作, 雑記

なんとなく勢いでArduinoとか書いたけど今回はPro MicroというArduino互換ボードを使います。今回使ったのはSparkFun謹製のボードではなく中国製の互換ボードです。
当然みんな知っているんだろうけども、Pro Microは(というかLeonardoは)ファーム無改造でHIDエミュレーションができるので、スーパーお手軽にマウスとかキーボードが作れるのです。やったね。
あと、片手マウスとか書いてるけど、マウスとしての機能は完全におまけで、実態は右手以外を布団から一切出さずに作業するためのリモコンです。テンキーとかでも代用利いたりするかもしれないので、そういう車輪の再発明的な行為に対して否定的な言動をとりがちな方は今すぐに頭にアルミホイル巻いて帰れ。

ディスクレーマー。

これ本当はもっと前に作りたかったんだけども、主にだらしなさを中心とした諸々の事情で冬コミ原稿あとになりました(´・ω・`)ウケルー

ぜんぜん笑えないけども。

で、そんな諸々の事情を乗り越えて、無駄に半日かけて作ってみたら、わりと順調に事が運んだので、今回はちょっと途中経過をここに置いておこうと思っておりますよ。といっても、何も記録とってないのでざっくりの流れだけだけども。

あとはガワだけって状態までやっつけたので、ほぼほぼ着地まで行けるんだろうなという期待も込めて。

そんなわけで、まずは材料。
おおまかに6種類。

2ax12bt_001

左上からユニバーサル基板、ピンヘッダ・ピンソケット、配線材、
Pro Micro、タクトスイッチ、ジョイスティックモジュール。
作業中の写真がないんだけども、とりあえず雑に説明すると、まずはユニバーサル基板を適当なサイズに切って、あとは一心不乱にはんだ付けをします。すると・・・

2ax12bt_009
こうなって

2ax12bt_008
できた!!

ものができたら後はArduino IDEでサンプルスケッチのJoystickMouseControlを開いて軽めにカスタマイズすれば完成。

あくまで自分専用なのでMyPaint用のキーアサイン。

shift いろいろできる
, zoom out
. zoom in
ctrl+z undo
ctrl+y redo
x color history
f pen size +
d pen size –
s opacity +
a opacity –
F12 tool reset

他のソフトではいまいち使い物にならない感じ。

こういうのキットにできたらよい感じだよね。完成したら色々詳細上げます。

おうちでアーケードゲーム。

2015年4月11日 工作

筐体じゃないよ。
さすがにそこまでの勇気はないから。

実はかなり前にリアルアーケードPro.V3 SAを手に入れていて、つい最近部材が揃ったのでコントロールボックス化してみたのです。
2台目です。

1台目はジョイスティックと電源部が別々で準備が手間だったので、これで面倒な準備から開放されちゃう。フヒヒ

これが
cbox_001

こうなって
cbox_002

こうなって
cbox_003

やったー!!
cbox_004

中身はPC用電源とみなさまお馴染みのBGS-8220。
その他細かい端子、スイッチなんかを配置してワンパッケージに収めて完成。

電源の出力不足でぐっすんおよよとか動かないけども。

ねんがんの2.2いんちえきしょうをてにいれたぞ!

2015年1月9日 Linux, ToDo, 工作

2015/01/12 追記 :
画面の向きの設定に関してより良い設定を見つけましたので、
これから試す方は次の記事( http://www.kotokoi.org?p=1564 )を参照してください。

一昨日の記事でもふれたけども、実はraspberry piの入手に先駆けてaliexpressでili9340というコントローラーチップを載せた2.2インチ液晶を手に入れていたのです。
Mobile Raspberry Pi Computer的なものを作ってみたくて。
ちょうどA+もセットアップできたのでとにかく小さいものを作ってみようと思います。
ソフトのインストール、設定変更はSSH経由で。
A+以外なら普通にUSBキーボードとか挿したらいい。

A+のGPIOピン配置はUSBポートを右にGPIOピンを上に見た時、下段が奇数番、上段が偶数番、左下端1番ピン、右上端40番ピンまでの40ピンとなっています。
このサイト( http://aaron-brown.net/blog/?p=99 )のピン配置、コマンドを参考に作業を進めます。ピン配置表の右端の数字がGPIOピン番号。

そんなわけで早速つなぎましょう。

板

こんな感じの板を作ってもいいし線だけでも良いよ。お好きに。ハンダ付けが面倒ならメス-メスのジャンパワイヤがおすすめ。

つないだ。

つないだ。

つないだら上でリンクしてる記事に従ってraspi-blacklist.confを確認。
blacklist spi-bcm2708がコメントアウトされていなければコメントアウト。
カーネルモジュールをインストールして再起動、モジュールを読み込んで/etc/modulesに設定追記。
/boot/cmdline.txtはスペース区切りになってるから適当なところに挟みこむなり末尾に追記するなり、お好きに。

リンク先の記事にはfbcon=font:VGA8x8って書いてあるけどここは表示用に使うフォントが指定できるので見やすいものを選ぶといい。

MINI4x6, VGA8x8, Acorn8x8, PEARL8x8, ProFont6x11, 7×14, VGA8x16, SUN8x16, 10×18, SUN12x22

ざっとこれだけ。自分のはProFont6x11にした。ちっちゃいけど見やすい。
詳細はここ( https://github.com/notro/fbtft/wiki/Boot-console )から見れる。

fbcon=rotate:1の部分は0〜3で縦、時計回り、180度回転、反時計回りの設定ができるようになってる。
自分のはfbcon=rotate:3にした。これはハンダ付けの時に液晶の向きを考える前に配線をさっさと済ませてしまったせい。
格好良い言い方をするなら「考える前に事はすでに終わっていた」ということ。
格好わるい言い方をするなら「考える前に事はすでに終わっていた」ということ。ニュアンス大事。

ここまででとりあえずコンソール画面の表示はできるようになったはず。できない時は配線間違いとか接触不良とか確認するといいよ。単なる初期化失敗もまれにあるから再起動を試すのもあり。

rasp003

点いた。

で、ここからstartxしちゃおうかな?とか思うじゃん?
で、startxって打ってEnter押すじゃん?押してみ?

画面がブラックアウトしたでしょ?
動かないでしょ?でも、これ実は出力先間違ってるだけでGUI起ち上がっちゃってるんだよ。
困るじゃん?

そんなわけだから、もう一箇所だけ設定を変更します。
このファイル → /usr/share/X11/xorg.conf.d/99-fbturbo.conf

$ sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

とかやると

# This is a minimal sample config file, which can be copied to
# /etc/X11/xorg.conf in order to make the Xorg server pick up
# and load xf86-video-fbturbo driver installed in the system.
#
# When troubleshooting, check /var/log/Xorg.0.log for the debugging
# output and error messages.
#
# Run "man fbturbo" to get additional information about the extra
# configuration options for tuning the driver.

Section "Device"
        Identifier      "Allwinner A10/A13 FBDEV"
        Driver          "fbturbo"
        Option          "fbdev" "/dev/fb0"

        Option          "SwapbuffersWait" "true"
EndSection

こんな感じになってるんだけど、”/dev/fb0″のところを”/dev/fb1″に変更。
できたら念の為、一旦再起動して、startx

rasp004

できた。

狭すぎて使い物にならないけど、おおってなるね!デスクトップマシンじゃないからコンソールだけあれば十分だけどね!!

ついでなのでBluetooth関連のソフトも入れてBTキーボードも繋いじゃうよ。

$ sudo apt-get install bluetooth bluez-utils

でインストール。
BTドングルを挿して

$ hcitool scan

見つけたコロン区切りの文字列を使って
※複数出てきたらそのまま繋がずにもう一度scan試したほうが良いかも。

$ sudo bluez-simple-agent hci0 xx:xx:xx:xx:xx:xx

PIN入れろと言われるので、適当な数列を入力してEnter(1111とか1234とかでいい)。
BTキーボード側で同じ数列を入力してEnter。
うまく行くとキーボードの情報が登録される。

あとは

$ sudo bluez-test-device trusted xx:xx:xx:xx:xx:xx yes
$ sudo bluez-test-input connect xx:xx:xx:xx:xx:xx

rasp005

これでキーボードが使えるからSSH経由じゃなく直接操作できるようになる。
あとはモバイルバッテリーなんかと一緒に箱に詰めるだけ。スーパー簡単に出来ました。ふひひ。

A+の消費電力はアイドル時 0.09A (0.45W) 負荷時 0.11A (0.55W) 参考( http://blog.livedoor.jp/victory7com/archives/41343773.html ) らしいので10000mAhのモバイルバッテリーなら液晶込みでも 4〜6 40時間位は余裕で動きそう。

計算を間違えてましたフンべろりぃ☆というかそんなワケ無いだろうと混乱してしまって4〜6とか書いてしまいました。4000〜6000を90〜110で割っても4〜6にはならないですね。
後日検証して追記します。