次回以降の開催の予定(タップ or クリックすると開くよ)

次回以降の開催予定のCoderDojo岐阜は以下の日程で参加申込と開催を行う予定です。

参加申し込みの前に必ず参加の際のルールなどをご確認ください。

参加申し込み開始2024年5月18日(土)9時〜 (開催日より1週間前日)
開催日時・場所2024年5月25日(土)
時間:9時30分〜11時30分
場所:みんなの森 ぎふメディアコスモス かんがえるスタジオ

[Arduino]ESP32マイコンで電子リコーダを作る 第2回

  • -
    コピー

MPRLS 気圧センサモジュールのテスト

気圧センサのテストを行います。静電容量センサのときと同様に、マイコン(ESP32)とは電源(Vin,GND)と2本の通信線(SCL,SDA)の4本を接続するだけです。

図のように静電容量センサを接続したままで、さらに気圧センサを数珠つなぎに接続することができます。I2Cはセンサ側にアドレスを設定することで、マイコンは同じラインに数珠つなぎに接続されたセンサとそれぞれ通信することができます。

静電容量センサ、気圧センサは購入時のそのままの状態では、静電容量センサは0x5A、気圧センサは0x18になっています。

0x5Aは16進数表記です。10進数にすると90になります。16進数で表現するときには、先頭に0xを付加します。コンピュータの世界ではしばしば16進数を使用しますので、ウェブサイト等で調べて勉強しておくことをおすすめします。

気圧センサはパイプ状になっており、ここにチューブを接続して息を吹き込んで圧力を加えることができるようにします。このチューブは金魚のエアーポンプ(ブクブク)の接続チューブです。「スイサク スリムチューブ1.5M」という製品で、ホームセンタで入手しました。

この気圧センサも静電容量センサと同じく、Adafruit社製で、ホームページにチュートリアルがあります。
https://learn.adafruit.com/adafruit-mprls-ported-pressure-sensor-breakout

静電容量センサのときと同じく、Arduino IDE(開発ツール)で
「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」
メニューを開きます。

ライブラリマネージャーが開きます。
検索欄に「Adafruit MPRLS」と入力すると、Adafruit MPRLSライブラリが出てきますので、「インストール」ボタンをクリックします。

インストール確認画面が開きます。
「Install all」ボタンをクリックします。

インストールが完了すると、Adafruit MPRLSライブラリが「INSTALLED」と表示されます。
これでライブラリの準備は完了です。
「閉じる」をクリックしてライブラリマネージャを閉じます。

Adafruit MPRLSライブラリをインストールすると、プログラム例(スケッチ例)も用意されます。

「ファイル」→「スケッチ例」をクリックすると、いろいろなプログラム例が表示されます。この中から「Adafruit MPRLS Library」→「mprls_simpletest」を選択します。

テストプログラムが開きます。「スケッチ」→「マイコンボードに書き込む」でコンパイルしてマイコンボードに書き込みます。

コンパイル&マイコンボードへの書き込みが成功したら、シリアルモニタを使って、センサの状態を取得できていることを確認します。

「ツール」→「シリアルモニタ」でシリアルモニタを開きます。

テストプログラムではSerial.begin(115200);と記述されており、通信速度が115200bpsで動作しますので、シリアルモニタの通信速度を「115200bps」にします。

マイコンボードをリセットすると、プログラムが起動し、MPRLS Simple Testと表示されます。
センサとの接続に成功すると「Fount MPRLS sensor」と表示されます。

一定間隔で現在の圧力値が(hPa)ヘクトパスカルと(PSI)ポンド/平方インチで表示されます。ヘクトパスカルは天気予報で良く聞く圧力の単位です。日本の平均的な気圧は1013ヘクトパスカルです。(標高や天気で変化します。)PSIはアメリカで使用されている圧力の単位で、日本ではあまりなじみが無いですが、航空機の世界ではよく使われています。

チューブの先から息を吹き込んで圧力を加えると、シリアルモニタに表示される圧力が大きくなります。
左図では赤矢印部分で数値が大きくなっていることがわかります。

音を出すための圧電スピーカを接続する

圧電スピーカ(圧電サウンダ)

マイコンボードを使って音を出すため、一番簡単な方法である圧電スピーカ(圧電サウンダとも言います)を接続します。よく見る普通のスピーカは音を出すために電磁力を使用していますので、ある程度の電流が必要であるため、マイコンボードに直接接続することができません。

一方、圧電スピーカは普通のスピーカとは異なり、セラミックスの圧電効果を使用して音を出してします。抵抗値がとても大きくほとんど電流が流れません。そのため、マイコンボードの出力に直接接続して音を出すことができます。

圧電スピーカの黒線(マイナス)をGNDへ接続して、赤線(プラス)をESP32のIO25へ接続します。

ESP32マイコンにはPWM(Pulse Width Modulation)機能を内蔵しています。PWMは上図①のようにOFF(0V)とON(EP32の場合は3.3V)の任意の方形波を出力することができます。出力周期を変更すると②のようにON/OFF周期が変わります。また、①と周期は同じままで、OFF時間とON時間の比率(ヂューティと言います)を変えると③のように波形を変化させることができます。

今回は音を鳴らすためですので、ヂューティは50%(1:1)のままで、周期のみを変化させます。周期が大きいときには低い音、周期が小さいときには高い音になります。

これで、指扱いを検出する「タッチセンサ」、息を吹き込む圧力を検出する「気圧センサ」、そして音を鳴らす「圧電スピーカ」と、電子リコーダの構成に必要なものがそろいました。
次回はこれらを使って電子リコーダを実現するためのプログラミングをしていきます。

  • -
    コピー

この記事を書いた人

アバター

かとう あきのり

半導体製造・検査装置メーカでエンジニアしています。制御ソフトウェア作成がメインですがハード設計もやります。休日はDIYか庭のバラの手入れをしています。