Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Raspberry Pi Pico je poceni mikrokontrolerska plošča, ki začetnikom olajša začetek projektov elektronike in učenje kodiranja.

Za ta projekt se boste naučili brati analogni signal s potenciometra in ga pretvoriti v PWM (impulzno-širinska modulacija) signal za manipulacijo frekvence ali tona brenčala s pomočjo MicroPythona Koda.

Kateri deli so potrebni?

Ta projekt temelji na Kitronik Inventor's Kit za Raspberry Pi Pico. Vse zahtevane elektronske komponente so vključene v kompletu; vendar so to običajne komponente, ki jih morda imate naokoli:

  • Brenčalo piezo elementa
  • Vrtljivi potenciometer
  • 7x premostitvene žice moški-moški
  • Raspberry Pi Pico z spajkani zatiči glave GPIO
  • Breadboard

Če še niste spoznali pulzno-širinsko modulacijo (PWM) in potenciometre, si najprej oglejte naš vodnik o kako uporabljati potenciometer s svojim Raspberry Pi Pico, ki opisuje, kako ga uporabiti za prilagajanje svetlosti LED s PWM.

instagram viewer

Zahtevana montaža

Ena premostitvena žica (rumena na fotografiji) povezuje levo stran potenciometra s pozitivnim (+) tirnikom testne plošče. Druga premostitvena žica povezuje desno stran potenciometra z negativno (-) stranjo testne plošče. Od srednjega zatiča potenciometra boste morali napeljati premostitveno žico do zatiča GP26/A0 na Picu.

Piezo brenčalo bo moralo imeti eno žico, ki teče od njegovega negativnega kraka do negativne tirnice na mizi, nato pa drugo povezavo od pozitivnega kraka do zatiča GP15 na Raspberry Pi Pico.

Prav tako boste morali napeljati premostitveno žico od zatiča GND na Picu do negativne tirnice na testni plošči, da jo ozemljite. Druga premostitvena žica bo povezala izhodni zatič 3V3 na Picu s pozitivnim tirnikom testne plošče za napajanje komponent.

Ustvari kodo

Kodo lahko prevzamete iz MUO GitHub repozitorij. Prenesite datoteko MicroPython z imenom piezo-brenčalo.py in nato to naložite na svoj Pico prek računalnika, povezanega z USB, ki izvaja Thonny IDE. Preverite, kako začnite uporabljati MicroPython na Raspberry Pi Pico za podrobnosti.

Različni deli kode naredijo naslednje:

  • Na vrhu uvozimo zahtevano stroj, matematika, in čas Moduli MicroPython.
  • A brenčalo spremenljivka je nato dodeljena na pin GP15 kot izhod PWM.
  • A potenciometer spremenljivka je dodeljena analogno-digitalnemu pretvorniku (ADC) na Picovem zatiču GP26/A0.
  • Definiramo a obseg () funkcija, ki uporablja matematične funkcije za pretvorbo obsega gibanja potenciometra v izhod za brenčalo.
  • The medtem ko: res neskončna zanka prebere vhod potenciometra in nato uporabi lestvica funkcijo za pretvorbo. Ko preveri, da se ni preveč spremenila od prejšnje frekvence, nato pošlje izračunano pogostost na brenčalo z uporabo PWM (impulzno-širinska modulacija).

Če povzamemo, na sekundo je poslanih na stotine impulzov in ton brenčala se spreminja med 120 Hz in 5 kHz, ko potenciometer obračate v smeri urinega kazalca ali nasprotni smeri urinega kazalca. Z vrtenjem potenciometra se spremeni napetost, ki jo odčita Picov analogni vhodni zatič, ki se nato uporablja za prilagajanje frekvence brenčala s pomočjo PWM.

Zaženite kodo iz Thonnyja (kliknite ikono za predvajanje ali pritisnite F5 na tipkovnici) in jo preizkusite sami. Ali bodo po vaši prvi vožnji kakršne koli spremembe kode vplivale na fizične rezultate? Na primer, kaj se zgodi, če spremenite obseg (0 do 65535)? Ta del kode se nahaja tik spodaj medtem ko je res: kje za pogostost je definiran.

Nastavitev tona

Če ste željni avanture, boste morda želeli poskusiti uporabiti brenčalo za ustvarjanje glasbenih tonov z uporabo martinkooijevih pi-piko-toni knjižnica na GitHubu. Privzeto bo ta knjižnica ustvarila sinusne valove; štirje generatorji tonov lahko delujejo na štirih različnih zatičih Pico, po vaši izbiri. Upoštevajte, da ta projekt temelji na C++ z uporabo Raspberry Pi Pico SDK in ne na MicroPythonu, vendar so vsa navodila podana v datoteki Readme za GitHub.

Buzz Pico Electronics

Čestitamo: naučili ste se brati analogni vhod s potenciometra in ga pretvoriti v signal PWM za nadzor zvoka brenčala. Potenciometer je vsestranska vhodna naprava za elektroniko. Piezo brenčalo je še ena priročna komponenta: z dodatkom infrardečega senzorja gibanja PIR lahko na primer zaznate prisotnost vsiljivcev in sprožite alarm.