Arduino入門
Air Quality ブザーに関する API とサンプルプログラム。
#include <M5Unified.h> #define BUZZER_PIN G9 // 音符の周波数#define NOTE_C4 262#define NOTE_D4 294#define NOTE_E4 330#define NOTE_F4 349#define NOTE_G4 392#define NOTE_A4 440 // メロディと拍(「きらきら星」の最初の14音)int melody[] = { NOTE_C4, NOTE_C4, NOTE_G4, NOTE_G4, NOTE_A4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_F4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_C4};int noteDurations[] = { 4,4,4,4,4,4,2, 4,4,4,4,4,4,2}; void setup() { // M5Unified を初期化 M5.begin(); // 画面をクリアし、テキストプロパティを設定 M5.Display.clear(TFT_BLACK); M5.Display.setTextSize(2); M5.Display.setTextColor(TFT_WHITE, TFT_BLACK); // 画面に英語のタイトルを表示 M5.Display.setCursor( 20, 20); M5.Display.print("Playing:"); M5.Display.setCursor( 20, 60); M5.Display.print("Twinkle Twinkle"); M5.Display.setCursor( 20, 100); M5.Display.print("Little Star"); pinMode(BUZZER_PIN, OUTPUT);} void loop() { int notes = sizeof(melody) / sizeof(melody[0]); for (int i = 0; i < notes; i++) { // 現在の音符を再生 int duration = 1000 / noteDurations[i]; tone(BUZZER_PIN, melody[i], duration); delay(duration * 1.2); noTone(BUZZER_PIN); M5.update(); } // 演奏終了後、最後の音で止まる。ループ再生する場合はコメントアウトを解除:// while (true) {// delay(1000);// }}
アップロード後、「きらきら星」がループ再生される次のような効果が表示されます: