No Such Blog or Diary
GoPro をドライブレコーダにするために回路を組む
- 2013-10-25 (Fri)
- 一般
GoPro はコンパクトで高性能なのでドライブレコーダーとして使うのに適していると思うのだけど,残念ながら電源をキーに連動させる機能がなく手動で電源入れないとならない.ぶっちゃけ毎度電源入れるの面倒だし,そもそも電源入れ忘れたらドライブレコーダとしての意味が無い.
ということで,USBからの給電とGoProの電源を連動させる回路を組んだ.これでシガーソケットからUSB給電してあげれば,キーとGoProが連動する.
ということで出来上がったもの.手元にあった AVR の ATtiny85 とドックコネクタとトランジスタとダイオードと抵抗で適当にでっち上げた.800円くらい?
何も考えずに作った回路は下図の通り.
ドックコネクタの1ピンがGNDで,5ピンがUSB電源直結で,24ピンがカメラの電源と連動したバッテリーからの外部向け電源で,12ピンが電源ボタンとのこと(GoProフォーラムの記事より).この 12ピンを GND に落とすと電源ボタンを押したことになる.なので,5ピンに電圧が来てて24ピンに電圧がなければ,USB給電が開始されてるけどGoProが寝ている状態なので,12ピンを数秒間GNDに落としてGoProの電源を入れてあげる.逆に 24ピンに電源来てるけど 5ピンに電源来てないなら,USBの給電が切れた状態なので,12ピンを数秒間GNDに落としてGoPro の電源を落としてあげる.基本的にはこれだけをやるプログラムを書いて AVR に焼けば完成.それぞれの電源は PB1 と PB2 でデジタルに見張っておいて,電源ボタン押下の操作は PB3 で.PB4 は状態観察用の LED 出力(機能的には必須でない).AVR の電源自体も USB ないしバッテリーから取ればいい.
実際の使い道を考えると USB 給電が切れたあと(つまりエンジンを切って車を離れたあと)も暫く録画しておいて欲しいので,電源を落とす時にはある程度の遅延(15分とか)を入れるようにしてみりした.この時間をある程度可変にしようかとも思ったけれど,面倒なので保留.可変抵抗の値を ADC で読んで調整なりボタン押下でプリセットを切り替えるなりできそうだけど.
さて,とりあえず動くものができたので暫くこれを使ってみるとして,微妙に邪魔なサイズになっているので次のバージョンでは米粒AVRを試してみようかね.頑張れば結構小さくできるはず.
- Comments: 0
- TrackBack (Close): -
Win7 再インストールで罠を抜けた
- 2013-10-24 (Thu)
- 一般
ということで,マザーボードのドライバ周りのうち インテル® ラピッド・ストレージ・テクノロジーのが悪さをしていたらしいことが判明.これ以外は大丈夫だった.
何がどう作用して Windows update がコケるんだかわけわからん.とりあえずこれは暫く入れずに放置しておこう.
- Comments: 0
- TrackBack (Close): -
Win7 再インストールで罠にハマっている
- 2013-10-23 (Wed)
- 一般
家のメインPCがおかしいので Win7 の再インストールを試みたところ,Windows update ができなくなった.なぜ……
なにか手順がおかしかったかなともう一回試してもダメ.
マザーボードのドライバ関係を入れないとLANが使えないのだけど,それを入れると Windows update が死ぬらしい.うーん……
- Comments: 0
- TrackBack (Close): -
sched_setaffinity とか taskset とか
- 2013-10-22 (Tue)
- 一般
Linux で taskset でシェルに割り当てるCPUセットを指定しておくと,そのシェルで立ち上げたプログラムにもその affinity が引き継がれるのだけど…… そのプログラムで sched_setaffinity を呼び出すとシェルの affinity なんぞ関係なくなるというのに困った.同じシステムコールだし当たり前といえば当たり前なのだけど.
使える CPU の集合を厳格に規定できると嬉しいのだけど,Linux だとやりようがわからない.VM 立ち上げて VM の affinity を設定するってのが解決か?
- Comments: 0
- TrackBack (Close): -
今日の謎
- 2013-10-21 (Mon)
- 一般
M/M/1 の待ち行列のモデルで,サービスが終わってシステムから出てくる人々ってポアソン過程なのか? キューが発散しない場合には入ってきた人々は必ず出て行くのだから,定常状態なら入力と同じポアソン過程な気がするのだけど…… よく分からず.
- Comments: 0
- TrackBack (Close): -
mm レジスタが余っているので途中結果置き場に使おうかと思ったけれど
- 2013-10-20 (Sun)
- 一般
xmm レジスタから mm レジスタに値を移動しようと思うと一度メモリを経由する形になるような? 少なくとも _mm_movepi64_pi64 はそのようなコードに展開された.
そして…… ちょっとコードの順を入れ替えたら __m64 で宣言した変数が xmm レジスタ上に確保されるようになってしまった.おかげで xmm レジスタが足りなくなりメモリアクセスが増えて遅くなった.むずい.
閑話休題.
18日発売のヤングガンガンを買いに本屋に行ったら,雑誌コーナーに3冊ほど平積みされているヤングガンガンを発見.微妙に表紙に違和感を覚えながら買って帰ってきたら,みごとに2週間前の前号だった orz.やっちまったい.
うーん,コンビニの店舗ごととか本屋ごとに雑誌の入ってくるタイミングがだいぶずれるのが困る.こっちにはこの雑誌が一日前に入るけれどこっちは1日遅れ,別の雑誌だと云々.オンラインの雑誌定期購読のサービス使ったほうが安全かつ楽な気がしてきたなぁ.
とりあえず峠を越えた本屋にでも行ってくるか.
- Comments: 0
- TrackBack (Close): -