M5StickC + SPK HAT の組み合わせでは、速いモールスが出せなかったので。
今日はその解決のため、GPIO 直接でブザーを鳴らしてみました。
結論を先に言うと、
GPIO でブザーをオン/オフするだけなので、いくらでも速いモールスが出力できます。
Grove 接続だと楽チンなので、今回は seeed の Grove Buzzer を使ってみました。
アキバで普通に売ってるもので、確か千石電商で買ったような・・・。
このブザーは I2C じゃありません。
4番目の信号線(黄色)を、IO 制御で使います。
M5StickC の Grove 端子の左から4番目が G33(GPIO)です。
ブザーは、この G33 をオン/オフすることで鳴らすことができます。
ブザーは、前回の Blockly プログラムを少し修正するだけで鳴らすことができます。
:
:
ブロックの先頭で GPIO33 が使えるようにピンモードを出力に設定し、プログラム最後にある関数で短点、長点の長さだけ出力をオン(1)します。
dot_speed は、SPK HAT を使った前回のプログラムの 200ms から 50ms に変更してみましたが、イイ感じで動作しました。
ただし、このブザーの周波数は 2300±300Hz と、モールス音としては高過ぎるということ。
それと、音もバカでかくて、実測すると 100dB 近くもあったりするので、夜間のモールス練習には不向だし、ちょっとダメダメって感じです。
ということで、今回は GPIO でブザーを鳴らしてみましたが、モールス練習機として使うには、音の周波数が高すぎるといった課題が残ってしまいました。
やっぱり、発振回路は別基板として用意するのが順当だと・・・そう、確信しました。
さて、これから Twin-T 回路+音量 VR が一緒になった基板製作に向けた構想を練ることにします。