Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Raspberry Pi Pico е евтина микроконтролерна платка, която улеснява начинаещите да започнат с електронни проекти и да се научат как да кодират.

За този проект ще научите как да четете аналогов сигнал от потенциометър и да го конвертирате в ШИМ (импулсно-широчинна модулация) сигнал за манипулиране на честотата или тона на зумер с помощта на MicroPython код.

Какви части са необходими?

Този проект се основава на Kitronik Inventor's Kit за Raspberry Pi Pico. Всички необходими електронни компоненти са включени в комплекта; това обаче са общи компоненти, които може да имате наоколо:

  • Пиезо елемент зумер
  • Ротационен потенциометър
  • 7x мъжки-мъжки джъмпери
  • Raspberry Pi Pico с запоени GPIO заглавни щифтове
  • Бредборд

Ако не сте запознати с широчинно-импулсната модулация (PWM) и потенциометрите, първо вижте нашето ръководство за как да използвате потенциометър с вашия Raspberry Pi Pico

instagram viewer
, който очертава как да го използвате за регулиране на яркостта на светодиод с ШИМ.

Задължителен монтаж

Един мостов проводник (жълт на снимката) свързва лявата страна на потенциометъра към положителната (+) релса на макетната платка. Друг джъмперен проводник свързва дясната страна на потенциометъра с отрицателната (-) страна на макетната платка. От средния щифт на потенциометъра ще трябва да прекарате джъмперен проводник към щифта 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 като ШИМ изход.
  • А потенциометър променливата се присвоява на аналогово-цифровия преобразувател (ADC) на щифта GP26/A0 на Pico.
  • Ние определяме a мащаб() функция, която използва математически функции за преобразуване на диапазона на движение на потенциометъра в изход за зумера.
  • The докато: Вярно безкраен цикъл чете входа на потенциометъра, след което използва мащаб функция за преобразуването му. След като провери дали не се е променила твърде много от предишната честота, той изпраща изчислената честота към зумера с помощта на PWM (широчинно-импулсна модулация).

В обобщение, има стотици импулси, които се изпращат в секунда и тонът на зумера ще се измества между 120Hz и 5kHz, когато потенциометърът се завърти по или обратно на часовниковата стрелка. Завъртането на потенциометъра променя напрежението, което се чете от аналоговия входен щифт на Pico, който от своя страна се използва за регулиране на честотата на зумера с помощта на ШИМ.

Стартирайте кода от Thonny (щракнете върху иконата за възпроизвеждане или натиснете F5 на вашата клавиатура) и го изпробвайте сами. След първото ви пускане някакви промени в кода ще повлияят ли на физическите резултати? Например, какво се случва, ако промените диапазон (0 до 65535)? Тази част от кода се намира точно отдолу докато е вярно: където честота е дефинирано.

Настройка на тона

Ако се чувствате приключенски настроени, може да искате да опитате да използвате зумера, за да генерирате музикални тонове с помощта на martinkooij пи-пико-тонове библиотека в GitHub. По подразбиране тази библиотека ще генерира синусоиди; четири генератора на тонове могат да работят на четири различни Pico пина, както можете да изберете. Обърнете внимание, че този проект е базиран на C++ с помощта на Raspberry Pi Pico SDK, а не на MicroPython, но пълните инструкции са дадени в readme на GitHub.

Бръмченето на Pico Electronics

Поздравления: научихте как да четете аналоговия вход от потенциометър и да го преобразувате в PWM сигнал, за да контролирате зумер. Потенциометърът е универсално входно устройство за електроника. Пиезо зумерът е друг удобен компонент: с добавянето на PIR инфрачервен сензор за движение, например, можете да откриете присъствието на нарушители и да включите алармата.