ラベル センサー の投稿を表示しています。 すべての投稿を表示
ラベル センサー の投稿を表示しています。 すべての投稿を表示

日曜日, 1月 14, 2018

Arduino: 光と音で警告するマウス

作ってみました。ここは当然の如く3Dプリンターで。IR距離センサーで反応します。

近づくと光と音で警告します。

フルカラーLEDで通常は青、反応すると赤、しばらくは緑が点灯します。

LEDが赤で点灯中は振動モーターで鳴ってくれます。

ケースは丸く作ったのですが思い直して両側を削って作りました。

のっかってる赤トンボは愛嬌です(頭でバランスがとれてます)。


こんな感じで動きます。




このプログラムは音声センサまでついてますが、写真のマウスは距離センサだけです(なくても動きます)。


木曜日, 11月 23, 2017

Arduino: アナログからデジタルへ

大抵のセンサーの出力はアナログです。光セル、音声マイク、赤外線距離センサーなど。Arduino ならアナログでもアナログ端子があるので使えるんですが、これを割り込み操作で使おうと思うとデジタルな値が欲しい場合があります。

オペアンプでセンサーの出力をデジタル化できます。



この回路は赤外線距離センサーの出力を増幅し、オペアンプでコンパレータ回路を実現したものです。基準値は非反転入力で調整します。

これでアナログの束縛から解放されますね。

割り込みを使った Arduino 用のプログラムはこちらです。

土曜日, 10月 15, 2016

Arduino: 温度・湿度データロガー

ロボットを作るっていうのはエンジニアとしてはかなり究極な夢だと思います。

人間の能力を超えていてもいいんですが、発想というのはどうしても考える人間を基準としてしまうんですよね。

人らしさを備えたロボットっていうのは理想っぽいんではないかと思います。

あまり人間らしいと気味悪がられるわけですが、ちゃんとした研究があって、適度な人らしさというのがいいんだそうです。

でもここはロボットを作る(日本の)技術は人助けだといいたいですよね。

最新科学技術の粋であるところのロボットで人間らしさを取り戻す。

ここのところ米メディアで騒がれているロボットアームの技術というのがあります。

 まひした手にロボットアームで触覚を取り戻す! 米国防総省の研究機関が実験に成功

精巧なロボットアームと脳をつなぎ、失った腕の感覚を取り戻すという画期的な技術なわけですが、いいですね。

こういう研究があって、しかも政府とメディアが取り上げてくれる。エンジニアとしてはありがたい存在だと思います。



夢を大きく持ったところで、しまってあった Arduino を取り出して、温度・湿度データロガーを作ってみました。

... ちょっと格差が大きいですね。でもちゃんと出来たのでアップします。

土曜日, 7月 09, 2016

Arduino: 赤外線距離センサー


赤外線距離センサーとは、赤外線LEDとフォトトランジスタを組み合わせ、反射してくる赤外線を測ることで距離を測るものです。



距離センサーというと超音波を使うものなどありますが、赤外線距離センサはまとめて売られている赤外線LEDとフォトトランジスタさえあればそのままセンサが量産できます。

LEDへの電流を制限する抵抗の値が小さいと発熱するので気を付ける必要があります。

人間の目は赤外線を検出できませんが、CCDであれば赤外線LEDが光っているのが分かります。



このセンサをモジュール化してみました。以下使ってみて気づいたことです。



このセンサは計測する物体が赤外線を反射しなければ使えません。白っぽければ反応しますが、そうでなければだめです。それはまだいいんですが…

このセンサーは赤外線を検出する方式ですので、赤外線がどこかほかからくればそれで反応します。つまり、太陽光のもとでは使えないってことです。

ライン・トレーサーなどで使われるのがこの赤外線距離センサーです。目的が限られてますね。注意しましょう。

水曜日, 5月 18, 2016

Arduino: シリアル通信(IIS)

Arduino Uno はそこそこピン数があります。7セグでもつなげてしまうほどピン数が多いわけですが、線の多いのは困りものです。場所を取るし配線がやっかいです。配線が多いのはうざいってだけではなく、配線を調べねばならないというだけで作ろうという雰囲気をぶち壊してくれます。

そこでシリアル通信なる方法を使います。効率よくデータを送受信できます。Arduino 用モジュールとして売られているセンサーなどはそもそもシリアル通信でのみ通信できるようなものも多いです。

先日頼んでおいた加速度センサーでシリアル通信(IIC)を使ってデータを読み込んでみました。Arduino 標準の Wire.h ライブラリを使ってアドレスを指定し、データを読み込みます。配線は Vcc (5V), GND, SDA (Pin 4), SCL (Pin 5), CS (5V)。


アドレス、モード指定、レジスタ番地などはデータシートなどを参照する必要があります。ここで引っかかったのはモード指定で、データシートを見ても指定しなければならないということがなかなか読めない。

書き込みは多いモジュールなので、どうやら動くよう設定することができました。以下コードです。

木曜日, 4月 28, 2016

Arduino: 温度湿度センサー DHT11

温度湿度センサー DHT11 が今日届きました。

中国からだといつ届くかわからないこの意外性が贈り物みたいでいいですね。

このセンサー精度がどうとかいう記述があって、迷っていたのですが結局買ってしまいました。

いいですね。きちんと動きます。Arduino のおかげです。書き込みが多くて世界中の人間が使っているのが分かります。

ピン配置は左から Vcc, Data, NC, GND です。5k ほどのプルアップ抵抗が必要です。

ライブラリをダウンロードして、読み込むときちんと表示されました。もちろん、配線を間違えると動きません。アナログ入力ピンなどとつなぐとだめです。


 読み込めてうれしいところでくだんの有機ELディスプレイとつないでみました。

このハードルの低さ。情報の多さ、完成度の高さ。Arduino ですね。


ブレッドボードでは心もとないので、DHTモジュールをつくっておきました。あとはいつもの百均ケースで収まってくれました。

土曜日, 2月 20, 2016

Arudino: オペアンプを使ってマイクを作る

コンデンサマイク
極性があります


コンデンサマイクがようやく届きました。モジュールではないのでそのままでは信号が弱いので使えません。信号を増幅する必要があります。

ちょっとした手間ですが、首尾よく動いてくれました。この回路の応用で、使えるマイクが出来ます。



増幅回路ですが、ここではオペアンプを使ってみました。仕組みはともかく、オペアンプってのは便利です。使ってみると実感があります。つなぐ抵抗値で信号の増幅できます。

電源とGNDをつなぎ、ー(マイナス)入力ピンとマイクを抵抗を介してつなぎ、出力ピンと抵抗をつなぎます。この抵抗の比が増幅率となります。入力が交流であるため、抵抗で+(プラス)入力ピンの電圧を調整します。

マイクと電源をつなぎ、入力をコンデンサを介してつなぐとこれで回路が完成します。



Arduino のアナログ入力ピンとつなぎ、電源とGNDを供給してやると音声を電気信号として読み取ることができます。


これだけ増幅できるなら、ということでPCのマイク端子とつないでみました。と、マイクとして使えます。Skype が動きます。


Arduino で電気回路として実現、しかも実用として使えるというこの流れ。知識が実用となったという実感。大きく広がる世界と可能性。

Arduino っていいなあと思った次第でした。

以下、部品リストです。

C1    Capacitor
MIC1    Microphone
Part1    Arduino Uno (Rev3)
R1    100kΩ Resistor
R2    100kΩ Resistor
R3    1kΩ Resistor
R4    100kΩ Resistor
R5    10kΩ Resistor
U1    LM358

#補足です。ノイズがのるので電源を USB から供給してはなりません。

月曜日, 1月 11, 2016

Arduino: 距離センサーを使ってみる

超音波距離センサモジュールが届きました。さっそく使ってみます。Arduino の出番です。

モジュールとなっているこのセンサーはトリガー・ピンへパルス信号を送り、反射して帰ってくる超音波をエコーから取得します。

取得した値から距離を計算します。

計算してみるとなかなか正確な距離が出ています。

ここでは近づくとブザーで警告するよう設定してみました。


日曜日, 1月 10, 2016

Arduino: 赤外線リモコンでランプを点灯する

リレーを使った Arduino タイマー回路はちゃんと動いてくれました。使える回路ってのはいいですね。動機とか目的とかいうものがあって使うたびうれしいものです。

極性があります

このたび赤外線センサーを使って遠隔操作できるよう組み直してみました。なかなか便利です。

リモコンはカメラのものを転用しました。まず、コードを取得します。 IRremote というライブラリで信号を解析します。

このライブラリが曲者で、zip ファイルを登録するわけなのですが、もとある RobotIRremote なるライブラリとぶつかるらしく、そのままではコンパイルできません。

こいつはデフォルトのライブラリなので、Program Files (x86) 下の Arduino フォルダの RobotIRremote を取り除く必要があります。もしライブラリをインストールしてしまっていれば、Arduino ドキュメントフォルダ下のローカル・ライブラリの Arduino-IRremote-master を削除し、IDE を再起動です。


ここでライブラリを再インストールすると動きます。サンプルコードの IRecvDump など使い、リモートの信号を解析し、コードを取得します。

コードを取得すればあとは条件分岐でリレーを作動させます。

回路・プログラムが正しければ「カチッ」という音がして、ランプが点灯するはずです。100Vを扱うわけなので注意が必要です。あと、赤外線センサーの足の極性はそれぞれ異なるのできちんと調べる必要があります。


さっそくブレッドボード版 Arduino で組んでみました。

電源を組んで、Atmega328P を配置して、リレーモジュールを組んで、100V 電源から線をとってきて、赤外線センサーをつなぎます。

いつもの百均ケースでぴったりです。


土曜日, 1月 09, 2016

Arduino: 赤外線で動きを感知するセンサー PIR HC-SR501 を使ってみる


赤外線で動きを感知するセンサー PIR というものがあります。手を振るとスイッチがはいるやつですね。赤外線の変化を察知して FET で増幅するという部品です。その信号を増幅する回路が Arduino モジュールとなっています。

これ HC-SR501 届いたのはいいんですがなかなか動いてくれない。動かない回路っていうのはなんかものすごくショックなものです。気落ちするというかトーンが下がるというか。

HC-SR501 ピン配置はカバーを外さないと見えません。

電源を通してアナログ出力を見てみると目の前で手を振ってみても値がぜんぜん変わらない。デジタル出力してみると HIGH となったまま、LEDがついたまま。

絶望の末しようがないのでネットをあたりました。フォーラムを見てみれば「これは動くはず」「難しくない」「壊れない」「丈夫」と書いてあったり(笑

これって安定するまで時間がかかるんですね。

つないでみて手を振って動かない、じゃあ回路を変えてみて手を振って動かない、なんてことを繰り返していくともう絶対動かない。安定化するまで数分待たねばなりません。


あとこれ可変抵抗がついていて、電圧が下がるまでの時間とか、感度とかいうのが調整できるわけでした。設定次第ですぐ ON となり電圧がなかなか下がらない。

このへんをクリアするときちんと動きました。アナログじゃなくてデジタル入力で組む必要があります。なかなかいいものです。手を振ると点灯してくれます。


あとあと考えてみると「動くはず」と信じてトライしたのがよかったわけですね。ネットでそう書いていなかったらあきらめてしまうところでした。

せっかく動いたので消すのが惜しくなりました。そこでチップを取り出してブレッドボード版 Arduino で動かしてみました。Arduino ならではの利点ですね。

この大きさだとこのあいだ見つけた百均のケースがぴったりです。


プラスチックケースは大きさを油性マーカーで印をつけて、ホットナイフを使うとスイスイと切れます。

電源ソケットをエポキシ樹脂で固めて、電源を供給してやると…



 動きました。うまく収まってます。手を振ると点灯してくれます。なかなかいいものです。





火曜日, 1月 05, 2016

Arduino: ホール素子を使ってみる

今日ホール素子が届きました。

ホール素子ってのはホール効果を利用して磁場を感知するセンサーです。

iPad のケースとか、閉じると電源が切れてくれますよね。ケースのカバーの磁石の磁場をホール素子が感知してるわけです。



さっそくホール素子を使ってみよう!電圧の変化を調べてみよう!と思えば Arduino が大活躍です。ブレッドボードで回路を組んで、Arduino を USB ケーブルで接続してプログラムを転送すればいい。

Arduino がなかったら死蔵しちゃうんじゃないかと思ったわけでした。忙しいし。Arduino だとサンプル・プログラムがそのまま使えます。電圧を調べてみました。磁石を近づけると電圧が下がります。

あとはLEDを光らせてみました。動画でどうぞ。


あとはモジュール化するだけですね。

ユニバーサル基板の切れ端を使って Arduino 用ホール素子モジュールを作ってみました。

モジュールだと回路や規格など調べ直す必要がありません。

その分、使ってみようという敷居が低くなります。


Flask の Blueprint のテンプレート問題

  Flask の Blueprint は、ルート、静的ファイル、テンプレートをまとめて管理できます。しかし、テンプレートが指定できません。 ここでは、Blueprint の template_folder の問題点と回避策を説明します。 Blueprint のテンプレート問題...