Hobby Science&Experiment

愛と工作の日々

趣味でやっている工作や勉強したことのメモ書きです。

Arduino

CO2センサー(MH-Z19B)をESP32のPWMで使用する

#define pwmPin 22 // Change this to the appropriate pin connected to the MH-Z19 PWM output int prevVal = LOW; long th, tl, h, l, ppm; void setup() { Serial.begin(115200); pinMode(pwmPin, INPUT); Serial.println("MH-Z19 is warming up now.");…

ESP32開発ボードでSwitchbot温湿度計のデータを取得する

これまではラズパイで2台のSwitchbot温湿度計のデータを取得していたのですが(Switchbot温度計とラズパイで快適IoTライフ - 愛と工作の日々)、より安価で低消費電力のESP32開発ボードの使用を検討しました。開発ボードはESP32-DevKitC-VE ESP32-WROVER-E開発…

Arduino分圧回路による抵抗測定(回路・プログラム)

ロガー代わりにArduinoで分圧回路を使うことが良くありますのでここにメモっておきます。n回積算の平均化も行っています。 原理 コード デジタルピンを分圧回路への電源供給に使っちゃってます。多分あんまりよくない方法です。 #define voltPin1 2 #define …

【Arduino MIDIドラムシーケンサ⑤】スイッチでテンポチェンジ、その他改良

前回はタクトスイッチでリズムパターン(チャンネル)の変更を行いました。テンポをトリムポットで調整するのはふら付きの問題があったため、今回はテンポをスイッチで変更できるようにしたいと思います。前回の記事で割り込みについて勉強したので、早速組み…

【Arduino MIDIドラムシーケンサ④】スイッチでリズムパターン切り替え

前回作成したドラムシーケンサでは1パターンのリズムしか演奏できませんでした。今回はタクトスイッチを使ってチャンネル1~4まで切り替えることで4種類のリズムパターンを演奏できるようにしてみました。 jakejake.hatenablog.com 配線 デジタルピンの3, …

【Arduino MIDIドラムシーケンサ③】LCD追加とトリムポットでBPM変更

前回作成したドラムシーケンサはBPMが固定であったため、BPMをトリムポットによって調整する機能を付けました。またLCD(液晶ディスプレイ)を追加することで現在のBPMを確認できるようにしました。KKHMF DC 5V 1602 LCD ディスプレイモジュール 16×2キャラク…

Arduinoで割り込みISR()を使うコード例(1)ボタン押下監視を割り込みで

Arduinoでタクトスイッチの押下を監視したいのですが、一回のloopが長い場合、degitalread(polling)の丁度いいタイミングでスイッチを押さないといけなかったりします。先日作ったドラムマシンが一回のループが長い典型例(1秒越え)でした。 そこでInterrupt…

Arduino MIDIドラムシーケンサ(Drum Sequencer)

前回の記事でArduino MIDI libraryを使ってDAWのドラムを鳴らしました。今度はそこにプログラミングを加えて、一定のドラムパターンで演奏させてみたいと思います。多分これがドラムシーケンサーってやつなんじゃないでしょうか。 jakejake.hatenablog.com …

Cool Arduino MIDI Projects

Arduino+MIDIのかっこいいプロジェクトを集めてみました。 LOOK MUM NO COMPUTERの工作は圧倒的ですね。工作過程も出してくれているので大変勉強になります。www.midi.orgwww.youtube.comhomemadegarbage.comwww.youtube.comwww.youtube.com https://www.lo…

Arduino UnoのMIDI LibraryでDAWのドラムパターンを鳴らす

Arduino MIDI Libraryを使ってDAWのドラムやシンセを鳴らす試みです。これが出来ればArduinoベースのMIDIコントローラーや電子ドラム、シンセなどが作れるようになるはずです。Arduino MIDI controller等で検索するとヒットするこのかっこいいプロジェクトの…

ほこりセンサー+M5StickCで室内ダスト濃度をモニタリング【Ambient】

前回の記事ではSHARPほこりセンサーGP2Y1010AUをArduino Unoで動作させました。実際の運用では長時間に渡る連続測定ログと、その瞬間の値をディスプレイ等で確認できると便利です。それらの目的を達するにはM5StickCが便利かと思い、試してみることにしまし…

SHARPほこりセンサーGP2Y1010AUをArduinoで動作させる

室内のほこり濃度を可視化して一定値を超えたら換気したりルンバで掃除したりするというスマートハウスの一機能を構想しています。まず第一歩としてホコリセンサーを触ってみることにしました。どの程度の感度があるのか、目的のような使い方が出来るのかを…

Arudino Nano + ミニUSBホストシールドを試す

前回の記事ではArduino UnoとUSBホストシールドを使用しましたが、デバイス小型化のためにArduino Nanoを用いることが出来ないかと考えました。探してみるとArduino Nanoで使えそうな「ミニUSBホストシールド(Mini USB Host Shield)」なるものが見つかりまし…

Zoomのマルチエフェクター用スイッチャーを作りたい(2)【部品調達】

前回記事の続きです。Zoomのマルチエフェクターを操作するスイッチャーを自作したいと考えています。再現可能そうなチュートリアルを見つけたのですが部品が高価で困っておりました。別アプローチ記事を新たに見つけたので記録しておきます。 USB Arduino Mi…

Zoomのマルチエフェクター用スイッチャーを作りたい【下調べ】

マルチストンプやGシリーズ等を始めとするZoomのマルチエフェクターは沢山のパッチを記憶できます。しかし使い方によっては特定の狙ったパッチをワンボタンで呼び出すことが難しいのが不便に感じるのではないでしょうか。外部入力のスイッチャー(フットスイ…

ESP32-WROOM-32DでDS18B20のアドレスを取得する

DS18B20はi-wire通信でデータを取得できる温度センサーです。防水プローブを入手したので、早速ESP32ボードで遊んでみたいと思います。

ESP-WROOM-32D開発ボードでSwitchbotを動作させる

ESP-WROOM-32D開発ボードとSwitchbotを動かしてみたいと思います。 前回のコードからM5StickC関係の部分を削除するだけで動作しました。 並列処理はまだ使い方が分からないので、スライドスイッチを利用してPIN 25がONであればスイッチボットが10秒に一回動…

M5StickCのボタンでSwitchbotを操作する

M5StickCのLチカに昨日成功ばかりの新参者ですが、本来の目的であるSwitchbotの操作に取り掛かって行きます。 M5StickC(ESP32チップ)でSwitchbotを操作しようと検索し、以下の2件を発見できました。 qiita.com dsas.blog.klab.org 一件目はなんとか動作しま…