мы собираемся сделать этот проект arduino.
Вот необходимые компоненты:
Чтобы собрать музыкальный проигрыватель с помощью Arduino и зуммера, вам понадобятся следующие компоненты:
- Ардуино
- Батарея 5В
- Пассивный зуммер
- Спикер
Этот проект можно смоделировать с помощью Proteus 8. Вам не нужно загружать модуль пассивного зуммера, так как зуммер в Proteus работает нормально.
Схема для mp3-плеера только с Arduino и зуммером.
Код для mp3-плеера с Arduino.
инт дт = 100;
недействительная установка () {
pinMode(4, ВЫХОД); // устанавливаем пин для вывода зуммера
}
пустой цикл() {.
гудение(4, 440, 250); //А
гудение(4, 440, 250); //А
гудение(4, 392, 250); //Г
гудение(4, 440, 250); //А
гудение(4, 392, 250); //Г
гудение(4, 349, 250);//F
//1st
шум(4,523, 250);//С
гудение(4, 523, 250);//С
гудение(4, 440, 250); //А
гудение(4, 440, 250); //А
гудение(4, 440, 250); //А
гудение(4, 440, 250); //А
гудение(4, 440, 250); //А
гудение(4, 440, 250); //А
//2nd
гудение(4, 349, 250);//F
гудение(4, 349, 250);//F
гудение(4, 349, 250);//F
гудение(4, 349, 250);//F
гудение(4, 392, 250); //Г
гудение(4, 392, 250); //Г
гудение(4, 440, 250); //А
задержка (5);
//3rd
гудение(4, 349, 250);//F
гудение(4, 349, 250);//F
гудение(4, 349, 250);//F
гудение(4, 349, 250);//F
гудение(4, 392, 250); //Г
гудение(4, 440, 250); //А
гудение(4, 294, 250);//D
гудение(4, 262, 250);//С
//4th
гудение(4, 262, 250);//С
задержка (5);
гудение(4, 294, 250);//D
гудение(4, 262, 250);//С
гудение(4, 294, 250);//D
гудение(4, 262, 250);//С
гудение(4, 220, 250); //А
гудение(4, 220, 250); //А
задержка(250); // немного подождем между гудками
}
void buzz(int targetPin, длинная частота, длинная длина) {
длинное значение задержки = 250000/частота/2; // вычисляем значение задержки между переходами
//// 0,25 секунды равны микросекундам, делим на частоту, затем делим пополам, так как
//// в каждом цикле две фазы
long numCycles = частота * длина/250; // рассчитать количество циклов для правильной синхронизации
//// умножить частоту, которая на самом деле равна количеству циклов в секунду, на количество секунд для
//// получаем общее количество циклов для производства
for (long i=0; i ‹ numCycles; i++){ // для рассчитанного отрезка времени…
цифровая запись (целевой контакт, ВЫСОКИЙ); // запишем зуммер в высокий уровень, чтобы вытолкнуть диафрагму
задержка в микросекундах (значение задержки); // ждем рассчитанного значения задержки
цифровая запись (целевой контакт, НИЗКИЙ); // пишем низкий уровень сигнала зуммера, чтобы оттянуть диафрагму
задержка в микросекундах (значение задержки); // ожидание снова или рассчитанное значение задержки
}
}
если вам нужно объяснение, перейдите по ссылке: https://onlytronix.blogspot.com/.
Спасибо за вашу поддержку.
я также сделал видео на TikTok видео на нем: «onlytronix (@mericlre) | ТИК Так"