Пищание активным зуммером
Поскольку вы уже знаете, как работает активный зуммер, заставить его пищать можно просто включая и выключая вывод GPIO. В этом упражнении мы подаём питание на зуммер через вывод GPIO, ждём короткое время, выключаем и повторяем. Так получается отчётливый звуковой сигнал.
Note
Этот пример предназначен для активного зуммера. Если использовать пассивный, звук может быть странным или нестабильным. Выполняйте это упражнение только с активным зуммером.
Требования к оборудованию
- Активный зуммер
- Перемычки (female-to-male или male-to-male, в зависимости от вашей схемы)
Проект из шаблона
Создайте новый проект. Чтобы его настроить, выполните:
cargo generate --git https://github.com/ImplFerris/pico2-template.git --tag v0.3.2
Когда появится запрос, задайте проекту имя, например «active-beep», и выберите embassy в качестве HAL.
Основная логика
Убедитесь, что зуммер подключён к GPIO 15. Вывод переключается каждые 500 миллисекунд, чтобы включать и выключать зуммер.
#![allow(unused)]
fn main() {
let mut buzzer = Output::new(p.PIN_15, Level::Low);
loop {
buzzer.set_high();
Timer::after_millis(500).await;
buzzer.set_low();
Timer::after_millis(500).await;
}
}
Клонируйте существующий проект
Можно клонировать (или использовать как образец) проект, который я создал, и перейти в папку active-beep.
git clone https://github.com/ImplFerris/pico2-embassy-projects
cd pico2-embassy-projects/active-beep