Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Raspberry Pi Pico je jeftina mikrokontrolerska ploča koja početnicima olakšava početak rada s elektroničkim projektima i učenje kodiranja.

Za ovaj projekt naučit ćete kako očitati analogni signal s potenciometra i pretvoriti ga u PWM (pulsno-širinska modulacija) signal za upravljanje frekvencijom ili tonom zujalice uz pomoć MicroPythona kodirati.

Koji su dijelovi potrebni?

Ovaj projekt temelji se na Kitronik Inventor's Kit za Raspberry Pi Pico. Sve potrebne elektroničke komponente uključene su u komplet; međutim, ovo su uobičajene komponente koje možda imate uokolo:

  • Piezo element zujalice
  • Rotacijski potenciometar
  • 7x muško-muški kratkospojnici
  • Raspberry Pi Pico sa zalemljene igle GPIO zaglavlja
  • Breadboard

Ako ste tek upoznati s modulacijom širine pulsa (PWM) i potenciometrima, prvo pogledajte naš vodič o kako koristiti potenciometar s vašim Raspberry Pi Pico, koji opisuje kako ga koristiti za podešavanje svjetline LED-a s PWM-om.

instagram viewer

Obavezna montaža

Jedna premosna žica (žuta na fotografiji) povezuje lijevu stranu potenciometra s pozitivnom (+) tračnicom matične ploče. Druga premosna žica povezuje desnu stranu potenciometra s negativnom (-) stranom matične ploče. Od srednjeg pina potenciometra morat ćete provući kratkospojnu žicu do pina GP26/A0 na Picu.

Piezo zujalica trebat će imati jednu žicu koja ide od njegovog negativnog kraka do negativne tračnice matične ploče, a zatim drugu vezu od njegovog pozitivnog kraka do pina GP15 na Raspberry Pi Pico.

Također ćete morati provući premosnu žicu od GND pina na Pico do negativne tračnice na matičnoj ploči da biste je uzemljili. Druga premosna žica spojit će 3V3 izlazni pin na Pico-u na pozitivnu tračnicu matične ploče za napajanje komponenti.

Stvorite kod

Kôd možete preuzeti s MUO GitHub repozitorij. Preuzmite MicroPython datoteku pod nazivom piezo-zujalica.py a zatim ga učitajte na svoj Pico putem USB spojenog računala koje pokreće Thonny IDE. Provjerite kako započnite s MicroPythonom na Raspberry Pi Pico za detalje.

Različiti dijelovi koda čine sljedeće:

  • Na vrhu uvozimo traženo mašina, matematika, i vrijeme MicroPython moduli.
  • A zujalica varijabla se zatim dodjeljuje pinu GP15 kao PWM izlazu.
  • A potenciometar varijabla se dodjeljuje analogno-digitalnom pretvaraču (ADC) na pinu GP26/A0 Pica.
  • Definiramo a mjerilo () funkcija koja koristi matematičke funkcije za pretvaranje raspona pomicanja potenciometra u izlaz za zujalicu.
  • The dok: Istina beskonačna petlja očitava ulaz potenciometra, a zatim koristi mjerilo funkciju da ga pretvorite. Nakon provjere da se nije previše promijenio u odnosu na prethodnu frekvenciju, šalje izračunatu frekvencija na zujalicu pomoću PWM (modulacija širine impulsa).

Ukratko, šalju se stotine impulsa u sekundi, a zujalica će se mijenjati između 120Hz i 5kHz kako se potenciometar okreće u smjeru kazaljke na satu ili suprotno od njega. Okretanje potenciometra mijenja napon koji očitava Picoov analogni ulazni pin, koji se pak koristi za podešavanje frekvencije zujalice pomoću PWM-a.

Pokrenite kod iz Thonnyja (kliknite ikonu za reprodukciju ili pritisnite F5 na tipkovnici) i isprobajte ga sami. Nakon vašeg prvog izvođenja, hoće li promjene koda utjecati na fizičke rezultate? Na primjer, što se događa ako promijenite domet (0 do 65535)? Ovaj dio koda nalazi se ispod dok je istina: gdje je frekvencija je definirano.

Postavljanje tona

Ako ste željni avanture, možda biste trebali pokušati koristiti zujalicu za generiranje glazbenih tonova pomoću martinkooijevih pi-piko-tonovi knjižnica na GitHubu. Prema zadanim postavkama, ova će biblioteka generirati sinusne valove; četiri generatora tonova mogu raditi na četiri različita Pico pina po vašem izboru. Imajte na umu da se ovaj projekt temelji na C++-u koristeći Raspberry Pi Pico SDK, a ne MicroPython, ali potpune upute dane su u GitHub readme-u.

Buzz Pico Electronicsa

Čestitamo: naučili ste kako očitati analogni ulaz s potenciometra i pretvoriti ga u PWM signal za kontrolu zvuka zujalice. Potenciometar je svestrani ulazni uređaj za elektroniku. Piezo zujalica još je jedna praktična komponenta: s dodatkom PIR infracrvenog senzora kretanja, na primjer, možete detektirati prisutnost uljeza i oglasiti alarm.