# Arduino でマク〇ナルドのあの音を鳴らしてみる --- tags: Arduino created_at: 2020-09-13 updated_at: 2020-09-13 --- # はじめに なんとなく鳴らしてみたくなったので。 # やり方 有難いことに譜面を公開されている方がいらっしゃいました。これを参考にします。

マクドナルドのポテト完成音の譜面をどうぞ。 pic.twitter.com/pCaUMFv1pk

— 事務員G (@ZimuinG) April 3, 2013
Arduino は Nano を使いましたが、Tone() が使えるボードなら何でも構いません。 **See also:** - [Arduino Nano (Arduino.cc)](https://www.arduino.cc/en/Main/ArduinoBoardNano) - [Arduino Nano (ht-deko.com)](https://ht-deko.com/arduino/nano.html) - [tone() (Arduino.cc)](https://www.arduino.cc/reference/en/language/functions/advanced-io/tone/) ## 配線 パッシブブザーをブッ挿すだけです。お手軽ですね! ![image.png](./images/46d87307-9489-ad13-5738-dbef6713faf6.png) | ブザー | Arduino | |:---:|:---:| | + | D3 | | GND | GND | **See also:** - [Chapter 7: Buzzer - Arduino UNO チュートリアル: サインスマートのプロジェクト練習教本 (ht-deko.com)](https://ht-deko.com/arduino/uno_tutorial2.html#02_02_07) ## スケッチ Arduino のチュートリアルにある [『Play a Melody using the tone() function』](https://www.arduino.cc/en/Tutorial/ToneMelody) のコードをパクって作ります。 ```cpp: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:** - [Arduboy (ht-deko.com)](https://ht-deko.com/arduino/arduboy.html) - [[応用] Arduboy 互換機 (Arduboy Clone) (ht-deko.com)](https://ht-deko.com/arduino/arduboy_clone.html) - [Wio Terminal (ht-deko.com)](https://ht-deko.com/arduino/wio_terminal.html) ## 実行 スケッチが転送されると問答無用で鳴り出します。ブザーを抜けば鳴り止みます、お手軽ですね! **「パラッパッパッパー...♪」** いえ、そっちじゃないです。 # おわりに 環境音がウルサイので (動画が撮れないので) 、実際に鳴っている動画とかはありません。