Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Raspberry Pi Pico to niedroga płyta mikrokontrolera, która ułatwia początkującym rozpoczęcie projektów elektronicznych i naukę programowania.

W tym projekcie dowiesz się, jak odczytać sygnał analogowy z potencjometru i przekształcić go w PWM (modulacja szerokości impulsu) sygnał do manipulowania częstotliwością lub tonem brzęczyka za pomocą MicroPython kod.

Jakie części są potrzebne?

Projekt ten opiera się na Zestaw wynalazcy Kitronik 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 lutowane piny głowicy GPIO
  • deska do krojenia chleba

Jeśli nie masz doświadczenia z modulacją szerokości impulsu (PWM) i potencjometrami, najpierw zapoznaj się z naszym przewodnikiem

instagram viewer
jak używać potencjometru z Raspberry Pi Pico, który opisuje, 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-brzęczyk.py a następnie załaduj to do swojego Pico przez komputer podłączony przez USB z uruchomionym Thonny IDE. Sprawdź, jak to zrobić rozpocznij pracę z MicroPythonem na Raspberry Pi Pico dla szczegółów.

Różne części kodu wykonują następujące czynności:

  • U góry importujemy wymagane maszyna, matematyka, I czas Moduły MicroPythona.
  • A brzęczyk zmienna jest następnie przypisywana do pinu GP15 jako wyjście PWM.
  • A potencjometr zmienna jest przypisana do przetwornika analogowo-cyfrowego (ADC) na pinie GP26/A0 Pico.
  • Definiujemy a skala() funkcja, która wykorzystuje funkcje matematyczne do konwersji zakresu ruchu potencjometru na wyjście brzęczyka.
  • The podczas gdy: Prawda nieskończona pętla odczytuje wejście potencjometru, a następnie używa skala funkcję, aby go przekonwertować. Po sprawdzeniu, czy nie zmieniła się zbytnio od 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 (kliknij ikonę odtwarzania lub naciśnij F5 na klawiaturze) i wypróbuj to sam. Czy po pierwszym uruchomieniu jakiekolwiek zmiany kodu wpłyną na wyniki fizyczne? Na przykład, co się stanie, jeśli zmienisz plik zakres (0 do 65535)? Ta część kodu znajduje się tuż poniżej podczas gdy Prawda: gdzie częstotliwość definiuje.

Ustawianie tonu

Jeśli masz ochotę na przygodę, możesz spróbować użyć brzęczyka do generowania muzycznych dźwięków za pomocą martinkooij's Piko-tony biblioteka na GitHubie. 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.