Raspberry Pi Pico — это недорогая плата микроконтроллера, которая позволяет новичкам легко начать работу с электронными проектами и научиться программировать.
В этом проекте вы узнаете, как считывать аналоговый сигнал с потенциометра и преобразовывать его в ШИМ. (широтно-импульсная модуляция) сигнал для управления частотой или тоном зуммера с помощью MicroPython код.
Какие запчасти нужны?
Этот проект основан на Kitronik Inventor's Kit для Raspberry Pi Pico. Все необходимые электронные компоненты входят в комплект; однако это общие компоненты, которые могут лежать у вас под рукой:
- Зуммер пьезоэлемента
- Поворотный потенциометр
- 7x перемычек типа «папа-папа»
- Малиновый Пи Пико с припаянные контакты разъема GPIO
- Макет
Если вы не знакомы с широтно-импульсной модуляцией (ШИМ) и потенциометрами, сначала ознакомьтесь с нашим руководством по
как использовать потенциометр с Raspberry Pi Pico, в котором описано, как использовать его для регулировки яркости светодиода с помощью ШИМ.Требуемая сборка
Одна перемычка (желтая на фото) соединяет левую сторону потенциометра с положительной (+) шиной макетной платы. Другая перемычка соединяет правую сторону потенциометра с отрицательной (-) стороной макетной платы. От среднего контакта потенциометра вам нужно будет подключить перемычку к контакту GP26/A0 на Pico.
Пьезозуммер должен иметь один провод, идущий от его отрицательной ножки к отрицательной планке макета, а затем еще один провод от его положительной ножки к контакту GP15 на Raspberry Pi Pico.
Вам также потребуется проложить перемычку от контакта GND на Pico к отрицательной шине на макетной плате, чтобы заземлить ее. Другая перемычка соединит контакт 3V3 Out на Pico с положительной шиной макетной платы для питания компонентов.
Создайте код
Вы можете взять код из Репозиторий MUO на GitHub. Загрузите файл MicroPython с именем пьезо-зуммер.py а затем загрузите это на свой Pico через подключенный через USB компьютер с Thonny IDE. Узнайте, как начать работу с MicroPython на Raspberry Pi Pico для деталей.
Различные части кода делают следующее:
- Вверху импортируем необходимые машина, математика, и время Модули MicroPython.
- А зуммер Затем переменная назначается контакту GP15 в качестве выхода ШИМ.
- А потенциометр переменная назначается аналого-цифровому преобразователю (АЦП) на выводе Pico GP26/A0.
- Мы определяем шкала() функция, которая использует математические функции для преобразования диапазона движения потенциометра в выходной сигнал для зуммера.
- пока: правда бесконечный цикл считывает вход потенциометра, затем использует шкала функция для его преобразования. Убедившись, что она не слишком сильно изменилась по сравнению с предыдущей частотой, он отправляет рассчитанную частота на зуммер с помощью ШИМ (широтно-импульсной модуляции).
Таким образом, в секунду отправляются сотни импульсов, и тон зуммера будет меняться между 120 Гц и 5 кГц при повороте потенциометра по часовой стрелке или против часовой стрелки. Вращение потенциометра изменяет напряжение, считываемое аналоговым входом Pico, которое, в свою очередь, используется для регулировки частоты зуммера с помощью ШИМ.
Запустите код от Thonny (щелкните значок воспроизведения или нажмите F5 на клавиатуре) и попробуйте сами. Повлияют ли какие-либо изменения кода на физические результаты после первого запуска? Например, что произойдет, если вы измените диапазон (от 0 до 65535)? Эта часть кода расположена чуть ниже пока верно: где частота определено.
Настройка тона
Если вы чувствуете себя авантюрно, вы можете попробовать использовать зуммер для создания музыкальных тонов с помощью martinkooij. пи-пико-тона библиотека на GitHub. По умолчанию эта библиотека будет генерировать синусоидальные волны; четыре тональных генератора могут работать на четырех разных выводах Pico по вашему выбору. Обратите внимание, что этот проект основан на C++ с использованием Raspberry Pi Pico SDK, а не MicroPython, но полные инструкции приведены в файле readme GitHub.
Шум от Pico Electronics
Поздравляем: вы научились считывать аналоговый вход с потенциометра и преобразовывать его в ШИМ-сигнал для управления тоном зуммера. Потенциометр является универсальным устройством ввода для электроники. Еще одним удобным компонентом является пьезозуммер: например, с добавлением инфракрасного датчика движения PIR вы можете обнаружить присутствие злоумышленников и подать сигнал тревоги.