Przewodnik dla początkujących po MicroPythonie z Raspberry Pi Pico

Przewodnik dla początkujących po MicroPythonie z Raspberry Pi Pico

Raspberry Pi Pico to najnowszy członek rodziny Raspberry Pi. Wcześniej linia produktów Raspberry Pi była komputerami jednopłytowymi zdolnymi do uruchamiania systemu operacyjnego.

Oparty na nowym układzie RP2040, Raspberry Pi Pico obsługuje zarówno MicroPython, jak i C/C++. Dzięki Raspberry Pi Pico początkujący i entuzjaści mogą kontrolować sprzęt i podłączone urządzenia. Piny GPIO Raspberry Pi Pico mogą być używane do ściemniania świateł, odczytywania stanu przełączników i wielu innych.

Co to jest MicroPython?

Programowanie na mikrokontrolerach odbywało się głównie w języku C, jak widać na płytkach rozwojowych Arduino . Następnie w 2014 roku został opublikowany nowy język programowania mikrokontrolerów, MicroPython. MicroPython umożliwia pisanie kodu Pythona na gołym metalu mikrokontrolera. Oznacza to, że możesz pisać kod w Pythonie bez systemu operacyjnego.

Python to przyjazny dla początkujących, wysokopoziomowy język programowania, który pozwala użytkownikom skupić się na nauce koncepcji programowania. Podobnie jest z MicroPythonem.

Korzystanie z diody LED

Aby sterować sprzętem, Pico komunikuje się z serią pinów wzdłuż obu krawędzi. Są to tak zwane styki wejścia ogólnego przeznaczenia (GPIO), a wbudowana dioda LED znajduje się na GPIO 25. Aby nią sterować, najpierw zaimportuj niezbędne biblioteki:

import machine

import utime

Następnie wywołaj funkcję Pin przy użyciu biblioteki maszynowej do obsługi pinu GPIO Pina, w tym przypadku ustawiamy Pin na GPIO 25, więc jest to pierwszy parametr. Drugi parametr ustawia go jako pin wyjściowy, a nie pin wejściowy, dzięki czemu pin wie, co powinien robić:

onboard_led = machine.Pin(25, machine.Pin.OUT)

Aby kontynuować, w poniższym kodzie mówimy Pico, aby następnie ustawiło wartość pinu na GPIO 25 na 1, czyli „włączone”.

while True: onboard_led.value(1)

Możesz jednak zdać sobie sprawę, że nic się nie dzieje. Dzieje się tak, ponieważ Pico działa bardzo szybko, więc dioda LED zapala się szybciej, niż można to dostrzec gołym okiem. Aby to naprawić, musimy spowolnić program za pomocą polecenia sleep z biblioteki utime . Pełny kod, w którym dioda LED będzie się włączać i wyłączać, można zobaczyć poniżej:

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: onboard_led.value(1) utime.sleep(5) onboard_led.value(0) utime.sleep(5)

Włączanie i wyłączanie diod LED

Alternatywnie istnieje inny sposób włączania i wyłączania diod LED za pomocą polecenia przełączania :

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: led_onboard.toggle() utime.sleep(5)

W tym przykładzie polecenie toggle zastępuje konieczność ustawienia wartości diody na 1, a później na 0. Nadal będzie świecić przez 5 sekund, a następnie gaśnie na kolejne pięć, dopóki program jest uruchomiony.

Tworzenie funkcji

Przewodnik dla początkujących po MicroPythonie z Raspberry Pi Pico

W miarę jak programy stają się coraz bardziej złożone, pomaga grupować fragmenty kodu, aby zachować spójność. Aby to zrobić, MicroPython, podobnie jak Python, umożliwia korzystanie z funkcji. Funkcje to grupa powiązanych ze sobą instrukcji, które wykonują określone zadanie. Na przykład w poniższym kodzie zdefiniowano funkcję o nazwie printNames :

def printNames: print(“Raspberry Pi 1”) print(“Raspberry Pi 2”) print(“Raspberry Pi 3”) print(“Raspberry Pi 4”) print(“Raspberry Pi Compute Module”) print(“Raspberry Pi 400”) print(“Raspberry Pi Pico”) printNames()

Ostatni wiersz w kodzie wywołuje funkcję, aby faktycznie została wykonana.

Pętle

Przewodnik dla początkujących po MicroPythonie z Raspberry Pi Pico

Logika warunkowa wykonuje różne akcje w zależności od tego, czy ograniczenie logiczne ma wartość prawda czy fałsz. Wiele projektów Raspberry Pi Pico opiera się na tych logicznych stwierdzeniach. W poniższym przykładzie instrukcja if-else jest używana do określenia, czy instrukcja print zostanie wykonana:

i = 17 def printNames(): if i > 15: print("i is greater than 15!") else: print("i is not greater than 15") printNames()

W następnym przykładzie pętla for jest używana z funkcją range . Te pętle mogą służyć do wielokrotnego powtarzania bloku kodu.

Przewodnik dla początkujących po MicroPythonie z Raspberry Pi Pico

W tym przykładzie polecenie drukowania zostanie wykonane pięć razy z pięciosekundowym opóźnieniem między nimi za pomocą polecenia uśpienia :

import utime def printNames(): for i in range(5): print("Raspberry Pi Pico") utime.sleep(5) printNames()

Przetwornik analogowo-cyfrowy (ADC)

Chociaż nie będziesz mógł tego zobaczyć, Raspberry Pi Pico ma wewnętrzny konwerter analogowo-cyfrowy. W poniższym przykładzie potencjometr jest podłączony do Raspberry Pi Pico na GPIO 26, który obsługuje funkcję ADC:

import machine import utime pot = machine.ADC(26) while True: print(pot.read_u16()) utime.sleep(1)

Tutaj, zanim będziemy mogli użyć tego pinu obsługującego ADC, należy go skonfigurować za pomocą funkcji ADC. Następnie podczas działania programu wartość potencjometru będzie drukowana co sekundę. Inne piny w Raspberry Pi Pico, które obsługują ADC, to GPIO27, 28 i 29.

Modulacja szerokości impulsu (Pwm)

Cyfrowe wyjście mikrokontrolera może wynosić tylko 1 lub 0. Aby utworzyć sygnał analogowy, potrzebny byłby konwerter cyfrowo-analogowy. Jednak innym sposobem jest sztuczne wytworzenie sygnału analogowego za pomocą modulacji szerokości impulsu lub w skrócie PWM.

Włączanie i wyłączanie sygnału cyfrowego nazywa się impulsem. Modulując szerokość impulsu, sztucznie tworzy to sygnał analogowy, jak widać w poniższym przykładzie:

import machine import utime pot = machine.ADC(26 led = machine.PWM(machine.Pin(21)) led.freq(1000) while True: led.duty_u16(pot.read_u16())

Najpierw zaimportowano biblioteki machine i utime . Obiekt onboard_led jest tworzony z aktywowanym wyjściem PWM na pin 21 GPIO. Następnie, używając polecenia freq , ustawia częstotliwość, aby modulować szerokość impulsu. Wyobraź sobie, że obracając potencjometr, dioda LED stanie się jaśniejsza po obróceniu w jedną stronę.

Dzieje się tak dlatego, że jako wartość współczynnika wypełnienia sygnału PWM wykorzystywana jest wartość analogowa z potencjometru, jest to wartość z zakresu od 0 do 65535. Jednak bez przeliczenia, lekkie przekręcenie potencjometru może już spowodować, że dioda LED osiągnie maksymalny poziom jasności .

Aby to naprawić, aby potencjometr osiągnął pełną jasność dopiero po obróceniu do samego końca, wartość przeliczana jest funkcją duty_u16 . Ta funkcja zamienia ją w 16-bitową liczbę całkowitą, która jest wartością z przedziału od 0 do 1024, czyli takim samym zakresem wartości, jaki otrzymałbyś z analogowego pinu Pico.

Twórz więcej z Raspberry Pi Pico

W tym artykule omówiono podstawowe polecenia w MicroPython na Raspberry Pi Pico. Aby uzyskać więcej informacji, zapoznaj się z oficjalną dokumentacją dotyczącą programowania w MicroPython za pomocą Raspberry Pi Pico .

Jeśli nie jest jeszcze skonfigurowany na Raspberry Pi Pico, pobierz Thonny IDE, aby uruchomić kod MicroPython, lub alternatywnie sprawdź emulator procesora Unicorn, aby uruchomić wirtualny mikrokontroler bezpośrednio na komputerze.


6 najlepszych miejsc do wyszukiwania modeli do druku 3D

6 najlepszych miejsc do wyszukiwania modeli do druku 3D

Gdy wygasły patenty na drukowanie 3D, przemysł eksplodował w domu.

Heres Jak przetaktować pamięć RAM komputera: ale czy powinieneś?

Heres Jak przetaktować pamięć RAM komputera: ale czy powinieneś?

Uzyskanie pamięci RAM dla komputera jest koniecznością. Chociaż, jeśli nie uruchomisz go z maksymalną wydajnością, tracisz mnóstwo. Każdy program przechowuje dane w pamięci RAM przez jakiś czas, aby uzyskać szybszy dostęp. Dzięki przetaktowanej pamięci RAM możesz zwiększyć wydajność swojego komputera.

Jak zbudować własną wieżę do kości do gier stołowych?

Jak zbudować własną wieżę do kości do gier stołowych?

Uważa się, że kości istnieją od tysięcy lat. Jednak w tym czasie zrobiono bardzo niewiele, aby rozwijać lub wprowadzać innowacje w tej technologii. Chociaż materiały się zmieniły, a metody tworzenia kości również posunęły się do przodu, nadal tkwisz w rzucaniu kośćmi ręcznie, jak jakiś jaskiniowiec.

Projektowanie i drukowanie 3D własnych miniatur stołowych za pomocą drukarki FDM

Projektowanie i drukowanie 3D własnych miniatur stołowych za pomocą drukarki FDM

Gry planszowe, takie jak D&D i Warhammer, zapewniają świetny sposób na interaktywną rozrywkę bez konieczności korzystania z komputera lub konsoli.

Jak odzyskać dane z zewnętrznego dysku twardego

Jak odzyskać dane z zewnętrznego dysku twardego

Zewnętrzne dyski twarde stają się coraz bardziej popularne ze względu na szybkość, cenę i wygodę. Jednak, podobnie jak zwykłe dyski twarde, są narażone na takie samo ryzyko utraty danych, czy to mechaniczne, czy wywołane oprogramowaniem.

Jak zainstalować kamerę samochodową w samochodzie?

Jak zainstalować kamerę samochodową w samochodzie?

Jeśli masz kamerę samochodową, dopasowanie jej może wydawać się trochę uciążliwe. W niektórych przypadkach nie jest to tak proste, jak byś chciał, ale zainstalowanie kamery samochodowej w samochodzie jest warte każdej minuty, którą na nią poświęcisz.

10 najlepszych projektów inteligentnego domu ESP32

10 najlepszych projektów inteligentnego domu ESP32

Inteligentny dom to taki, w którym urządzeniami i urządzeniami można sterować zdalnie z dowolnego telefonu lub komputera z dostępem do internetu. Zwykle opiera się na urządzeniach połączonych bezprzewodowo, utworzonych z mikrokontrolerów, takich jak Arduino lub płyta ESP32.

6 najlepszych miejsc do wyszukiwania modeli do druku 3D

6 najlepszych miejsc do wyszukiwania modeli do druku 3D

Gdy wygasły patenty na drukowanie 3D, przemysł eksplodował w domu.

10 samodzielnych anten Wi-Fi dalekiego zasięgu, które możesz wykonać w domu

10 samodzielnych anten Wi-Fi dalekiego zasięgu, które możesz wykonać w domu

Chociaż nowoczesne anteny Wi-Fi umożliwiają korzystanie z najszybszych prędkości w pakiecie usługodawcy internetowego, mogą być dość drogie. Na szczęście zawsze możesz zwrócić się do projektów DIY, aby poprawić sygnał połączenia bez wydawania zbyt dużych pieniędzy.

Heres Jak przetaktować pamięć RAM komputera: ale czy powinieneś?

Heres Jak przetaktować pamięć RAM komputera: ale czy powinieneś?

Uzyskanie pamięci RAM dla komputera jest koniecznością. Chociaż, jeśli nie uruchomisz go z maksymalną wydajnością, tracisz mnóstwo. Każdy program przechowuje dane w pamięci RAM przez jakiś czas, aby uzyskać szybszy dostęp. Dzięki przetaktowanej pamięci RAM możesz zwiększyć wydajność swojego komputera.

Jak zbudować własną wieżę do kości do gier stołowych?

Jak zbudować własną wieżę do kości do gier stołowych?

Uważa się, że kości istnieją od tysięcy lat. Jednak w tym czasie zrobiono bardzo niewiele, aby rozwijać lub wprowadzać innowacje w tej technologii. Chociaż materiały się zmieniły, a metody tworzenia kości również posunęły się do przodu, nadal tkwisz w rzucaniu kośćmi ręcznie, jak jakiś jaskiniowiec.

Projektowanie i drukowanie 3D własnych miniatur stołowych za pomocą drukarki FDM

Projektowanie i drukowanie 3D własnych miniatur stołowych za pomocą drukarki FDM

Gry planszowe, takie jak D&D i Warhammer, zapewniają świetny sposób na interaktywną rozrywkę bez konieczności korzystania z komputera lub konsoli.

10 najlepszych pomysłów na oświetlenie DIY, które odmienią Twoją sypialnię

10 najlepszych pomysłów na oświetlenie DIY, które odmienią Twoją sypialnię

Oświetlenie to klej, który spaja Twój wystrój. Podkreśla atrakcyjne elementy Twojego pokoju, zamieniając je w ciepłą, przytulną oazę, do której z przyjemnością przyjedziesz każdego wieczoru. Najlepsza część? Nie musisz nawet rozbijać banku, ponieważ istnieją całkiem fenomenalne pomysły na majsterkowanie, aby oświetlić sypialnię. Oto nasza 10 najlepszych:

Przewodnik dla początkujących po MicroPythonie z Raspberry Pi Pico

Przewodnik dla początkujących po MicroPythonie z Raspberry Pi Pico

Raspberry Pi Pico to najnowszy członek rodziny Raspberry Pi. Wcześniej linia produktów Raspberry Pi była komputerami jednopłytowymi zdolnymi do uruchamiania systemu operacyjnego.

Jak odzyskać dane z zewnętrznego dysku twardego

Jak odzyskać dane z zewnętrznego dysku twardego

Zewnętrzne dyski twarde stają się coraz bardziej popularne ze względu na szybkość, cenę i wygodę. Jednak, podobnie jak zwykłe dyski twarde, są narażone na takie samo ryzyko utraty danych, czy to mechaniczne, czy wywołane oprogramowaniem.

11 alternatyw dla Raspberry Pi Pico

11 alternatyw dla Raspberry Pi Pico

Wydanie Raspberry Pi Pico było ekscytujące. Nie tylko Raspberry Pi Foundation w końcu wkroczyła na rynek mikrokontrolerów hobbystycznych, wcześniej zdominowany przez Arduino, ale także robiła to z własnym krzemem.

Jak zainstalować kamerę samochodową w samochodzie?

Jak zainstalować kamerę samochodową w samochodzie?

Jeśli masz kamerę samochodową, dopasowanie jej może wydawać się trochę uciążliwe. W niektórych przypadkach nie jest to tak proste, jak byś chciał, ale zainstalowanie kamery samochodowej w samochodzie jest warte każdej minuty, którą na nią poświęcisz.