Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Raspberry Pi Pico ir zemu izmaksu mikrokontrollera plate, kas ļauj iesācējiem viegli sākt darbu ar elektronikas projektiem un iemācīties kodēt.

Šajā projektā jūs uzzināsit, kā nolasīt analogo signālu no potenciometra un pārvērst to par PWM (impulsa platuma modulācija) signāls, lai ar MicroPython palīdzību manipulētu ar skaņas signāla frekvenci vai toni kodu.

Kādas daļas ir vajadzīgas?

Šis projekts ir balstīts uz Kitronik izgudrotāju komplekts Raspberry Pi Pico. Visas nepieciešamās elektroniskās sastāvdaļas ir iekļautas komplektā; tomēr šīs ir izplatītas sastāvdaļas, kuras jūs, iespējams, guļat:

  • Pjezo elementu skaņas signāls
  • Rotējošais potenciometrs
  • 7x Vīriešu-vīriešu džemperu vadi
  • Raspberry Pi Pico ar lodētas GPIO galvenes tapas
  • Maizes dēlis

Ja esat iesācējs impulsa platuma modulācijas (PWM) un potenciometru lietošanā, vispirms izlasiet mūsu rokasgrāmatu par

instagram viewer
kā lietot potenciometru ar Raspberry Pi Pico, kurā ir aprakstīts, kā to izmantot, lai pielāgotu gaismas diodes spilgtumu ar PWM.

Nepieciešamā montāža

Viens džempera vads (dzeltens fotoattēlā) savieno potenciometra kreiso pusi ar maizes dēļa pozitīvo (+) sliedi. Vēl viens džempera vads savieno potenciometra labo pusi ar maizes paneļa negatīvo (-) pusi. No potenciometra vidējās tapas jums būs jāvada džemperis līdz Pico GP26/A0 tapai.

Pjezo skaņas signālam būs nepieciešams viens vads, kas iet no tā negatīvās kājas uz negatīvo maizes paneļa sliedi, un pēc tam vēl viens savienojums no tā pozitīvās kājas uz Raspberry Pi Pico GP15 tapu.

Lai to iezemētu, jums būs arī jāvada pārejas vads no Pico GND tapas uz negatīvo sliedi uz maizes paneļa. Cits džempera vads savienos Pico 3V3 izejas tapu ar maizes paneļa pozitīvo sliedi, lai nodrošinātu komponentu barošanu.

Izveidojiet kodu

Jūs varat paņemt kodu no MUO GitHub repozitorijs. Lejupielādējiet MicroPython failu ar nosaukumu piezo-buzzer.py un pēc tam ielādējiet to savā Pico, izmantojot USB savienotu datoru, kurā darbojas Thonny IDE. Pārbaudiet, kā sāciet darbu ar MicroPython uz Raspberry Pi Pico sīkākai informācijai.

Dažādas koda daļas veic šādas darbības:

  • Augšpusē mēs importējam nepieciešamo mašīna, matemātika, un laiks MicroPython moduļi.
  • A zummers mainīgais pēc tam tiek piešķirts kontaktam GP15 kā PWM izeja.
  • A potenciometrs mainīgais ir piešķirts analogo-digitālo pārveidotājam (ADC) Pico GP26/A0 kontaktā.
  • Mēs definējam a mērogs () funkcija, kas izmanto matemātiskās funkcijas, lai pārveidotu potenciometra kustības diapazonu par skaņas signāla izvadi.
  • The kamēr: Taisnība bezgalīga cilpa nolasa potenciometra ievadi, pēc tam izmanto mērogs funkcija, lai to pārveidotu. Pārbaudot, vai tas nav pārāk mainījies no iepriekšējās frekvences, tas nosūta aprēķināto biežums uz skaņas signālu, izmantojot PWM (impulsa platuma modulāciju).

Rezumējot, sekundē tiek sūtīti simtiem impulsu, un zummera signāls mainīsies no 120Hz līdz 5kHz, kad potenciometrs tiek pagriezts pulksteņrādītāja virzienā vai pretēji pulksteņrādītāja virzienam. Potenciometra rotēšana maina spriegumu, ko nolasa Pico analogās ievades tapa, kas savukārt tiek izmantota skaņas signāla frekvences regulēšanai, izmantojot PWM.

Palaidiet kodu no Thonny (noklikšķiniet uz atskaņošanas ikonas vai nospiediet F5 uz tastatūras) un izmēģiniet to pats. Vai pēc pirmās palaišanas koda izmaiņas ietekmēs fiziskos rezultātus? Piemēram, kas notiek, ja maināt diapazons (no 0 līdz 65535)? Šī koda daļa atrodas tieši zemāk kamēr patiesība: kur biežums ir definēts.

Toņa iestatīšana

Ja jūtaties piedzīvojumu kārs, varat mēģināt izmantot skaņas signālu, lai ģenerētu mūzikas signālus, izmantojot Martinkooij's pi-piko-toņi bibliotēka vietnē GitHub. Pēc noklusējuma šī bibliotēka ģenerēs sinusa viļņus; četru toņu ģeneratori var darboties ar četrām dažādām Pico tapām, kā jūs varat izvēlēties. Ņemiet vērā, ka šis projekts ir balstīts uz C++, izmantojot Raspberry Pi Pico SDK, nevis MicroPython, taču visi norādījumi ir sniegti GitHub readme.

Pico Electronics buzz

Apsveicam! Jūs esat iemācījušies nolasīt potenciometra analogo ieeju un pārvērst to PWM signālā, lai kontrolētu zummera signālu. Potenciometrs ir daudzpusīga elektronikas ievades ierīce. Pjezo skaņas signāls ir vēl viens ērts komponents: piemēram, pievienojot PIR infrasarkano staru kustības sensoru, jūs varat noteikt iebrucēju klātbūtni un izsaukt trauksmi.