Happy Birthday на пьезодинамике
БесплатноАвтор подтвердил проверку на оборудовании.
Компоненты
- Arduino UNO
- Пьезодинамик
- Макетная плата - 400 контактов
- Соединительные провода
Описание
Данный проект представляет собой простую музыкальную шкатулку на базе платы Arduino UNO, воспроизводящую популярную мелодию «Happy Birthday to You» через пьезодинамик.
Проект идеально подходит для начинающих, так как использует минимальное количество деталей и не требует пайка.
Инструкция по сборке:
1. Вставьте пьезодинамик в макетную плату.
2. Подключите минусовой (черный) вывод пьезодинамика к контакту GND на Arduino.
3. Подключите плюсовой (красный/желтый) вывод пьезодинамика к цифровому пину 8 на Arduino.
4. Подключите Arduino к компьютеру и загрузите скетч 12.ino. Мелодия начнет проигрываться сразу после загрузки.
Сборка и проверка
- Подключите черный провод пьезодинамика к выводу GND на плате Arduino.
- Подключите красный провод пьезодинамика к цифровому пину 8 на плате Arduino.
- Загрузите скетч (12.ino) на плату Arduino.
Код
#define BUZZER_PIN 8 // Ноты и их частоты #define NOTE_C4 262 #define NOTE_D4 294 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_G4 392 #define NOTE_A4 440 #define NOTE_A4S 466 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_D5 587 // Мелодия Happy Birthday int melody[] = { NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_F4, NOTE_E4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_F4, NOTE_C4, NOTE_C4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_A4S, NOTE_A4S, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4 }; // Длительность нот (4 = четвертная нота, 8 = восьмая, 2 = половинная) int noteDurations[] = { 8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 4, 2, 8, 8, 4, 4, 4, 2 }; void setup() { pinMode(BUZZER_PIN, OUTPUT); int totalNotes = sizeof(melody) / sizeof(melody[0]); for (int thisNote = 0; thisNote < totalNotes; thisNote++) { int noteDuration = 1000 / noteDurations[thisNote]; tone(BUZZER_PIN, melody[thisNote], noteDuration); int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); noTone(BUZZER_PIN); } } void loop() { // Повтор воспроизведения раз в 5 секунд delay(5000); int totalNotes = sizeof(melody) / sizeof(melody[0]); for (int thisNote = 0; thisNote < totalNotes; thisNote++) { int noteDuration = 1000 / noteDurations[thisNote]; tone(BUZZER_PIN, melody[thisNote], noteDuration); int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); noTone(BUZZER_PIN); } }
Комментарии и оценки
Похожие проекты
Мониторинг растений
ПлатноДанный проект представляет собой умную систему мониторинга состояния растений на базе микроконтроллера Arduino UNO. Система считывает темпе
Arduino UNOДатчик влажности почвыДатчик температуры и влажности DHT11ЖК-дисплей 128x64 (I2C)
Монитор влажности почвы
БесплатноИнтеллектуальная система мониторинга растений разработана на базе Arduino Uno R3 для измерения влажности почвы, температуры и влажности возд
Arduino UNOLEDх2I2C oleddht датчик
Avtomaticheskiy poliv rasteniy
ПлатноProekt avtomaticheskogo poliva rasteniy na baze plat Arduino Nano 33 IoT, emkostnogo datchika vlajnosti pochvy v1.2, rele i vodyanogo nasosa
Arduino Nano 33 IoTEmkostnoy datchik vlajnosti pochvy v1.2Releynyy modul 1-kanalnyyVodyanoy nasos 12V