Raspberry Pi Pico on odav mikrokontrolleri plaat, mis muudab algajatel elektroonikaprojektidega alustamise ja kodeerimise õppimise lihtsaks.
Selle projekti jaoks saate teada, kuidas lugeda potentsiomeetrilt analoogsignaali ja teisendada see PWM-iks (impulsi laiuse modulatsioon) signaal sumisti sageduse või tooniga manipuleerimiseks MicroPythoni abil kood.
Milliseid osi on vaja?
See projekt põhineb Kitronik leiutajakomplekt Raspberry Pi Pico jaoks. Kõik vajalikud elektroonilised komponendid on komplektis; need on aga tavalised komponendid, mis teil võib olla:
- Piesoelemendi sumisti
- Pöörlev potentsiomeeter
- 7x isane-isane hüppaja juhtmed
- Raspberry Pi Pico koos joodetud GPIO päise tihvtid
- Leivalaud
Kui te pole impulsi laiusmodulatsiooni (PWM) ja potentsiomeetrite alal uus, vaadake esmalt meie juhendit kuidas kasutada potentsiomeetrit oma Raspberry Pi Picoga, milles kirjeldatakse, kuidas seda PWM-iga LED-i heleduse reguleerimiseks kasutada.
Nõutav kokkupanek
Üks ühendusjuhe (fotol kollane) ühendab potentsiomeetri vasaku külje leivalaua positiivse (+) siiniga. Teine hüppaja juhe ühendab potentsiomeetri parema külje leivaplaadi negatiivse (-) küljega. Potentsiomeetri keskmisest tihvtist peate vedama hüppaja juhtme Pico GP26/A0 viiguni.
Piesosummeril peab olema üks juhe, mis läheb negatiivsest jalast negatiivse leivaplaadi siinile ja seejärel teine ühendus selle positiivsest jalast Raspberry Pi Pico GP15 kontaktiga.
Selle maandamiseks peate juhtima ka ühendusjuhtme Pico GND-tihvtilt leivaplaadi negatiivse siini külge. Teine ühendusjuhe ühendab Pico 3V3 väljundtihvti leivaplaadi positiivse siiniga, et toita komponente.
Looge kood
Koodi saate hankida aadressilt MUO GitHubi hoidla. Laadige alla MicroPythoni fail nimega piezo-buzzer.py ja seejärel laadige see oma Picosse USB-ühendusega arvuti kaudu, milles töötab Thonny IDE. Uurige, kuidas alustage MicroPythoniga Raspberry Pi Picos üksikasjade saamiseks.
Koodi erinevad osad teevad järgmist.
- Ülaosas impordime vajaliku masin, matemaatikaja aega MicroPython moodulid.
- A helisignaal muutuja määratakse seejärel viigule GP15 PWM-väljundina.
- A potentsiomeeter muutuja on määratud Pico GP26/A0 kontakti analoog-digitaalmuundurile (ADC).
- Me määratleme a kaal() funktsioon, mis kasutab matemaatilisi funktsioone, et teisendada potentsiomeetri liikumise ulatus helisignaali väljundiks.
- The samas: tõsi lõpmatu tsükkel loeb potentsiomeetri sisendit, seejärel kasutab kaal funktsioon selle teisendamiseks. Pärast kontrollimist, et see pole eelmisest sagedusest liiga palju muutunud, saadab see arvutatud sagedus sumistile PWM-i (impulsi laiuse modulatsiooni) abil.
Kokkuvõtteks võib öelda, et sekundis saadetakse sadu impulsse ja potentsiomeetri pööramisel päri- või vastupäeva nihkub potentsiomeetrit 120 Hz ja 5 kHz vahel. Potentsiomeetri pööramine muudab pinget, mida loeb Pico analoogsisendi viik, mida omakorda kasutatakse PWM-i abil helisignaali sageduse reguleerimiseks.
Käivitage Thonny kood (klõpsake esitusikooni või vajutage F5 klaviatuuril) ja proovige seda ise. Kas pärast esimest käitamist mõjutavad kõik koodimuudatused füüsilisi tulemusi? Näiteks, mis juhtub, kui muudate ulatus (0 kuni 65535)? See koodi osa asub allpool samas tõsi: kus on sagedus on määratletud.
Tooni määramine
Kui tunnete end seiklushimulisena, võiksite proovida martinkooij's muusikaliste toonide genereerimiseks sumistit. pi-pico-toonid raamatukogu GitHubis. Vaikimisi genereerib see teek siinuslaineid; neli toonigeneraatorit võivad töötada nelja erineva Pico tihvtiga, nagu saate valida. Pange tähele, et see projekt põhineb C++-l, kasutades Raspberry Pi Pico SDK-d, mitte MicroPythonit, kuid täielikud juhised on antud GitHubi readme-s.
Pico Electronicsi sumin
Õnnitleme: olete õppinud, kuidas lugeda potentsiomeetri analoogsisendit ja teisendada see PWM-signaaliks, et juhtida helisignaali. Potentsiomeeter on elektroonika mitmekülgne sisendseade. Piesosummer on veel üks mugav komponent: näiteks PIR-infrapuna liikumisanduri lisamisega saate tuvastada sissetungijate olemasolu ja anda häiret.