テクノ手芸 – 音に反応するネコ

声をかけると目が光りシッポをブルブルさせるフェルトのネコです。

R0014918s

R0014916s

主な部品
Arduino Nano (5V 16MHz)互換ボード
SPW2430搭載 シリコンMEMSマイクモジュール
円盤型 振動モーター(2個入)
導電糸

配線
マイクDC出力:A0
LED+:D5, D9
LED-:D12 (GND) 導電糸引き回し軽減のため
振動モーター:D3

スケッチ(Mic_DelayedReaction-nano12f)

ノイズ除去のために3回測定して中央値をデータとします。そのデータを要素100のdata[]に格納します。100個のデータから標準偏差を計算して音の大きさとします。

音に対するLEDと振動モーターの反応は、音を受けて間を置いてLEDが光り、さらに遅れて振動モーターが動作するようにしています。音の大きさを要素50個のtimeShift[]にリングバッファー状に格納します。LEDと振動モーターのデータは指標をシフトさせて読み込みます。

振動モーターが振動した音をマイクが拾って反応が止まらなくなりますので、要素30個のvibHistory[]に振動モーターへの出力を記録して振動モーターの動作中は音を格納しないようにします。

 

ESP8266気象ユニット(1) – 温湿度・気圧センサー

温湿度・気圧センサーモジュールBME280から温度、湿度、気圧データを取得します。

使用する主なもの
ESP-WROOM-02ピッチ変換済みモジュール《フル版》
BME280使用 温湿度・気圧センサモジュールキット
FT231X USBシリアル変換モジュール

接続
ESP-WROOM-02 ———- 接続先
3V3 ———- 3.3V電源
EN ———- Pull UP
IO14 ———- NC
IO12 ———- NC
IO13 ———- LED+ (LED-は100Ω経由GND)
IO15 ———- Pull DOWN
IO2 ———- NC
IO0 ———- DTR# (FT231X)

GND ———- GND
IO16 ———- NC
TOUT ———- NC
RST ———- 書き込み時 RTS# (FT231X)/実行時 NC
IO5 ———- SCK (BME280)
TXD ———- RXD (FT231X)
RXD ———- TXD (FT231X)
IO4 ———- SDI (BME280)

電源
3端子レギュレーター (NJU723F33 3.3V 500mA)
Pin 1 ———-3.3V出力 (GNDと0.1μFセラミックコンデンサ)
Pin 2 ———-外部電源入力(バッテリーなど) (GNDと0.1μFセラミックコンデンサ)
Pin 3 ———-GND

Arduino IDEの設定
スイッチサイエンスの記事「ESP-WROOM-02開発ボードをArduino IDEで開発する方法」参照

スケッチの書き込みと実行
書き込み時はRSTにRTS# (FT231X)を接続、実行時はRSTはNCで電源OFF-ON

R0015091s

出力例
Temp=28.64
Humidity=55.35
Pressure=989.70

 

WiFiサウンドセンサー

ヘッドフォンをかけていたり、大きめの音で音楽を聴いていると玄関のお客さんに気がつかないことがありますね。WiFiサウンドセンサーは離れた場所の物音や振動をマイクで検知して、LEDの光で知らせてくれます。

R0014992s
R0015003s

主な部品
「Board1 ver.1.0」ESP-WROOM-02搭載モジュール:2個
マイコン内蔵RGB 5mmLED:2個
SPW2430搭載 シリコンMEMSマイクモジュール:1個

受信側のスケッチ

送信側のスケッチ