【M5Stack】MQ-3でアルコールチェッカー製作とは?
基礎・基本を学ぶ

No.179 長谷川正の「言ったモン勝ち」


令和5年12月よりアルコールチェックが義務化

「今年の12月から運転前のアルコールチェックをしないといけないみたい」
先日、そんな話を総務課から聞いた。いろいろと調べてみると、どうやら「道路交通法施行規則」の第9条が改正され、我々一般企業(いわゆる白ナンバー)でも営業車を運転する前に酒気を帯びていないかのチェックを行い、記録簿を残す必要があるらしい。それって当社もする必要ある?どの車が対象?誰が誰をチェックするの?罰則はあるの?と様々な疑問が残りますが、詳しいことは東海電子が運営しているこちらのサイトが分かりやすいので参考にしてください。

マイコンとセンサでアルコール検知器を自作

酒気を帯びているかどうかの検知にはアルコールチェッカーが必須のため、ネットで検索してみると安くてお手軽なものが数多く出回っています。ですが、「これって自作できるんじゃね?」と思ってしまう今日この頃。当社ではIoT勉強会としてマイコンとセンサーを学んでいるところですので、試してみる価値はありそうです。なお、用意した部品は以下の通り。

・M5Stack BASIC V2.7
・MQ-3センサモジュール
・ジャンパワイヤー

デジタル出力とアナログ出力

今回勉強になったことは、センサ出力にはデジタルとアナログの2種類があることをしっかり区別することです。今回のアルコールを検知するMQ-3センサの場合、デジタルの場合はdigitalRead()関数にて「アルコールを帯びている」「帯びていない」の2種類(0もしくは1)を出力し、アナログの場合はanalogRead()関数によってアルコールが検知された濃度を、0から電源電圧(Vcc)を範囲内とする電圧値(0~Vcc[V])として出力していきます。アナログの場合、ADコンバータ(ADC:Analog Digital Conversion)機能が備わっていれば、センサからアナログ出力された電圧値がビット数に分解されたAD変換値(離散値)に変換されています。例えば、電源電圧(Vcc)が5[V]、10ビットのADコンバータであれば、下の表のようにアナログ出力された電圧値が、最も近似している1024通りのAD変換値に置き換わるわけです。(下の表では0~1023の1024通り、通り数の計算は2の10乗)

ちなみに、今回使用しているM5StackのADコンバータ(ADC:Analog Digital Conversion)は12ビットですので、0~4095の4096通り、通り数の計算は2の12乗です。下記の表を参照願います。

M5Stackでの入力ピンの選定

センサ出力をデジタルにするかアナログにするかを決めたら、次はM5Stackでの入力ピンを選定します。例えば、センサのアナログ電圧出力を上記のAD変換値に置き換える場合、M5Stackのスケッチにアナログ入力(ADC)ピンを設定する必要があります。ちなみに、ADCの機能を持っているのは4つのピン(2番、26番、35番、36番)となります。また、他のピンの機能に関しては下記の対応表を参照してください。こちらは「ロジカラブログ」を参考に作成しています。とても分かりやすい秀逸ブログで非常に重宝しています。

実際にセンサを動かしてみたのは以下の写真です。オレンジ色のセンサ部分に息を吹きかけてみるとANA value値(AD変換値)が上下し、閾値以上になるとDIGI value値が「0」となり、アルコールが検知された状態「Sensing」が表示され、同時に基板裏側の緑色LEDが点灯しました。この「閾値」は、センサ基板裏の青い「感度調整VR」をドライバーで回せば調整可能です。

下から見た配線の様子。それぞれVCC→5V、GND→G、DO→5、AO→35に接続しています。

スケッチは以下の通りになります。今回、アナログ入力(35番ピン)とデジタル入力(5番ピン)の両方を接続していますが、いずれかどちらかだけでも問題ありません。

センサの出力電圧とマイコンの入力電圧を揃えよう

なお、前述した通りM5StackのADコンバータ(ADC)は12ビットなので0から4095のAD変換値にて、検知したアルコール濃度を数値で表記しています。ところで、上記の写真ではその値が中心値よりも高い「2086」を指しているってことは、つまり既に自分がアルコール臭い?と思ってしまいました。ですが、これは私の知識が不足しているためでしょう。通常は、センサの出力電圧(MQ-3では5[V])とマイコンの入力電圧(M5stackでは3.3[V])を外付け抵抗などを追加して同一に揃える必要があるのかな? それともエージングの時間が足りないのかな?

参考)【M5Stack】NTPサーバーから時間情報を取得する方法とは?
参考)【M5Stack】Ambientにてデータを見える化する方法とは?
参考)【M5Stack】異常検知を自作パトライトで通報とは?
参考)長谷川製作所の得意技術(防水照明器具製造)


*工事不要、誰でも手軽に提灯を飾ろう!
提灯コードのイメージ
*提灯コード動画始めました。
提灯コードの動画
*国内唯一のプラスチックを膨らませる技術
「アクリルグローブ」
テラリウム

関連記事

TOP