• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

だれす@ずら。のブログ一覧

2016年01月26日 イイね!

赤外線リモコンの解析

赤外線リモコンの解析昨日に引き続き、引き篭もってますw

暇さえあれば、スクフェスやって、エアガン撃って、ゴロ寝して・・・

完璧に駄目人間ですね!(ぉ

そんな感じのお休みですが、またまたArduinoを使って実験君です。

今日は赤外線リモコンが吐き出すデータをハッキングして見よう。って内容です。


Arduinoのセットに入ってた、赤外線リモコンと赤外線受光モジュール。

参考にしたのは、こちらのサイトです。

ほぼ、同じ中華製のリモコン(表面が違うだけ?)だと思ったので、そのまま使えるだろうと思って、スケッチをコピペして、回路を接続。



・・・うまく動作しない・・・


どうやら、赤外線受光モジュールの配線を間違ってたらしい。

直してつけて見たけど、まったく反応なし。


・・・どうやら誤配線で壊したらしい・・・orz


さてどうしよう?と思っていたところに、そういえば昔赤外線送受信モジュールを遊びで買った覚えがあったなぁ~とパーツ箱をあさって見る。



・・・あった。



基盤から半田を温めて抜き取る。
そのままだとブレッドボードにうまく刺さらないので、配線を接続。

こんな感じになりました(汗


Fritzingのイラストだとこんな感じ。

=================================================
//IRリモコン解析用

#define BUTTON 9
#define IR_IN 10
#define IR_DATA_SIZE 100

byte ir_data[IR_DATA_SIZE];
byte ir_code[32];

void setup() {
Serial.begin(9600);
pinMode(IR_IN, INPUT_PULLUP);
pinMode(BUTTON, INPUT_PULLUP);
}

void loop() {
if(digitalRead(BUTTON) == 0){
digitalWrite(13,HIGH);
ir_read(IR_IN);
ir_print_1();
ir_print_2();
digitalWrite(13,LOW);
}else{
digitalWrite(13,LOW);
}
}

//データ受信
void ir_read(byte ir_pin){
for(int i = 0; i < IR_DATA_SIZE; i++){
ir_data[i] = 0;
}
unsigned long now, last, start_at;
boolean stat;
start_at = micros();

//2.5秒以上入力がなかったら終了
while(stat = digitalRead(ir_pin)){
if(micros() - start_at > 2500000) return;
}

start_at = last = micros();
for(int i = 0; i < IR_DATA_SIZE; i++){
//入力が反転するまで待ち(上限25ms)
while(1){
if(stat != digitalRead(ir_pin)) break;
if(micros() - last > 25000) return;
}
now = micros();
ir_data[i] = (now - last)/100; //byteに格納するあため
last = now;
stat = !stat;
}

}

//生データ出力
void ir_print_1(){
for (int i = 0; i < IR_DATA_SIZE; i++){
Serial.print(ir_data[i]);
if(ir_data[i] < 1) break;
Serial.print(",");
}
Serial.println();
}

//解析データ出力
void ir_print_2(){
int j = 0;
byte result = 0;

//1or0判定
for (int i = 3; i < 66; i+=2){
if(ir_data[i] > 10){
ir_code[j] = 1;
}else{
ir_code[j] = 0;
}
j++;
}

//データを数値化
for (int i = 0; i < 8; i++){
if(ir_code[i+16] == ir_code[i+24]){ //反転データチェック
result = 0;
break;
}else{
bitWrite(result,i,ir_code[i+16]);
}
}

//出力
for(int i = 0; i < 32; i++){
Serial.print(ir_code[i]);
Serial.print(",");
}
Serial.println();
Serial.println(result,DEC);

}
===========================================

ボタンを押すと入力待機(2.5秒)その間赤外線の入力がなければ終了。
赤外線の入力があったら、シリアル通信で出力。
で、出力データの整頓プログラムつきです。


シリアルモニターの出力はこんな感じです。


参考にしたサイトのリモコンと同じデータビットを吐き出してるのがわかりました。
まぁ、同じ中華製なので妥当な結果ですね。

この受信データをプログラムで動的に出力させることが出来れば、リモコンで、モーターを動かしたりする事が出来るようになります。
今回はその足がかりとして、サンプルスケッチの構文解析がメインですね。

データビットの解析が出来るようになったら、リモコンコピー機とか色々作れるようになりますね。

とりあえず、今日の研究結果は以上です。



Posted at 2016/01/26 18:01:57 | トラックバック(0) | Arduino | 日記
2016年01月25日 イイね!

モーターを回そう

モーターを回そう昨日から3連休です。

連休だけど特に予定もありません。
昨日は映画行っただけです・・・外出すると余計な金使うから引篭もってます(ぉ

そんな感じで、今日は自宅にこもってArduinoを使った研究&実験な感じです。
今回はステッピングモーターを動作させる回路に挑戦。

最終目標はホップアップモニターの作成なので、モーター駆動の原理をある程度把握しておけば、実機にするときに参考になるだろうということです。

で、今回使うのが「28BJY-48」ってステッピングモーター。

大体、「ULN2003AN」ってトランジスタアレイってICを使ったドライブ回路基盤がついてます。

Arduinoをつかった28BYJの動作回路をググったら、こちらのサイトにありました。

ステッピングモーターの動作原理とかは、こちらを参照しました。2-2相励磁ってパルス駆動をつかってみました。消費電力は上がるけど、トルクが増大するらしい。

Fritzingって基盤イラストを作成できるツールを使ってみました。

ただ、うちの環境だと、最新のバージョン0.9.2bが動作しなかったので、0.8.7bのバージョンを使用してます。なぜだろう?・・・VisualStudioのライブラリがコンフリクトしてんだっぺか?

とりあえず、Fritzingってこういう図をスケッチするのに便利。


回路図で言うとこんな感じ。
スイッチに抵抗を使ってデジタル入力をするのですが、これはプルアップ抵抗って呼ばれる方式で、
スイッチがOFFの場合、入力に5V(HIGH)が入力されています。
スイッチがONの場合、入力に0V(LOW)が入力されます。
抵抗を入れていないで単純にスイッチでON/OFFさせると、ショートする事になるので、デジタル回路には良く使われます。



実際はこんな状態ですけどね(ぉ


動作が判り易いように、ステッピングモーターにチノちゃんを乗せてみました(ぇ


2ボタンで、ボタンを押すと、正転・逆転をする単純な仕組みです。
ステッピングモーターだから、本当は角度指定で回したりが出来るはずだけど、今回は練習って事で、単純に回すだけのプログラム(スケッチ)です。



===サンプルスケッチ=================================================
int motorPin1 = 8; // Blue - 28BYJ48 pin 1
int motorPin2 = 9; // Pink - 28BYJ48 pin 2
int motorPin3 = 10; // Yellow - 28BYJ48 pin 3
int motorPin4 = 11; // Orange - 28BYJ48 pin 4
// Red - 28BYJ48 pin 5 (VCC)

int motorSpeed = 800; //速度。数値が小さいほど速くなる。800以下は脱調して動かない
int lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};
// 2-2相励磁のデジタル出力アドレス。

void setup() {
//declare the motor pins as outputs
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
Serial.begin(9600);
}

void loop(){
if(digitalRead(2)==LOW){   //入力スイッチ(2番ピン)が押される
clockwise();          //時計回り関数へ
}
else if (digitalRead(3)==LOW){ //入力スイッチ(3番ピン)が押される
anticlockwise();         //反時計回り関数へ
}

}

//////////////////////////////////////////////////////////////////////////////

void anticlockwise() //反時計回り関数
{
for(int i = 0; i < 8; i++) //加算ループ
{
setOutput(i);      //数値を関数に渡す
delayMicroseconds(motorSpeed);
}
}

void clockwise() //時計回り関数
{
for(int i = 7; i >= 0; i--) //減算ループ
{
setOutput(i);   //数値を関数に渡す
delayMicroseconds(motorSpeed);
}
}

void setOutput(int out)  //2-2相励磁出力関数
{
digitalWrite(motorPin1, bitRead(lookup[out], 0));  
digitalWrite(motorPin2, bitRead(lookup[out], 1));
digitalWrite(motorPin3, bitRead(lookup[out], 2));
digitalWrite(motorPin4, bitRead(lookup[out], 3));

// int lookup[8]で設定したアドレス出力を選択

}

=============================================================

まぁ、こんな感じです。
・・・いまいち参考にならないなぁ・・・

C言語自体、久しぶりだから、関数とかメソッドとか色々悩みつつ、解読しつつソースを書いてみましたが、 まだまだ詰められそうな感じ。

ただ、実際にはステッピングモーターを使うか、普通の単相モーターの、ウォームギヤを使ってトルクを稼ぐかは今のところ未定ですが、サーボモーターはちょっと違う気がする。
ウォームギヤってのはこんなやつです。

田宮さんから工作キットで出てます。
速度とトルクを得るにはこれが最適のような気がします。
そうなると、モータードライバICとか使って勉強する必要があるかなぁ?
TA7291Pとか・・・
これ使うと、正転・逆転・ストップ・ブレーキの制御が3chで出来るようになる。
DCモーターを使うなら、やっぱりこれかなぁ・・・

Arduinoで色々電子工作の幅が広がる感じが楽しいです♪
車いじり+マイコンはDIYの可能性が広がります・・・たぶん(ぇ

エーモン工業で満足できないって人向けですけどねw



Posted at 2016/01/25 21:21:10 | トラックバック(0) | Arduino | 日記
2016年01月24日 イイね!

増えた!

増えた!エアコンプレッサー導入で、冬でも快適ガスガン撃ちまくりを夢見て色々用意しましたが、「銃刀法」という壁が立ちはだかったので、その対策を講じることにしました。

・・・なのに、なぜか銃が一丁増えました(滝汗


KSC M93R-Ⅱ
KSCのサイトで増産が決定したとの事で、思わず購入してしまいました。
セミオート・フルオートの切り替えができて、KSCオリジナルの三点バースト機能(1トリガーで3発発射する)もついた高性能マシンピストルです。

フルオートが出来るハンドガンだとグロック18Cとかがいいかなぁ~と思ってたけど、M93R再販のニュースにそっちを選んでしまった・・・グロックは電動の10禁でもいいかなぁ~
増弾した39連マガジンは、M92バーテックと互換があるので、外部ソースを使う場合とHFC134aを使った場合と、色々な応用ができそうです。

で、外部ソースのお話。

エアコンプレッサーを導入しましたが、友人に指摘され、そのままの内容でネットにアップすると問題があることがわかりました。


銃刀法で遊戯銃ではパワーが0.98ジュール以下であること。簡単に言えば、それ以上になると、逮捕されるという事になります(汗

安全に楽しく遊ぶために、パワー規制に準拠したエネルギーに設定しないといけません。

圧力を0.45Mpa以下に制限するリリースバルブを取り付けてみたものの、KSCのシステム7では、圧力抜けが激しく、動作不足な感じです。

そこで、圧力を動作するレベルまでレギュレータを調整したのですが、結局出力が不明のままだと、違法改造銃を所持してしまうことになる。
弾速計は買うと8000円くらいするので、なかなか手が出せないので、
ASGK日本遊戯銃協同組合
http://www.asgk.jp/
こちらから販売されている、簡易弾速測定器を購入して、パワーを測定してみることにしました。


KSCのシステム7が動作するレベルの空気圧が0.45Mpa程度。リリースバルブがちょうど開いてしまう圧力です。リリースバルブの動作の仕組みが不明ですが、動作すると、0.4Mpaまで圧力が下がるまで弁が開きっぱなしになる為、マガジンチャンバーの内圧が一定にはならないようです。
レギュレーターを0.45~0.50Mpaの間で固定して、弾速測定。

一応、0.8ジュール位で収まり、システム7の動作も問題なく動くレベルです。
この設定値なら、合格。規制値に収まりました。
もう一枚抜いていたら、精密計測が必要なレベル。赤紙まで抜いたら完全にアウトです。
ただ、エアーツールなどを使う際にレギュレータを動かしてしまうと、結局調整をし直すたびに弾速を計測しないといけなくなるので、エアガン専用のエアレギュレータを用意しないと駄目ですね。
次は東京マルイの製品を買って、威力を比べてみたいと思います。
・・・結局、M9になっちゃうんだろうなぁ~ベレッタカッコいいしwww


ガンケースに2丁入るけど、ちょっと窮屈な感じ。
ケースももうひとつ買ったほうがいいかも?
バーテックの握りがちょっと細身なので、持った感じが全然違います。同じM9系でもこんなに違うんだなぁ~って思いました。
東京マルイ製品は持ってないので、そっちも試してみたい感じです。

2丁のベレッタと言うと、やっぱりツーハンドですよねw


そして、今日も映画を見てきました。
昨晩友人とAM3時まで電話してたおかげで、半分くらい寝てましたが・・・(汗

無事にドロシーの色紙をゲット♪


コレクター魂を揺さぶるカントク色紙がそろいました。


映画といえば、ガルパンの4DXが決定しましたね。
非常に楽しみです。近場だと、ユナイテッドシネマ春日部ですかね?
あの熱い戦車戦に臨場感が足されると思うと、失禁してしまいそうです(マテ

Posted at 2016/01/24 17:58:24 | トラックバック(0) | エアガン | 日記
2016年01月17日 イイね!

二回目とお買いもん(ネタバレあり)

二回目とお買いもん(ネタバレあり)冬アニメは意外と触手が伸びませんなぁ~

ごちうさ2期の破壊力が大きすぎて、なかなか新規開拓って気分に至らない感じですねぇ・・・
まぁ、お休みの日とかに、気が向いたらまとめて視聴する感じになりそうです。

そんなこんなで、今日は「ガラスの花と壊す世界」の2回目に行ってきましたw
今回はお金あったので、パンフレット買って来たよ。

とりあえず「D.backup-リモのはこには-」を見て、このパンフレットにある設定を読んでみた感想としては、「女の子が可愛い」って結論でした(ぇ

以下ネタバレ&個人的捉え方ですので、スルーして頂いて結構です。





『現実世界の軸』
2015年、物語の冒頭最初に登場する、ピアニストを目指す少女「スミレ」。彼女はイギリス留学の後に、夫となる」ダニエル・ドーソン」と出会う。彼が後に画期的なシステムOS「Violet Operating System(ViOS)」を開発することになる。
2076年、ダニエル・ドーソン博士により開発された、ViOSが世に出て、世界全体を制御されるようになる。
ダニエルの娘、ダイアナ・ドーソンは父の元で研究者として活動をする。後に娘「リモーネ」が生まれるが、10歳前後(?)の頃に不幸な事故で娘を亡くす。その悲しみの中から、世界から悪意をなくし、美しいものを残す世界にするための環境管理プログラム「mother.exe(マザー)」を開発。2100年、人類は世界の管理をマザーに移管させる。
マザーにより世界は世界は安定と平和を手に入れたが、世の中の悪意を殲滅すること、美しいものだけを維持することによって、人間の本能が抑止・管理され、人類は進歩をやめ、衰退の一途をたどる。それはマザーが人類を『害悪』と判断したこのによる計画であった。
マザーは過去の時代の世界や人々をデータとしてバックアップし、大容量の記憶デバイス「知識の箱」に格納し、管理維持することを実行(時間軸不明)
研究者たちは人類の衰退とマザーの暴走を止めるために、マザーの削除を試みる。そしてマザーの削除に成功した。しかし、独立実行型の検索エンジンである「リモートアクセス」はマザーから切り離され、マザー・リモートとして実行されたまま知識の箱の「美しいもの」を回収する動作を止めてはいなかった。

『知識の箱の世界』
ViOSによって管理されたコンピュータネットワークのストレージデバイスという位置づけ。
階層はウィルス駆除ソフトなどが常駐する第一階層、データの世界が展開されプールされている第二階層。そして圧縮されたままのデータで保存されている第3階層の3つのディレクトリが構成されている。
リモート(リモ)は実行を止めずに活動をしていた。
過去のデータから「美しいもの=ガラスの花」を回収し0階層(ルート・ディレクトリ)に回収したガラスの花を格納する。
美しいものを失った過去の世界(データ)はエラーを吐き。それをマザーは「ウィルス」としてアンチウィルスソフトに削除を実行させる。本来アンチウィルスソフトは真のウィルスを削除するためのソフトであったが、人間によってソフトに組み込まれた思考エンジン「ヒューリスティック・エンジン」がマザーにより脅威と認定され、更新と称してマザーによる書き換えを受け、美しいものを失ったエラーデータの削除を実行することになる。(←この辺から映画は始まる)

アンチウィルスソフトは第一階層までしか権限がない。第一階層は複数存在し、それぞれ独立したソフトが稼動している。原案に登場する「リグル(検索)」と「シャム(削除)」のようなプログラムが存在することから、同じような階層が複数存在する可能性がある。物語の拡張性を示唆する内容は、そういった部分からと考えられる。



と、ここまでの内容を把握した状態で、映画を見ると、映像の訴えたかった部分がようやく見えてくる感じです。かなりユーザーを選ぶ作品だなと思いますし、そういった細かいバックボーンをカットインで表現するなど、ユーザーの捉え方にある程度一任させるような話の構成でした。
結論から言うと、個人的には少女たちが本当の自分を見つけ、友情を確かめる物語だったと捉えてます。


まぁ、映画としてはあまり成功と言えない感じはしますが、コンテンツとしては拡張性が広く、キャラクターの魅力もあるので、もう少し展開してからでも面白かったかな?と思います。悪く言うと、いきなりアニメ化は無謀だったんじゃね?って感じです。


カントク絵が並ぶとなんだか安心します(ぇ
来週はドロシーを回収に行きます。


映画の帰りに、アストロでお買い物。

結局コンプレッサー買っちゃった(手屁っ♪

ただ、店頭に展示品しかなくて、ちょっと動作が怪しかったので、店員さんが「取り寄せでもいいですか?」っていうから、まぁ急いでないからいいかと注文してきました。
エアーツールが使えるようになるってなんだかワクワクしますw
スプレーガンとかあれば、屋根塗装直せるかもしれないとか、エアブローできれば、ダスター缶買わなくても済むとか、エアソーとかあれば、木材の切断とか楽勝じゃないとか・・・色々考えると夢が広がります。
エアツールを使うとなるとサブタンクが必要だと思うけど、アルミ製サブタンクなら、持ち運び楽だしね。


帰り途中、会社から応援要請の電話ががが・・・・
まぁ雪予報出ちゃったからねぇ・・・

何だかんだとお使いで兄貴の家に行かなくちゃならなかったり用事があったのでお断りしました。とりあえず、明日の朝の積雪が楽しみです♪積もってたら雪ドリ~♪

そしてなんとなくツタヤによって、CDを借りてしまうw


・・・やべぇ財布にお金あると強気になって困る・・・


明日は朝から交通網がシビアになりそうだから、早めに起きたほうが良いかなぁ・・・
Posted at 2016/01/17 22:01:50 | トラックバック(0) | 映画 | 日記
2016年01月14日 イイね!

そろそろ真剣に考える・・・

そろそろ真剣に考える・・・ガスガンを買って思うこと最近・・・

やっぱりガス圧が安定しないなぁ~

寒さで圧が一定ではないのですよ。
1マガジン打ち切る前にガス圧不足でヘコヘコになってしまう。
さすがにガスブローバックだから仕方ないんだけど、もう少しスパスパ撃ちたいのです・・・

ってことで、エアコンプレッサーの導入を真剣に考えております。

とりあえず、候補に挙がってるのはアストロのサイレントコンプレッサー

6Lと小ぶりだけど、60dBなので部屋使いでもオッケーな感じです。
容量足らなければ、サブタンクを買えばいいだけのこと。

そんな感じで、エアツール周りの部品を調達するにあたって、市場をぐるっと見回ってきた。
まぁ、簡単に言うとホームセンター巡りですけどね。

とりあえず、ドイトで6mmのポリウレタンホースが安いのと、チャックを発見。
エアブローの逆で吸入器ってのがあったのでちょっと興味津々。

それからアストロにコンプレッサーの実物を確認に。

初売りセールで安かったので、ついカッとなって買った・・・
電動ポリッシャーとクーラントチャージャー。
ポリッシャーは磨くのに便利ってことでほしかったのん。

クーラントチャージャーは補充とかエア抜きとかの作業ではとっても便利。
お仕事で使うことの方が多いかもしれないなぁ・・・

コンプレッサーの動作音は静かなもんでした。PS3のバースト時より静かかもしれない・・・

それからビバホームへ。
マイクロカプラー関係が普通に売ってることを確認。

一頻り計画通りの部材が調達できそうだったので、後は給料日を待つだけ(ぉ

帰りがけにローソンで物を回収。

カニ座だからってハサミはどうだろう?って思ったけど、シャロちゃんだからまぁいいか(ぇ

次の休みは洗車をしよう・・・寒いけど・・・
ポリッシャーを早速試してみたいと思います。

・・・面倒なのでボンネットだけでも・・・



ちなみにArduinoを使った電子工作も研究中です。
今はLCD表示をアクティブで動作するようなプログラムを書いてみた。
chr変数の使い方とか、C言語なんだけど、記憶が微妙に曖昧だったりして、うまく動作させるまで結構時間がかかったり。
とりあえず、文字列をスライド表示させるところまでできた。

次はモーター制御の勉強をしようと思います。

最終的には、助手席エアバッグの部分で、チルトアップ機構を作る予定です。

こんな感じで。
メーターはもう装着してるので、9インチくらいのモニターを載せて見ようかなとか考えています。
もちろんアニメ視聴のためですw
こう言うのが、DIYで作れたら面白いかなぁ~と思うので、ちょいちょい公開もしていきます。
まぁ完成するかどうか不明ですが、気長にやっていきます。

Posted at 2016/01/14 23:41:01 | トラックバック(0) | 雑記 | 日記

プロフィール

「禁断の果実(りんご)の誘惑 http://cvw.jp/b/2036390/44515607/
何シテル?   10/28 00:21
放置プレイ実施中 ぼちぼち復帰します。 改名しました。
みんカラ新規会員登録

ユーザー内検索

<< 2025/10 >>

   1234
567891011
12131415161718
19202122232425
262728293031 

リンク・クリップ

プッシュスタートスイッチ 
カテゴリ:その他(カテゴリ未設定)
2021/02/06 22:50:27
オートパーラー上尾 コンビーフサンドはここだけ 
カテゴリ:その他(カテゴリ未設定)
2017/12/17 20:49:21
オートレストラン 鉄剣タロー レトロ自販機の牙城@サイタマー 
カテゴリ:その他(カテゴリ未設定)
2017/12/17 20:49:16

愛車一覧

スズキ スペーシアカスタムハイブリッド スズキ スペーシアカスタムハイブリッド
パレットがポンコツ過ぎて買い替える予定でしたが、事故って直すのも勿体ないと、前倒しで買い ...
スズキ パレット スズキ パレット
パレットに乗り換えました。 憧れだった軽です(ぇ ・乗り降りがしやすい ・頭がぶつから ...
日産 シルビア 苺たん (日産 シルビア)
S15シルビアを新車で乗って19年・・・ 当時周りが180SXやらS14やらに乗って ...
ヘルプ利用規約サイトマップ
© LY Corporation