Wydaj dźwięk brzęczyka za pomocą Raspberry Pi Pico
Raspberry Pi Pico to niedroga płyta mikrokontrolera, która ułatwia początkującym rozpoczęcie projektów elektronicznych i naukę kodowania.
W ramach tego projektu dowiesz się, jak odczytać sygnał analogowy z potencjometru i przekształcić go w sygnał PWM (modulacja szerokości impulsu), aby manipulować częstotliwością lub tonem brzęczyka za pomocą kodu MicroPython.
Jakie części są potrzebne?
Ten projekt jest oparty na zestawie Kitronik Inventor’s Kit dla Raspberry Pi Pico. Wszystkie wymagane elementy elektroniczne znajdują się w zestawie; są to jednak typowe komponenty, które możesz mieć w pobliżu:
- Brzęczyk elementu piezoelektrycznego
- Potencjometr obrotowy
- 7x męsko-męskie przewody połączeniowe
- Raspberry Pi Pico z wlutowanymi pinami złącza GPIO
- deska do krojenia chleba
Jeśli dopiero zaczynasz przygodę z modulacją szerokości impulsu (PWM) i potencjometrami, najpierw zapoznaj się z naszym przewodnikiem dotyczącym używania potencjometru z Raspberry Pi Pico, w którym opisano, jak używać go do regulacji jasności diody LED za pomocą PWM.
Wymagany montaż
Jeden przewód połączeniowy (żółty na zdjęciu) łączy lewą stronę potencjometru z dodatnią (+) szyną płytki stykowej. Kolejny przewód połączeniowy łączy prawą stronę potencjometru z ujemną (-) stroną płytki prototypowej. Ze środkowego styku potencjometru będziesz musiał poprowadzić przewód połączeniowy do styku GP26/A0 na Pico.
Brzęczyk piezoelektryczny będzie musiał mieć jeden przewód biegnący od ujemnej nogi do ujemnej szyny płytki prototypowej, a następnie kolejne połączenie od dodatniej nogi do styku GP15 na Raspberry Pi Pico.
Będziesz także musiał poprowadzić przewód połączeniowy od styku GND na Pico do ujemnej szyny na płytce prototypowej, aby go uziemić. Kolejny przewód połączeniowy połączy pin 3V3 Out na Pico z dodatnią szyną płytki prototypowej, aby zasilić komponenty.
Stwórz Kodeks
Możesz pobrać kod z repozytorium MUO GitHub. Pobierz plik MicroPython o nazwie piezo-buzzer.py , a następnie załaduj go do Pico za pomocą komputera podłączonego przez USB, na którym działa Thonny IDE. Sprawdź, jak rozpocząć pracę z MicroPythonem na Raspberry Pi Pico, aby uzyskać szczegółowe informacje.
Różne części kodu wykonują następujące czynności:
- Na górze importujemy wymagane moduły machine , math i time MicroPython.
- Zmienna brzęczyka jest następnie przypisywana do pinu GP15 jako wyjście PWM.
- Zmienna potencjometru jest przypisana do przetwornika analogowo-cyfrowego (ADC) na pinie GP26/A0 Pico.
- Definiujemy funkcję scale() , która używa funkcji matematycznych do konwersji zakresu ruchu potencjometru na wyjście brzęczyka.
- The while: Prawdziwa nieskończona pętla odczytuje wejście potencjometru, a następnie wykorzystuje funkcję skali do jego konwersji. Po sprawdzeniu, czy nie zmieniła się zbytnio w stosunku do poprzedniej częstotliwości, wysyła obliczoną częstotliwość do brzęczyka za pomocą PWM (modulacja szerokości impulsu).
Podsumowując, na sekundę wysyłane są setki impulsów, a dźwięk brzęczyka zmienia się między 120 Hz a 5 kHz, gdy potencjometr jest obracany zgodnie z ruchem wskazówek zegara lub przeciwnie do ruchu wskazówek zegara. Obracanie potencjometru zmienia napięcie odczytywane przez analogowy pin wejściowy Pico, który z kolei służy do regulacji częstotliwości brzęczyka za pomocą PWM.
Uruchom kod z Thonny’ego (kliknij ikonę odtwarzania lub naciśnij klawisz F5 na klawiaturze) i wypróbuj sam. Czy po pierwszym uruchomieniu jakiekolwiek zmiany kodu wpłyną na wyniki fizyczne? Na przykład, co się stanie, jeśli zmienisz zakres (od 0 do 65535)? Ta część kodu znajduje się tuż poniżej True: gdzie zdefiniowana jest częstotliwość .
Ustawianie tonu
Jeśli masz ochotę na przygodę, możesz spróbować użyć brzęczyka do generowania dźwięków muzycznych za pomocą biblioteki pi-pico-tones martinkooij na GitHub. Domyślnie ta biblioteka będzie generować fale sinusoidalne; cztery generatory tonów mogą działać na czterech różnych pinach Pico, według własnego uznania. Należy zauważyć, że ten projekt jest oparty na języku C++ przy użyciu zestawu Raspberry Pi Pico SDK, a nie MicroPython, ale pełne instrukcje znajdują się w pliku Readme GitHub.
Buzz Pico Electronics
Gratulacje: nauczyłeś się odczytywać wejście analogowe z potencjometru i konwertować je na sygnał PWM, aby sterować dźwiękiem brzęczyka. Potencjometr jest wszechstronnym urządzeniem wejściowym dla elektroniki. Brzęczyk piezoelektryczny to kolejny przydatny element: dodając na przykład czujnik ruchu na podczerwień PIR, możesz wykryć obecność intruzów i uruchomić alarm.
Dodaj komentarz