忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

▲TOP

PS3のコントローラをマイコンで

マイコンでお手軽にPS3コントローラを使えるようにするSBDBT。
http://www.runele.com/ca1/2/
基板にはPICが載ってるだけで、ソフトも公開されていることから、自作してみました。

Elecrowに発注。
届く。基板17枚。(黒い方はまた別の基板です。I2Cのカラーセンサ。)マイコンはPIC24FJ64GB002ってやつ。
ソフトを少しいじって書き込み&動作確認。
こんなことができます。PS3コントローラでルンバを動かしつつ、パソコンでルンバの物理バンパーの接触状態を取得してます。
SBDBT基板一つでPCとPS3コントローラと通信できるので便利。
--- 接続概要 ---
パソコン ─ (Bluetooth) ─ SBDBTもどき基板 ─ ルンバ
PS3コントローラ ─ (Bluetooth) ┘
-------------------

拍手

PR

Comment (0) | ▲TOP

VL6180X試食

ストロベリーリナックスで買えるVL6180X。
https://strawberry-linux.com/catalog/items?code=16180
測距センサですね。
よくあるSharpの奴とは違って、光が跳ね返ってくるまでの時間を計るタイプです。
なので物体の反射率とか形状に影響を受けにくいとかなんとか

I2C面倒だなーと思いながら簡単に実装してみました。
でも何故か110mm程引いたされた値で取得されちゃいます(´・ω・`)
 →アプリケーションノートのオススメ設定を試したらちゃんと計測できました(2016/03/15追記)
ひとまずやり方↓

【使い方(暫定版)】
I2C通信フォーマット
[I2Cアドレス(0x29)][レジスタ上位アドレス][レジスタ下位アドレス][データ][データ][…
送受信ともにこんな感じ。

詳細
1, 計測間隔を設定する
I2Cで0x00, 0x1B, 0x04を送る。
 3バイト目で間隔を設定している。10msなら0x00, 20msなら0x01, …, 50msなら0x04

2, 連続計測モードにする
I2Cで0x00, 0x18, 0x03を送る

3, 計測結果を読む
I2Cで0x00, 0x62を送って1バイト受信

これでmm単位の値が取れます。

あと気になるのはI2Cアドレス書き換えられるかだけど、0x0212に7bitの新アドレスを書けば良いみたい。でも電源切ったら忘れちゃうみたい?意味ない!!!!???
GPIO-0が起動時にCEな機能を持つこととGPIO-1を組み合わせて使えないかかんがえちゅー
アプリケーションノートの初期化コードで、データシートに載ってないレジスタいじってるから何か隠されてるようだ。。。

-----------------------
2016/04/10 追記
Using multiple VL6180Xs in a single design
複数デバイスを使いたい時用アプリケーションノート見っけた。
使いたい数分のGPIOをマイコンとつなぐか、I2CでIO拡張するIC使う的な感じで対応するしかないみたい。

拍手

Comment (0) | ▲TOP

SHARP測距モジュールGP2Y0E03

これ
http://akizukidenshi.com/catalog/g/gI-07547/

過去の測距モジュールと比較して、とっても小さくなりましたねっ。
いつものアナログ出力に加え、I2Cで接続できるのでポートをたくさん消費することなく複数台使えるようになったのが特徴。(16台までね)
さらに、コマンドを送ってフィルタの設定とかしたりスリープ入れられたりします。

昨年の知能ロボコンマシンでお世話になりました。
複数台使うためにはそれぞれに異なったI2Cアドレスを設定する必要があります。
ちょっと面倒だったのでやり方メモ。

【参考】
http://www.sharp.co.jp/products/device/doc/opto/gp2y0e02_03_appl_e.pdf

まずは写真のピンにハンダ付け。(アドレス書き換え時に使うだけなのでてきとーでおっけーヽ(´ー`)ノ
これ電源なんで、マイコンからFETとかでon/offできるように回路構成してください(50mA流せればok。以下"電源"と言ったらこのピンのこと)。


あとはデータシートのFig.40、Table.20あたりを参考に、ハンダ付けした電源ピンをon/offしつつI2Cでコマンド送るだけです。
ただし、一回きりしか変更できないっぽいので要注意。
----------
・電源offにする
【Stage1】
・I2Cで0xEC, 0xFFを送る。 (Fig.40だと0xEFを書くようになってるけど誤植?)
・送信終わったら電源をon
【Stage2】
・I2Cで0xC8, 0x00を送る。
【Stage3】
・I2Cで0xC9, 0x45を送る。
【Stage4】
・I2Cで0xCD, 新アドレスを送る (使えるアドレスはデータシートのTable.21参照)
【Stage5】
・I2Cで0xCA, 0x01を送る
・500us待つ (E-fuse書き込み待ち)
・電源offにする
----------
ひとまずここまでやればアドレスが変更されます。
データシートだとこの後ちゃんと書けたかどうか確認してるみたい(?
Stage6以降は新しいI2Cアドレスでアクセスするみたい(未確認

というわけで、無事量産出来ましたとさ。

拍手

Comment (2) | ▲TOP

【レーザー加工パラメータ】アクリル板(ハンズ端材, 黒, 2mm)

アクリル板(東急ハンズの端材) 黒 厚さ2.0mm 両面とも保護紙有
99.9% 5mm/s

一発カットok。
でもやっぱ断面ななめになっちゃう(´・ω・`)
焦点合ってないのか、、
溶け過ぎちゃうのか、、?
レーザー速度速くして、二周かけて切ったらどうかな。

拍手

Comment (0) | ▲TOP

【レーザー加工パラメータ】アクリル板(三菱レイヨン, 透明, 2mm)

アクリル板 三菱レイヨン 透明 厚さ2.0mm 両面とも保護紙有
99.9% 5mm/s



焦点ちょい高めで加工。
保護紙が微妙に切れ残る箇所あり。
断面斜めの箇所あり(レーザー照射口から見て奥に行くほど細くなる感じ)

拍手

Comment (0) | ▲TOP

ブログ内検索

プロフィール

    HN:
    こんぺ~ (@conpe_)
    趣味:
    モタスポ観戦とかロボット作ったり

カレンダー

    07 2017/08 09
    1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31