はじめに
なんとなく鳴らしてみたくなったので。
やり方
有難いことに譜面を公開されている方がいらっしゃいました。これを参考にします。
マクドナルドのポテト完成音の譜面をどうぞ。 pic.twitter.com/pCaUMFv1pk
— 事務員G (@ZimuinG) April 3, 2013
Arduino は Nano を使いましたが、Tone() が使えるボードなら何でも構いません。
See also:
配線
ブザー | Arduino |
---|---|
+ | D3 |
GND | GND |
See also:
スケッチ
Arduino のチュートリアルにある 『Play a Melody using the tone() function』 のコードをパクって作ります。
FrenchFries.ino
#include "pitches.h"
static const int tempo = 130;
static const float duration = 60000 / tempo * 4;
int melody[] = {
NOTE_G5, NOTE_FS5, NOTE_G5, 0
};
int noteDurations[] = {
8, 8, 8, 8
};
#define PIN_SPEAKER 3
void setup() {
}
void loop() {
for (int i = 0; i < sizeof(melody) / sizeof(int); i++) {
int noteDuration = duration / noteDurations[i];
tone(PIN_SPEAKER, melody[i], noteDuration);
delay(noteDuration);
noTone(PIN_SPEAKER);
}
}
pitches.h
も忘れずにパクっておきましょう。
tone() / noTone() の (最初の) 引数はスピーカーのピンです。Arduboy なら PIN_SPEAKER_1
Wio Terminal なら WIO_BUZZER
定数を使って鳴らせると思います。
See also:
実行
スケッチが転送されると問答無用で鳴り出します。ブザーを抜けば鳴り止みます、お手軽ですね!
「パラッパッパッパー...♪」
いえ、そっちじゃないです。
おわりに
環境音がウルサイので (動画が撮れないので) 、実際に鳴っている動画とかはありません。