死蔵品復活プロジェクト。
ほこりセンサGP2Y1010AU
随分昔から秋月で販売されていた(現在は終売)シャープ製ほこりセンサ。
感度もそれほど高くなく飽和値も低いのですが、ほこりのレベル表示ぐらいであれば実用になるだろうと思い、か・な・り昔に購入していた死蔵品を引っ張り出してきました。
基本的な原理は測定部を通過する際に光源から照射された光を反射するものがあればダスト粒子と見なして計測します。出力はアナログ出力なのでマイコンで測定値を表示するよりもレベルメータなどのハードウェアで表示した方が手取り早いかもしれません。
測定方法は10ms間隔で0.32ms幅のパルスで測定用LEDを点灯。点灯開始から0.28msの時点でのセンサ出力を測定値としてサンプリングします。
GitHubにあったsharp_gp2y1014au0f_demoを元にテスト。
コードとしては結構力技的な方法で測定しています。LEDオン後0.28ms待ち、待ち終わるとA/Dを行ってLEDをオフにし、その後10ms後までのウェイトをすると言うループ構造になっていました。このセンサーにかかりきりなって良いのであればこのコードで構いませんが他のセンサーの入力も処理する必要があるのであれば他の手法を用いる必要があります。タイマー割り込みで10ms間隔でLEDをオンにするとかでしょうか。
とりあえずテストした内容をベースに組み上げていきます。