top of page
  • ahedgehogchase

Lesson. 11 入力デバイス §7. 超音波センサ

●超音波センサ

お次にもうひとつお見せしよう。 これ もまたコモディティ化したデバイスであり、2個で9ドルというものだ。これは超音波トランスデューサだ。これは、単なるマイクとスピーカーのセットだ。でも、このマイクとスピーカーは可聴周波の よりも高い領域で動作するものだ。 そして、これらはこの動作を水晶を用いて行う。これは共振器なんだ。これは感度が良くなってきている。 このデバイスがどうやって機能するかと言うと、タイミングを計測しているんだ。つまり、これをちょっと 例を見てみる と、これはある物体までの距離を218cmという風に計測している。つまりこれは比例関係から導かれた距離だ。

これは反射が得られる場合にのみ機能する。つまり、ここで反射面を傾けると検知に失敗することがお分かりになるだろう。 なぜならば、君たちが明後日の方向に送信しているのは音波であり、その音波がどこに行ってしまったのか分からなくなるからだ。 このセンサは反射が良好な場合に限り距離を測定することができる。 ここで、回路のパタンを見てみよう。この回路には追加されたピンがある。そして電源ととグランドはトランスデューサに繋がっている。そして、音波を発するためのトリガーピンがある。音波を検知するためのエコーピンがある。これらがこの基板の上にあるんだ。 このセンサもモーションセンサと同じく、僕は単にスルーホール用実装用の リードを曲げてるだけ だ。そうやって表面実装してるんだ。トリガーピンとエコーピンに配置した。 さて、ここで C言語のコード を見てみよう。C言語のコードで、僕がやろうとしているのは時間を計測する必要があるよねってこと。インプットに移ろう。 ここでやろうとしていることを説明しよう。プロセッサはタイマとカウンタが搭載されている。これらのプロセッサには多くのモードが用意されているのだけれども、そのモードの1つには君たちが時間を設定してカウントを始めるっていうやり方がある。このやり方でインターバルの時間を測定するんだ。 そして、このC言語のコードでは、クロック分周器を設定し、ピンを設定し、カウンタを開始するようになっている。カウンタは1クロックあたり1回カウントする。 そして、トリガを設定する。そして10μs待つ。そうやってトリガをクリアする。基板はこの動作を想定している。そうやって僕は信号が帰ってくるのを待つ。一旦信号が帰ってきたならば、それが反応の始まりだ。そして、エッジが立ち下がるの待つ。エッジが立ち上がりと立ち下がりの間の時間はソナーの反射音に対する距離に相当する。そして僕はこれを蓄積して外部に出力する。なぜかと言うと、これは1バイトよりも大きいからだ。 “Low”バイトと”Hi”バイトのデータを送る際に 僕の使っている裏ワザはフレーミングって言うんだ。 データを読み込むプログラムは、どちらのレベルが”Hi”か識別することができない。だから、僕はデータからは発生しない配列を送信するようにしている。具体的には”1234”と送る。この配列はどこが読み込みを開始する点なのかを通知する。そしてその後に”Low”バイトと”Hi”バイトを送るんだ。そして、僕はすべての処理を送らせて、データを蓄積する。そして、また読み込みを始める。 ところで、pythonプログラムもこれに非常によく似ている。シリアルポートを設定して、グラフィックスを設定して。そして”1234”の配列を読み込むまで待機する。そして”Low”バイトと”Hi”バイトを読み込む。 これをフィルタリングして少しスムーズにする。この変換は数μsで行われる。 その後、音速に関する数式を用いてセンチメートルに変換して、その数値を表示する。 受講者:先生、質問です。ビットとバイトの違いについて説明されてませんよね。あと、1から4の文字を送るってどういうことでしょうか? 一文字は8ビットのデータだ。だから、僕は8ビットのデータを扱う。まず、no.1の文字を8ビットで表現する。その後に、no.2 no.3 no.4と続けるんだ。 受講者:分かりました。 これは僕が行なっていることのほんの一部だ。 python stereoは読み込む文字を読み込む。僕は”Hi”と”Low”のバイトを読み込ませようとしている。もし、僕が1バイトのデータを送っただけだと、何のこっちゃか分からない。だから、数バイトの文字列を送るんだ。これによって、特定のシーケンスの処理中であることを知らせるフレーミングが可能となるんだ。 OK。そう言うわけで、距離を測定するための超音波センサについて説明した。反射が良い条件であれば、部屋の反対側まで検知することができる。しかし、一般的には1から2フィートの近距離の方が好ましい。そして、どの程度遠くを検知できるかは反射板がどのくらい反射しやすいかに依存する。 つづく 講義の目次は 【和訳版】FabAcademy 2016  からご覧ください。 ※この記事は FabAcademy 2016 におけるニール・ガーシェンフェルド教授(MIT)による講義動画をもとに作成しました。正確な訳ではないので間違っていたら指摘いただけるとありがたいです。          

閲覧数:15回0件のコメント

最新記事

すべて表示

Lesson 13. 出力デバイス §7. オーディオ

●オーディオ 次はオーディオについてだ。 これはインベントリにリストアップされている40セントの小型スピーカーだ。諸君はこれを用いて音を作ることができる。そうするためには、僕たちはここで電流のスイッチングを始めなくちゃならない。 つまり、それは僕らがMOSFETトランジスタを取り扱うということを意味する。 MOSFETのパフォーマンスは本当に素晴らしいものだ。技術者たちがしのぎを削って開発してきた

Lesson 13. 出力デバイス §6. 動画出力

●動画出力 次は動画についてだ。 この例では、テレビにテストパターンを表示させている。つまり、この例は動画の波形の生成以上のことは何にもしちゃいない。そうなんだけれども、僕はテストパターンをテレビに動画のアウトプットとして表示している。 何をやっているか説明しよう。これが基本的な波形だ。ビデオには多くのスタンダードが存在する。最もシンプルなものは、モノクロのものだ。そして、非常に特殊なタイミングと

Lesson 13. §5. 液晶ディスプレイ

●液晶ディスプレイ さて、3つ目の出力デバイスは非常に有用なものだ。 液晶ディスプレイ(LCD)だ。そして、これが液晶ディスプレイだ。ここにテキストを送っている例をお見せしよう。 このデバイスは非常に携帯性に優れている。だって、こうすりゃ諸君らのプロジェクトでもさ、文字を出力できるコンピュータを使わずして文書を表示できるんだからね。 でも、そうするにはどうすりゃ良いんだろう? これは16×2文字の

bottom of page