Spis treści:
Dzisiejszy świat zdominowany jest przez różnej maści elektronikę. Ciężko jest wyobrazić sobie pracę bez komputera, rozrywkę bez telewizora czy też podróż na uczelnię bez połączonych bezprzewodowo ze smartfonem słuchawek odtwarzających ulubiony podcast. Przestrzeń została otoczona przez elektronikę, możemy ją znaleźć na każdym kroku, nie raz w miejscach kompletnie niespodziewanych. Jednak mimo ogromnej dominacji możemy być pewni – znaczenie elektronicznych urządzeń w dzisiejszym świecie będzie z dnia na dzień tylko co raz większe.
Być może zastanawiało Cię kiedyś jak to możliwe, że umieszczony na platformie YouTube film w Stanach Zjednoczonych można bez problemu oglądać w Polsce, lub też jak to możliwe, że wsiadając do auta zimą, gdy temperatura spadnie poniżej zera, na ekranie komputera pokładowego zobaczymy ostrzeżenie o prawdopodobnie niesprzyjających warunkach pogodowych. Odpowiedzieć można tylko jednym słowem – technologia. Technologia, którą zbudowali ludzie, którzy nie byli wcale mądrzejsi od nas, parafrazując jeden z cytatów Steava Jobsa. Co w takim razie stoi na przeszkodzie, aby zacząć budować własną technologię?
Jeszcze kilka lat temu można było powiedzieć, że elektronika i programowanie były dwiema osobnymi dziedzinami nauki. Dzisiaj jednak granica jest już znacznie bardziej zatarta. Elektronicy powinni znać podstawy programowania, tak samo, jak programiści powinni być w stanie powiedzieć coś o sprzęcie, na którym uruchamiany jest kod.
Kurs, Poradnik, Szkolenie?
Naukę elektroniki czy też programowania można zacząć na naprawdę wiele sposobów. Istnieje mnóstwo książek, kursów online, poradników video czy też stacjonarnych szkoleń, które wprowadziłyby Cię w ten niezwykły świat technologii. Chciałbym jednak zachęcić Cię do pozostania nieco dłużej w serwisie Botland i poznania niesamowitego świata kodu właśnie tutaj, dzięki serii artykułów, w których postaram się opowiedzieć co nieco o programowaniu, w nieco inny niż zwykle sposób. Jeśli znasz już moją internetową twórczość, to jestem pewny, że Ci się spodoba. Jeśli natomiast dopiero zaczynasz przygodę ze światem technologii, musisz wiedzieć, że czasem będę odbiegać od tematu.
Moje „programistyczne” poradniki oparte będą na platformie Raspberry Pi Pico W, czyli niewielkiej płytce wyposażonej w całkiem mocny mikrokontroler. Całość przygotowana została w taki sposób, aby kolejne artykuły przerabiać po kolei. Zaczniemy od podstawowych zagadnień i przygotowania odpowiedniego sprzętu, tak aby później na praktycznych przykładach nauczyć się bardziej rozbudowanego programowania.
Kup zestaw do nauki programowania z Raspberry Pi Pico W i skorzystaj z kursu dostępnego na Blog Botland!
W zestawie: moduł Raspberry Pi Pico W, płytka stykowa, przewody, diody LED, rezystory, przyciski, fotorezystory, cyfrowe czujniki światła, temperatury, wilgotności i ciśnienia, wyświetlacz OLED i przewód USB-microUSB.
Czy musisz coś umieć?
Pisząc moje artykuły, starałem się dostosować je przede wszystkim do początkujących adeptów sztuki programowania, dlatego mam nadzieję, że zawarta w kursie wiedza przedstawiona będzie w prosty i przystępny sposób. To właśnie tutaj możesz zacząć swoją przygodę z kodem. W nauce programowania opartej na niewielkim mikrokontrolerze od fundacji Raspberry, przydatna będzie na pewno podstawowa wiedza z dziedziny elektroniki. Czym jest prąd elektryczny i napięcie? Do czego służy i jakimi parametrami charakteryzuje się rezystor? Jak działa dioda LED? Jak budować obwody na płytce stykowej? Jeśli znasz odpowiedzi na te pytania, możesz śmiało zaczynać naukę programowania. Jeśli natomiast tego typu zagadnienia są Ci obce, możesz wcześniej zajrzeć do kursu elektroniki dla początkujących na platformie Forbot. Jest to doskonałe miejsce do poszerzenia swoich horyzontów myślowych. Oczywiście możesz też zacząć naukę pisania kodu dla mikrokontrolerów, bez wcześniejszego przygotowania i dopiero, gdy natkniesz się na jakieś niezrozumiałe pojęcie czy zagadnienie znaleźć informację na własną rękę. Internet jest niemal nieograniczonym źródłem wiedzy, jeśli czegoś nie wiesz wystarczy, że wpiszesz odpowiednie pytanie w dowolną wyszukiwarkę, ale pamiętaj, aby w miarę możliwości weryfikować przeczytane informacje.
Czego nauczysz się z poradników poświęconych Raspberry Pi Pico?
Jak już wcześniej wspomniałem, naukę zaczniemy od podstaw, na samym początku wybierzemy wspólnie konkretny język programowania (dlatego cały czas unikam konkretów) oraz przygotujemy odpowiednie oprogramowanie. W kolejnych materiałach uruchomimy proste projekty, które posłużą nam jako baza do omówienia fundamentalnych zagadnień i konstrukcji spotykanych w kodzie. Dysponując już odpowiednimi fundamentami, przejdziemy do bardziej zaawansowanych tematów i tutaj również bazować będziemy na konkretnych przykładach. Postaramy się wspólnymi siłami podłączyć i obsłużyć kilka modułów elektronicznych takich jak: czujnik temperatury, wilgotności i ciśnienia, czujnik światła oraz wyświetlacz OLED. Poza tym korzystać będziemy też z innych elementów elektronicznych, między innymi diod LED, fotorezystorów czy też przycisków. Opowiem wam też o czymś takim jak UART, SPI i I2C, czyli popularnych w branży interfejsach komunikacyjnych, a na sam koniec spróbujemy nawet połączyć się z internetem. Innymi słowy, im dalej w las, tym bardziej rozbudowane będą opisywane przeze mnie projekty i zadania. Mimo że artykuły pisane są z myślą o początkujących, to mam nadzieję, że osoby bardziej zaawansowane również znajdą coś dla siebie. Jeśli praca z kodem nie jest Ci obca, zrozumienie konkretnych przykładów będzie na pewno znacznie łatwiejsze. Poza tym może to być też dobra powtórka, wcześniej już zdobytej wiedzy, wraz z dogłębnym poznaniem platformy Raspberry Pi Pico.
Mój kurs podzielony został na części, z których każda zawiera konkretną dawkę wiedzy opartą na rzeczywistych przykładach. Poniżej znajdziesz spis wszystkich materiałów, zgodnie z kolejnością publikacji. Jeśli uczysz się programowania ważne, aby artykuły przerabiać zgodnie z numeracją.
Spis treści:
- Raspberry Pi Pico – #1 – zaczynamy
- Raspberry Pi Pico – #2 – słów kilka o programowaniu
- Raspberry Pi Pico – #3 – pierwszy program
- Raspberry Pi Pico – #4 – zaczynamy programować
- Raspberry Pi Pico – #5 – pętle, zmienne i instrukcje warunkowe
- Raspberry Pi Pico – #6 – PWM, ADC i komunikacja z komputerem
- Raspberry Pi Pico – #7 – Poprawki w kodzie i własne funkcje
- Raspberry Pi Pico – #8 – Przerwania i alarmy
- Raspberry Pi Pico – #9 – Teoria wskaźników i timery
- Raspberry Pi Pico – #10 – Tablice, struktury i maszyna stanów
- Raspberry Pi Pico – #11 – Uruchomienie cyfrowego czujnika światła, czyli I2C
- Raspberry Pi Pico – #12 – Przygotowujemy bibliotekę dla cyfrowego czujnika światła 1/2
- Raspberry Pi Pico – #13 – Biblioteka dla cyfrowego czujnika światła 2/2, DMA
Przed wyruszeniem w drogę należy zebrać drużynę
Chcąc uczyć się programowania, bazując na rzeczywistych projektach, potrzebny będzie oczywiście odpowiedni sprzęt, ale bez obaw – nie musisz teraz skakać między kolejnymi artykułami i przygotowywać listę niezbędnych elektronicznych elementów. W sklepie Botland dostępny jest gotowy zestaw, zawierający wszystkie komponenty niezbędne do wykonania projektów opisanych w serii poradników o Raspberry Pi Pico. Oczywiście zestaw nie zawiera komputera, na którym przygotowywać będziemy uruchamiany później kod 😄.
W gotowym zestawie elementów znajdziecie:
- Raspberry Pi Pico W,
- Przewód microUSB,
- Płytkę stykową,
- Zestaw przewodów połączeniowych w trzech rodzajach,
- Zestaw diod LED w trzech kolorach,
- Zestaw najczciej stosowanych w elektronice rezystorów,
- Przyciski Tact Switch,
- Fotorezystory,
- Cyfrowy czujnik światła,
- Cyfrowy czujnik wilgotności, temperatury i ciśnienia,
- Wyświetlacz OLED.
Główny bohater, czyli Raspberry Pi Pico W
Na rynku dostępnych jest całkiem sporo różnego rodzaju platform, które mogą pomóc w nauce programowania. Mikroprocesory w postaci pojedynczych układów scalonych, niewielkie moduły z kilkoma dodatkowymi elementami peryferyjnymi czy też potężne zestawy uruchomieniowe wyposażone w masę dodatkowych komponentów. W mojej opinii najlepszym wyborem na początek jest druga opcja, czyli niewielka płytka z wlutowanym już mikrokontrolerem oraz niezbędnymi elementami umożliwiającymi łatwe i proste pierwsze uruchomienie. W przypadku czystych układów scalonych, pierwsze kroki mogą być skokiem na głęboką wodę, która niekoniecznie jest najlepsza, natomiast przy dużych zestawach uruchomieniowych tracimy część zabawy z zewnętrznymi modułami, a tego typu wiedza przydaje się w przyszłości.
Warto wiedzieć, że moduły Raspberry Pi Pico dostępne są w kilku wersjach. Pierwszą płytką, która pojawiła się na rynku, było po prostu Raspberry Pi Pico, jest to pierwsza widoczna na fotografii powyżej płytka. Jakiś czas później wydane zostało Raspberry Pi Pico W, czyli wersja rozszerzona o moduł WIFI, pozwalający podłączyć RPI do internetu. Chip obsługujący ten standard komunikacji ukryty jest pod metalowym ekranem, którego ze względu na możliwe zakłócenia nie powinno się usuwać. Poza tym dostępne są też płytki Raspberry Pi Pico H oraz Raspberry Pi Pico WH różniące się od oryginałów tylko dodatkowym złączem do debugowania.
Raspberry Pi Pico W to niewielka płytka pozwalająca w domowym zaciszu uruchomić chip RP2040. Jest to serce RPI Pico (RPI – Raspberry Pi), mikrokontroler ten jest w rzeczywistości dwurdzeniowym układem opartym na rdzeniach ARM Cortex M0+, pracującym z częstotliwością 133MHz. Jak na swoje niewielkie rozmiary, chip wyposażony został w 26 uniwersalnych wyprowadzeń, które mogą pełnić również inne, nieco bardziej specjalizowane funkcje. Są to między innymi piny poszczególnych interfejsów komunikacyjnych, wejścia ADC pozwalające obsługiwać sygnały analogowe, czy też wyjścia PWM, o całkiem ciekawej specyfice działania, którą poznamy w przyszłości. We wnętrzu RP2040 znalazła się też pamięć SRAM o pojemności 264kB. Będzie ona przechowywać aktualnie wykorzystywane przez realizowany program dane. Natomiast sam realizowany kod przechowywany jest poza procesorem, w zewnętrznej pamięci Flash o pojemności 2MB.
Przyjrzyjmy się samej płytce nieco bliżej. Jej centralnym punktem jest wspomniany wyżej procesor RP2040, otoczony niezbędnymi do funkcjonowania elementami. Tuż obok znalazł się chip pamięci Flash, w której przechowywany jest realizowany przez RPI program. Dalej umieszczono miniaturowy przycisk, pomocny w procesie konfiguracji i przygotowania Raspberry Pi Pico do zaprogramowania. Na płytce umieszczono też pojedynczą diodę LED. W RPI Pico podłączono ją do procesora RP2040, w wersji W, czyli tej, z której w przyszłości będziemy korzystać, połączono ją z jednym z wyprowadzeń modułu WIFI. Do zasilania i komunikacji z komputerem służy gniazdo microUSB. Na płytce drukowanej zauważyć można również niewielki układ scalony wraz z towarzyszącymi mu elementami, jest to moduł zasilania, dostarczający energię pozostałym komponentom. Raspberry Pi Pico W wyposażone jest też w trzy pinowe złącze do debugowania oraz niejednokrotnie już wspominany moduł komunikacyjny WIFI oparty na chipie CYW43439. Po obu stronach płytki widoczne są też rzędy wyprowadzeń, do których można przylutować uniwersalne goldpiny, dzięki czemu bez problemu umieścimy RPI Pico W na płytce stykowej. Wyprowadzeń jest całkiem sporo, ale ich konkretne przeznaczenie poznamy za jakiś czas.
Znaczenie Raspberry Pi Fundation w dzisiejszym świecie
Na koniec tego może nieco przydługiego wstępu do nauki programowania na bazie Raspberry Pi Pico W, chciałbym opowiedzieć wam nieco o producencie tej niezwykłej płytki, czyli Raspberry Pi Fundation. Przedsiębiorstwo to ma w swoim portfolio znacznie więcej produktów niż tylko kilka prostych zestawów uruchomieniowych dla chipu RP2040. Raspberry Pi kojarzone jest przede wszystkim z niewielkimi mikrokomputerami, których kolejne odsłony powstają nieprzerwanie od 2012 roku, gdy światło dzienne ujrzał pierwszy sprzęt sygnowany logiem malinki, czyli RPI Model B. Jednak historia Raspberry Pi Fundation, sięga znacznie dalej, bo aż 2006 roku. W tamtym czasie zespół związany z University of Cambridge Computer Laboratory na czele z Ebenem Uptonem podjął się zadania zaprojektowania prostego i taniego urządzenia, które pomoże młodym studentom uczyć się programowania. Sukces pierwszego mikrokomputera okazał się na tyle duży, że projektanci od razu zaczęli pracować nad kolejnymi wersjami, które byłby wydajniejsze j jeszcze bardziej przystępne dla początkujących adeptów elektroniki i informatyki. W kolejnych latach firma znacznie się rozrosła, oferując nie tylko mikrokomputery, ale też własne rozwiązania, na których oprzeć można własne sprzęty elektroniczne.
Kilka słów na koniec…
Był to pierwszy artykuł z większej serii poradników opartych na RPI Pico. Opowiedziałem wam pokrótce, czym będziemy się tutaj zajmować, co będzie nam potrzebne i czego będziecie mogli się nauczyć. Poza tym przyjrzeliśmy się bliżej, płytce Raspberry Pi Pico W. W kolejnym materiale wybierzemy wspólnie język programowania, w którym będziemy pisać kod.
Źródła:
- https://www.raspberrypi.com/products/rp2040/
- https://datasheets.raspberrypi.com/picow/pico-w-datasheet.pdf
- https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf
- https://blog.adafruit.com/2021/01/29/die-shots-of-the-raspberry-pi-rp2040-chip-teardown-dieshot-reverseengineering-piday-johndmcmaster-raspberry_pi/
Jak oceniasz ten wpis blogowy?
Kliknij gwiazdkę, aby go ocenić!
Średnia ocena: 4.8 / 5. Liczba głosów: 52
Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.