Help us understand the problem. What is going on with this article?

M5StickC + Speaker Hat で音を出す

動機など

先日 M5StickC を購入した際、合わせて買っていた「Speaker Hat」を使ってみようとサンプルコードを開いてみたものの、公式のスケッチサンプルが仰々しく(?)、私の手には余るものだったので、とりあえず音を出すにはどうしたらいいかを調べることにしました。

音を出す方法

参考にしたサイト

最終的にこちらの説明やソースがわかりやすかったです。

M5Stack の内蔵スピーカーから Beep 音(電子音)を出す実験(mgo-tec電子工作)

ポイントだと思ったところ

  • SPEAKER HAT で音を出すのに使うのは26番ピン
  • 音を出すのには dacWrite() 関数が使える。
  • 調べたところ、これ以外にも方法はありそう。参考→ESP-WROOM-32に関するTIPSの中にある「DAC(アナログ出力)」「PWM等」の部分
  • 音量を調整しようとしたら、ひとまずdacWrite()を使うことになるのかも。

ソースコード

これで「プー」と1回鳴ります。

#define GPIO_PIN 26 //SPEAKER HATの出力は26番ピン

// スピーカーの音量調整。
uint8_t beepVolume = 50;

// とりあえず1回だけ鳴らすために、setup()の中に書いた

void setup() {
  for (int i = 0; i <= 1000; i++) {
    dacWrite(GPIO_PIN, 0);
    delayMicroseconds(500);
    dacWrite(GPIO_PIN, beepVolume);
    delayMicroseconds(500);
  }
}

感想など

とりあえずこれで、M5StickC+SPEAKER HATで「音を出す仕組みの基本」みたいなところはわかりました。
それにしても、ノイズがかなり出ます。使い方によっては気になると思いますが、今回はひとまず音が出たのでよしとします。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした