Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

Raspberry Pi Pico yra nebrangi mikrovaldiklio plokštė, kuri leidžia pradedantiesiems lengvai pradėti su elektronikos projektais ir išmokti koduoti.

Šiam projektui išmoksite nuskaityti analoginį signalą iš potenciometro ir konvertuoti jį į PWM (impulso pločio moduliacija) signalas, skirtas manipuliuoti garsinio signalo dažniu arba tonu, naudojant MicroPython kodas.

Kokių dalių reikia?

Šis projektas yra pagrįstas Kitronik išradėjo rinkinys Raspberry Pi Pico. Į komplektą įeina visi reikalingi elektroniniai komponentai; tačiau tai yra įprasti komponentai, kuriuos galite gulėti šalia:

  • Pjezo elementų garsinis signalas
  • Sukamasis potenciometras
  • 7x vyriški-vyriški trumpikliai
  • Raspberry Pi Pico su lituoti GPIO antraštės kaiščiai
  • Bandomoji Lenta

Jei pirmą kartą naudojate impulsų pločio moduliaciją (PWM) ir potenciometrus, pirmiausia peržiūrėkite mūsų vadovą

kaip naudoti potenciometrą su Raspberry Pi Pico, kuriame aprašoma, kaip jį naudoti norint reguliuoti šviesos diodo ryškumą naudojant PWM.

Reikalingas surinkimas

Vienas trumpiklis (nuotraukoje geltonas) jungia kairę potenciometro pusę su teigiamu (+) duonos lentos bėgeliu. Kitas trumpiklis jungia dešinę potenciometro pusę su neigiama (-) duonos lentos puse. Nuo vidurinio potenciometro kaiščio turėsite nuvesti trumpiklį iki Pico GP26/A0 kaiščio.

Pjezo garsiakalbis turės turėti vieną laidą, einantį nuo neigiamos kojos iki neigiamos plokštės bėgelio, o tada kitą jungtį nuo teigiamos kojos iki Raspberry Pi Pico GP15 kaiščio.

Taip pat turėsite nutiesti trumpiklio laidą nuo Pico GND kaiščio iki neigiamo bėgelio ant duonos lentos, kad jį įžemintumėte. Kitas trumpiklis prijungs „Pico“ 3V3 išvesties kaištį prie teigiamo duonos lentos bėgio, kad būtų tiekiamas komponentų maitinimas.

Sukurkite kodą

Kodą galite paimti iš MUO GitHub saugykla. Atsisiųskite MicroPython failą pavadinimu piezo-buzzer.py tada įkelkite jį į savo Pico per USB prijungtą kompiuterį, kuriame veikia Thonny IDE. Patikrinkite, kaip pradėkite naudoti „MicroPython“ Raspberry Pi Pico dėl detalių.

Įvairios kodo dalys atlieka šiuos veiksmus:

  • Viršuje importuojame reikiamą mašina, matematika, ir laikas MicroPython moduliai.
  • A garsinis signalas kintamasis tada priskiriamas GP15 kaiščiui kaip PWM išvestis.
  • A potenciometras kintamasis yra priskirtas analoginio į skaitmeninį keitiklį (ADC) Pico GP26/A0 kaištyje.
  • Mes apibrėžiame a skalė() funkcija, kuri naudoja matematines funkcijas potenciometro judėjimo diapazonui konvertuoti į garsinio signalo išvestį.
  • The o: Tiesa begalinis ciklas nuskaito potenciometro įvestį, tada naudoja skalė funkcija jį konvertuoti. Patikrinęs, ar jis per daug nepasikeitė nuo ankstesnio dažnio, siunčia apskaičiuotą dažnis į garsinį signalą naudojant PWM (impulso pločio moduliaciją).

Apibendrinant galima pasakyti, kad per sekundę siunčiama šimtai impulsų, o potenciometrą sukant pagal laikrodžio rodyklę arba prieš laikrodžio rodyklę, signalo tonas pasislenka tarp 120 Hz ir 5 kHz. Sukant potenciometrą keičiama įtampa, kurią nuskaito Pico analoginis įvesties kaištis, kuris savo ruožtu naudojamas garsinio signalo dažniui reguliuoti naudojant PWM.

Paleiskite kodą iš Thonny (spustelėkite paleidimo piktogramą arba paspauskite F5 klaviatūroje) ir išbandykite patys. Ar po pirmojo paleidimo bet kokie kodo pakeitimai turės įtakos fiziniams rezultatams? Pavyzdžiui, kas atsitiks, jei pakeisite diapazonas (nuo 0 iki 65535)? Ši kodo dalis yra žemiau kol tiesa: kur dažnis yra apibrėžta.

Tono nustatymas

Jei trokštate nuotykių, galite pabandyti naudoti garsinį signalą, kad generuotumėte muzikinius tonus naudodami Martinkooij's pi-pico-tonai biblioteka „GitHub“. Pagal numatytuosius nustatymus ši biblioteka generuos sinusines bangas; keturių tonų generatoriai gali veikti su keturiais skirtingais Pico kaiščiais, kuriuos galite pasirinkti. Atkreipkite dėmesį, kad šis projektas yra pagrįstas C++, naudojant Raspberry Pi Pico SDK, o ne MicroPython, tačiau visos instrukcijos pateikiamos „GitHub readme“.

„Pico Electronics“ triukšmas

Sveikiname: išmokote nuskaityti analoginę įvestį iš potenciometro ir konvertuoti ją į PWM signalą, kad galėtumėte valdyti garsinio signalo toną. Potenciometras yra universalus elektronikos įvesties įrenginys. Pjezo garsinis signalas yra dar vienas patogus komponentas: pavyzdžiui, pridėję PIR infraraudonųjų spindulių judesio jutiklį, galite aptikti įsibrovėlių buvimą ir skambėti pavojaus signalu.