『オルゴールっぽいもの』に続くArduinoでサウンド系第3弾...と言っても、これもオリジナリティはゼロ。
Arduinoによる音楽再生にあたり、Arduino Playgroundから『8-bit, 8000 Hz audio playback on a PC speaker.』を使わせて頂きました。
第2弾『FMmelody再生』で述べた通り、書き換えはできませんが、SRAMより容量のあるフラッシュメモリにデータを書き込むPROGMEM、スピーカーのフォーンプラグにプラス・マイナスを通電すれば、Arduinoからでもスピーカー出力できるという2点の覚えたてホヤホヤ情報を使いました。
この『PCMAudio』については、圧電ブザーと普通の(と言ってもここでは100均の)スピーカーでは、別物と思うほど、全く違って聴こえた...と思ったら、圧電スピーカーの方は雑音・ノイズが入っている模様(パスコンなど対策もあるでしょうが、あるならスピーカーで聴くのが手っ取り早い)。
このPCMAudioは、1〜2秒、「じゃーん」(100均スピーカーの音、パッシブブザーでは雑音が多い)という音が鳴るだけですが、tone()関数による単音とは明らかに違う音色を聴くことができます。
必要になるのは、Arduinoボードと外付けスピーカーやパッシブ(圧電)ブザー、ブレッドボードと圧電ブザーならジャンパワイヤは要るか要らないかという程度。(もちろん、USBケーブルとPC、Arduino IDEもしくは代替も要るけど。)
オリジナルのスケッチ通りなら、D11とGNDを圧電ブザーまたは、スピーカーのプラス・マイナスに接続、スケッチアップロード済みで電源を入れたArduinoボードのリセットスイッチを押すだけ
ちなみにスケッチのコメントに[For Arduino with Atmega168 at 16 MHz.]とありますが、もちろん、上位モデルのAtmega328/Atmega328P 16MHzでも問題ありません。
今回も前回同様、圧電ブザーと音量ボリューム調整機能もない100均セリアの1個でモノラル、2個でステレオになるスピーカー(≒スピーカー型ヘッドホン)で再生してみました。
前述の通り、これを試すなら、雑音のないワニグチクリップでつないだスピーカーの方が無難。