車のはなし

はじめまして、16のあおのりです。
この記事は、rogy Advent Calendar 2018の18日目の記事です。
(ごめんなさい、間に合いませんでした…)
皆さんは、自動車の運転はされるでしょうか。
私は実家通いなので、実家の車を利用してちょくちょく出かけています。
その自動車ですが、ボンネットを開ければその中にはエンジンだけでなく、
多くのセンサが搭載されていることはご存知でしょうか。
ただアクセルを踏んで加速するにも、様々なセンサの情報を得て、エンジンを制御しているというわけです。
その他、運転に必要な情報を提供する速度計や回転数計、距離計に水温計…とそれらを表示するために自動車の内部では様々なセンシングを行っています。
これらを利用して電子工作をしてみようと思い、距離計を作ってみました。

自動車の距離計は、トランスミッション等から発生する回転信号を取得し、その信号のパルス数を計数することで距離を算出しています。
普通、1km走行毎に637*n(nは自然数)回パルスが発生するようになっているらしく、これまで調べた限りだと、ト〇タやホ〇ダ、〇菱の乗用車はn=4の車両が多いようです。
自動車は時速60kmで分速1km、これを基準に考えれば大体40Hzのパルス波が出ていることになります。
パルス波の振幅などは整備解説書が手に入れば載っているのですが、今回の製作対象車の情報は手に入らなかったので、20km/h、30km/h、40km/h時の車速パルスを観測しました。
ECUからメータに伸びる配線から取得が可能です。

 

 

 

 

 

20km/h時の車速パルス

 

 

 

 

 

30km/h時の車速パルス

 

 

 

 

 

40km/h時の車速パルス

あとは、1パルス毎に車が進む距離を大体見積もって、プログラムします。

 

 

 

 

 

こちらはテスト用に作った回路です。
7セグで4桁表示。実際の自動車が0.1km単位なので、0.01km単位まで表示できるように設定しました。
あとはキロポストがあって直線が長い道路で調整して製作完了です。
最終的には東名高速でキロポスト基準40km走行時に誤差0.1kmのところまで調整できました。
これ自体は大した作業では無いのですが、運転しながら計測や調整するのは不可能なので、2人で行いました。

とまあ、自動車を利用した電子工作は対象が自動車なので、計測やテストが少々面倒なところがありますが、
目に見えていない情報を可視化することも出来るので楽しいと思います。
(スロットルの開き具合、エンジン油温など)

最後に、自動車の電気配線を誤って接続すると、正常な運転ができなくなり、エンジンが始動しなくなるなどの問題を起こす場合があるため、十分に気を付けて行うようにしてください。
では。

 

 

 

 

 

上手くいったので電池含め一枚の基板にまとめました。

ロリノススメ

初めまして、17のバンル( @17_bnr )です。

この記事はrogy Advent Calendar 2018の17日目になってます。

さて、みなさんロリは好きですか? 僕は好きです。

ロリとはもちろんエレクトニクスとエレクトシティを勉強・研究するところ、つまり工学院電気電子系です!!

 

電気電子系では主に5分野について研究しています。

このページを見てもらうと5分野が詳細にわかると思いますが、ざっくりいうと

回路:いろんな素子を使っていろんなものを作る研究

波動・光および通信:電磁波の利用の仕方を研究

デバイス:新しい電子部品の研究

材料・物性:新しい物性を持つ材料の開発、利用の研究

電力・エネルギー:電気エネルギーとほかのエネルギーの変換を研究

 

ということで、

可視光で抵抗値が変わる材料を用いた可視光通信による、スイッチング電子デバイスより電力機器を動かす回路を作りました。

 

回路図です。

動作の流れとしては4.5Vで流れるLEDが光るとフォトICの抵抗が下がるので、R1にかかる電圧が上がるので、FETのゲートがONになります。

そうすると無安定バイブレーターが作動し、電流が交互にAIN1とAIN2に入ります。

最後に、モータードライバーに信号が入り、モーターが動きます。

 

ということで動かした動画です。

容量の関係で短い動画しかアップロードできませんでしたが長めの動画はツイッターにあげたいと思います。

そろそろ系所属が始まると思うのでぜひロリ系へ

AdCなのでADCを作った

こんにちは16のマッキーです。
この記事はrogy Advent Calendar 2018の15日の記事です。

タイトルの通りですが、AdC(Advent Calendar)ということでADC(Analog Digital Converter)を作ってみました。

ADCはマイコンとかを使う人はおなじみの機能だったりすると思うのですが、それを使うのではなく自分で作ろうといったところです。

そんな感じで作ったものを紹介します。

 

ADCの概要についてはここ → https://www.rohm.co.jp/electronics-basics/ad-converters/ad_what1 などを見ると以下の説明もだいたいわかると思います。

今回はフラッシュ型と逐次比較型のADCを作りました。とりあえず動作すればいいかなということで性能は特に気にして作ってませんが、最終的にAD変換したものをLEDにレベルメーターのように出力できればいいかなと思ったのでどちらも5bitのADCにしました。

フラッシュ型


回路自体もコンパレータを大量に並べただけなのでシンプルでいい感じですね。

逐次比較型


本当はサンプルホールド回路が入るのですが、時間が足りなかったのでついてません。ただ人がLEDのメーターを見る分には問題なさそうです。(動画は1Hzの三角波)

二分探索してる様子です。青い信号(DACの出力)が少しずつ黄色い入力電圧に近づいてます。

比較部分のロジックはFPGAを使いました。
またそのためのHDLのコードをMATLABのHDL Coderというツールを使ってみました。このため、コードは書かずにブロックをごちゃごちゃいじってHDLを生成できました。

↑Simulink上の回路の雰囲気

FPAG周りの回路はユニバーサル基板上に作りました。(こんな感じの配線は初めてやったけど意外とできることが分かった)

まとめ

  • AdCでADC作ったっていうのができてよかった(これが一番やりたかった)
  • AD変換ができたっぽかったのでよかった
  • なんかFPGA使いたかったので使えてよかった
  • MATLAB最高だった
  • はんだ付け楽しかった
  • 他の変換方式もやろうと思ってたけど時間が足りなくて悲しかった

 

 

タイヤが丸くないラジコンカーが作りたい!

この記事はrogy Advent Calendar 2018 13日目の記事です.

こんちゃーっす
修論の進捗が厳しいおにぎりです.

とりあえず修論から現実逃避して,楽しくものつくりしながらブログ書いてます.

さて今回は,一昨年の非円形歯車,去年の双葉車に続いて特殊歯車シリーズ第3弾です.
もしお時間があればそちらもどうぞ合わせてご覧くださいませ

※注意
ダラダラ書いてしまったので結構長くなってしまいました.
途中に出てくる数式たちについては流し読み推奨です.

1. つくったもの


言ってしまえば,今まで僕はいわゆる “ただの歯車そのもの” を作って回して遊んでいただけでした.
そこで,歯車自体をおもちゃにするのではなく,特殊歯車を使った,まだ誰も作っていないおもちゃを作りたい.そう思ったわけです.

ということで,モーターを使って最も簡単に作れるおもちゃの1つである,ラジコンカーに焦点をあてます.
普通のラジコンカーではつまらない.そこで,僕の思想は

タイヤが丸くなければ面白そう!

でも乗り心地やラジコンとしての操作性は落としたくない!

この問題,1組の歯車で解決できるのでは!!!!!!

ハイ.いつもどおり突拍子がないですね.

何はともあれ作ったものがこちらです.

いかがでしょうか?タイヤが楕円であることを除けば,ほぼ普通のラジコンカーです.
もちろんマイコンは一切使っていませんし,モーターも左右合わせて2個だけです.
察しのいい方は,何やら赤い歯車と青い歯車が重要そうだと睨んでいることと思います.

さて,では具体的にどんな仕組みなんでしょうか?

答え合わせと設計手法は次のページ!

自作WearFaceで日々の生活に彩りを

皆さんこんにちは、会計の優勝です
(完全に内輪ネタです。すみません。)

この記事はrogy Advent Calendar 2018 12日目の記事です。

皆さん、スマートウォッチをご存知でしょうか?
AppleWatchなどが有名だと思いますが、簡単に言うと液晶のついてる時計です。
(スマホから通知を飛ばしたりなど、主にスマホの補助的な役割を担っています)
私は半年前からASUSZenWatch2というスマートウォッチを使っており、日々重宝しています。

液晶がついているからこその利点としてWatchFace(壁紙)が豊富で、いろいろなアプリが多くの種類のWatchFace(壁紙)を出しています。

ただ、一つ問題点があるとすると、自分の100%好みの壁紙が世の中に存在するわけではないので多少妥協しなければならないことです。

「ないものは作る~ロボット技術研究会~」

ということで、自分好みのWearFaceをつくってみました。

環境構築

まず、スマートウォッチの端末情報から。
端末名:ASUSZenWatch2 434B
AndroidWear:2.17.0.217437364
AndroidOS:7.1.1

Androidの開発には大きく2つの選択肢(Eclipse・AndroidStudio)がありますが、今回はAndroidStudioを使いました。

  1. AndroidStudioを入れてくる。
    参考サイト:Windows版AndroidStudioをZipアーカイブからセットアップする
  2. プロジェクトをつくる
    CreateNewProjectをして、以下の写真の通り設定を進めていく
  3. とりあえず Make Project してみる
    Makeするために必要な拡張機能(?)のようなものを適宜入れる
    (ボタンぽちぽちしてればOK)
  4. 次に実際にAndroidWearのデバッグのための環境を整える(今回はBluetooth経由のデバッグを行う)
    adbコマンドを使えるようにする方法 に従って、adbコマンドを使えるようにする
    ・AndroidWearの方で、設定→端末情報→ビルド番号を7回タップして開発者オプションを有効にして、設定→開発者オプションから、ADBデバッグとBluetoothデバッグを有効にする
    ・スマホで、AndroidWearのアプリから、Bluetooth経由のデバッグを有効にする
    (ホスト:未接続 ターゲット:接続済み となってるはず)
    ・PCのコマンドプロンプトから以下のコマンドを実行

    > adb forward tcp:4444 localabstruct:/adb-hub
    > adb connect 127.0.0.1:4444
    
    (切断する際)
    > adb disconnect 127.0.0.1:4444
    > adb kill-server

    (ホスト:接続済み ターゲット:接続済み となってることを確認する)
    参考サイト:Bluetooth経由でデバッグする

  5. 実行してみる
    Runを押すと以下のようなウィンドウが出てくるのでスマートウォッチを選択してOKを押す
  6. 実行終了!
    こんな感じになる

好みの壁紙を設定する

さてやっと本題に入ります
環境構築に意外と戸惑ってしまったので忘れてしまいそうですが、当初の目的は自分の好みの画像でWatchFaceをつくることでした

  1. 壁紙にしたい画像を選んできます
  2. 選んだ画像の縦横比を1:1にします
  3. 編集した画像をProjectFile内の …\wear\src\main\res\drawable というフォルダに入れます
  4. AndroidWearを再起動します
  5. …\wear\java というフォルダ内にある “MyWatchFace.java”の137行目の
    mBackgroundBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bg);

    の “bg” の 部分を画像ファイルの名前に書き換えればOK

  6. お好みで壁紙名やアプリ名を編集できる
    …\wear\res\values というフォルダ内にある “string.xml”を編集する
  7. WatchFaceのプレビューは …\wear\res\xml といるフォルダ内にある “watch_face.xml”を 6 と同じ要領で編集する
  8. 以上、解散終了終了終了

成果物(の写真)

まとめ

今回はAndroidWearのWatchFaceの壁紙を自分好みのものに変えて、世界に一つだけの時計をつくりました
ほかにも針の形状を変えてみたり、画面をタップした時に処理をしたりなど、たくさんのことができるようになっています

是非皆さんも試してみてください!!!

CODE THANKS FESTIVAL 2018 参加記

この記事は rogy Advent Calendar 2018 4日目の記事です。

やまだです。

先日行われたCODE THANKS FESTIVAL 2018に参加しました。

CODE FESTIVALとは、主に大学生を対象にしたプログラミングコンテスト(いわゆる競技プログラミング)です。詳細は https://www.recruit-jinji.jp/recruitment/code_fes/ とかを見てください。

わりと参加者の方々が参加記を書いているっぽいので、僕も書いてみます。特別おもしろい話はないです。

当日の朝

起床に大成功しました。大成功というのは、起床予定時刻よりも早く起きたという意味です。

余裕を持って電車に乗りました。乗り換えは大変難易度が高く、困難を極めました。

なんとか会場最寄り駅についたのですが、会場への道がわかりません。

そこで、「自分と同じオーラを感じる人」を発見したのでこっそりついていくと無事会場へたどり着きました。その方も参加者だったようです。きっと、こうやって会場にたどり着くような能力のことを社会性というのだろう、と思いました。

コンテスト

直前にモンスターエナジーを飲んだら気持ち悪くなりました。アホですね。

コンテスト問題の考察等は他の人が散々やってると思うので特にここには書きません。一応自分の提出履歴を貼っておきますが、多分見ても面白くないと思います。

提出履歴

ちょっとだけコンテスト中のことを話すと、B問題を雰囲気で解いたら4回も誤答しました。

F問題については、通らないと思ってたら意外とテストケースが通って、よくわからないけど適当にif文を1つねじこんだら通りました。今でもなぜこのif文を追加したら通ったのかよく分かっていません。

順位は100人中15位でした。思ってたより高くて嬉しかったです。

懇親会

懇親会があったのですが、身内が多かったのでそこで固まってしまいました。こういうところに社会性のなさを感じますね。

そういえば朝知らない人に挨拶されたんですが、このときに実はロ技研の後輩だったことがわかりました。気づかなくてごめんね。

感想など

  • あの有名なAtCoderの社長さんに初めて出会いました。AtCoder社のシールをいただきました。嬉しい。
  • 同じ大学の1年生の人々がとても優秀でした。今後きっと強くなってくれるでしょう。内心怖くて怯えています。

全体的にとても楽しかったです。パーカー等も貰えたので所持する衣類が少ない僕にとってはとても嬉しいです。関係者の方々ありがとうございました。

以上です。

最高の言語Python

注意 : この記事は半分ネタで書かれています。ご了承ください。

この記事は rogy Advent Calendar 2018 2日目の記事です。

みなさんこんにちは、やまだです。

もうすぐクリスマスですね、いかがお過ごしですか?

クリスマスを一緒に過ごす人はできましたか?ぼくはできませんでした。悲しいね。

恋人がいないならペットなんてどうでしょうか。一風変わったペットに蛇なんて面白いかもしれませんね。

ということでPythonについて書きます。Pythonはいいぞ。

型アノテーションをつけられる

型アノテーションがつけられるって知ってましたか?

あまりにわざとらしい例ですが、こんな感じ。ちなにみ言語側に型チェック機能はないらしいです。現時点ではコメントと同等の機能しかないらしい(ちゃんと調べてないですが……)。

こんなモジュールがあったり、多少静的なチェックをしてくれるIDEとかあるらしいです。これはもう実質静的型付け言語ですね(いいえ)。

ライブラリが充実している

いろんなライブラリがあります、すごいね。

TensorFlowを使えば深層学習ができるし、 Djangoを使えばwebもできる!!

これはもうフルスタックエンジニア間違いなしですね!!

グラフとかもスッと描画できたりします。各点のx座標、y座標をそれぞれlistにぶち込むだけでそれっぽいものができたり。

しかしデータ量が多いと遅すぎてお話にならないので、Rとかgnuplotとかの使用をおすすめします。

環境構築が簡単

環境構築が難しいのなんて昔の話、今は Anacondaとか使えば、ライブラリ含め簡単に環境構築ができます、多分。

これは初学者にも優しいですね。そもそもWindowsを使わなければ環境構築に苦しむことはあまりないはずですが。

シェルコマンドを呼び出せる

例えば、こんな「邪悪な」コードも実行できます(実行する際は自己責任で)

冗談はさておき(この記事自体が冗談みたいなものなんですが)、例えばディレクトリの操作をしたいけどシェルスクリプトを書くのがツラいときなど、意外と便利だったりします。

これはまた別の話ですが、他の言語で書かれたソースコードのコンパイル・実行が可能です。

つまり実質任意の言語が書けるってことです。よかったですね。なにが嬉しいのかはよくわかりませんが。

最後に

この記事の執筆者はPythonが嫌いです。

ですがこのように「素晴らしい」機能がたくさんあるので、ぜひ皆さんにも使ってみてほしいです!!

次生まれるときにはもっとまともな記事が書ける人生を歩みたいと思いました。各位ごめんなさい。

それではみなさん、良いクリスマスを!!

rogy Advent Calendar 2018が始まりました

ロ技研ブログをご覧の皆さんこんにちは、部長の山本です。
これは rogy Advent Calender 2018 の1日目の記事です.

今年もあと1か月を残すところとなりました。

普通ならきたるクリスマスの到来に浮ついている時期ですが、相変わらず進捗に迫られる毎日です。
ということで、今年もまたrogy Advent Calendar開催いたします。
技術ネタから身近なライフハックまでどのような記事が出てくるかご期待くださいね!