|
Jest początek maja 2023r, za miesiąc skończę 80-dziesiątkę, brak sił by zająć się jakąś pasją wymagającą wysiłku fizycznego. Nawet malarstwo czy też genealogia lub strona internetowa nie wciągają mnie tak jak to było wcześniej. Prace w ogródku zupełnie nie wchodzą w grę, nawet koszenie trawy już mnie wykańcza. W takich to okolicznościach doskwierającej apatii, zupełnie przypadkowo znalazłem w sieci aplikację edukacyjną firmy Tinkercad, jedna z 3 częsci tej aplikacji dotyczy elektroniki a dokładnie symulacji działania procesora Arduino UNO. Programowanie odbywa się przy użyciu języka C++, uzupełnieniem własnego kodu są biblioteki specjalne, podobnie jak to jest w C++, dedykowane dla Arduino UNO. Procesor Arduino UNO opracowany został w zasadzie do użytku hobbystycznego, obsługuje zarówno transmisje cyfrowe jak też analogowe. Dostęp do aplikacji możliwy jest po zalogowaniu się do Tinkercad, wówczas w zakładce 'obwody' tworzy się dla użytkownika indywidualny zbiór przeprowadzonych przez niego ćwiczeń, które można w dowolnym momencie edytować, zmieniać, eksperymentować. Do aplikacji można się zalogować poprzez Google. Główne okno aplikacji zawiera: Panel - edytor kodu (w nim biblioteki), panel - uruchomienie symulacji, panel komponentów(modułów), konsole szeregową (OUT), ramkę wprowadzanie danych (IN). Należy wspomnieć, że szybkość przebiegu symulacji w znacznym stopniu zależy od szybkości łącza internetowego (aplikacja sieciowa). Mankamentem krytycznym jest sytuacja, że aplikacja przed zamknieciem nie pyta czy zapisać zmiany (Można po wprowadzonych zmianach utracić pierwotny kod !!!) ![]() Arduino UNO - symulacja Główna strona Tinkercad wejście do zakładki 'obwody'. Inne strony www w temacie Arduino UNO: 1. arduino.cc 2. arduinogetstarted.com 3. circuitbasics.com Sterowanie mikroprocesorem Arduino UNO R3." Pomyślne eksperymenty z symulacyjnym oprogramowaniem sieciowym, skłoniły mnie do poważniejszego zajęcia się tym razem fizycznym procesorem Arduino UNO R3. Ściągnąłem z sieci program Arduino IDE ver 2.1.0, instalacja przebiegła bezproblemowo. Następny krok to zakupienie modułu ARDUINO UNO R3 ATMEGA328 CH340 AVR KLON. Aby jak najszybciej sprawdzić Arduino, dokupiłem moduł shield 1602 2x16 - wyświetlacz z klawiaturą, który posiada dopasowane piny, pozwalające wpiąć się na sztywno do Arduino. W sieci znalazłem przykładowe kody wyswietlajace znaki na wyświetlaczu LCD - 2 wiersze po 16 znaków - eksperymentowanie udało się. ![]() Poniżej zamieściłem planszę i wykaz przedstawiające zestaw startowy różnych modułów i czujników sterowalnych przez Arduino, łącznie ok. 40 pozycji. Zestaw zakupiony na 'Allegro' zawiera również akcesoria niezbędne do montażu ćwiczeń. W sumie poniosłem koszt w wysokości ok. 280zł. Oczywiście poziom mojej wiedzy na temat programowania w C++ jest jeszcze zbyt niski bym mógł wykonać te najbardziej skomplikowane eksperymenty, ale na 'Allegro' znalazłem jeszcze przynajmniej kilka modułów lub czujników z którymi bym sobie poradził, więc dokupiłem za ok. 80 zł jeszcze 10 sztuk. ![]() ![]() Opiszę w skrócie jak wygląda przykładowa sesja eksperymentalna z Arduino. Przykład: moduł wyświetlacza LCD - wpisuję w Google 'Arduino LCD' - wyswietla mi się przynajmniej kilkanaście linków do naibardziej popularnych stron w tym temacie. Ogladam schemat połączeń z Arduino, kopiuję kod, czytam opis. Wybieram na początek najbardziej prosty przykład (kilkanaście linijek codu) i uruchamiam go w interfejsie Arduino IDE 2.1.0, gdy wszystko jest OK, gdy rozumiem co kolejno program robi, staram się zmieniać parametry by uzyskać inne efekty działania (gdy wystapi błąd, dobrze jest zrozumieć co stało się nie tak i naprawiać). Szukam następnie bardzie złożonych kodów, z ambitniejszymi wynikami działania, wtedy najczęściej konieczne staje się 'studiowanie' innych przykładów na ten temat w internecie i na YouTube. To co powyżj opisałem w skrócie, w rzeczywistości pochłania mnie bez reszty, często nawet śni mi się po nocach. Przypominają mi się wówczas lata 90-te i pierwsze kroki w Visual Basic-u - dla przyjemnosci, ale także Visual Basic-u for applications - do zawodowego pisania programów związanych z Międzynarodowym Ruchem Telefonicznym. ![]() Arduino - następny etap czyli eksperymenty praktyczne. Mogę stwierdzić, że system "Arduino" wciągnął mnie ponownie w programowanie, tym razem wszakże w eksperymenty praktyczne. Ujawniła się ponownie pasja programowania ale na wyższym poziomie, czyli procesora sterujacego różnymi modułami i czuinikami.Przykładowe sensory dla Arduino:
Powyżej widok stanowiska montażowego z tablicą i kasetką z czujnikami, przewodami i innymi elementami. Opisuję sytuację na 10 cze 2023r. Poniżej stanowisko po wykonaniu kilku eksperymentów, ta konkretna fotka wykonana w trakcie eksperymentu z czujnikiem temperatury - 23 st. C.
W tm miejscu (15 lip 2023) - po kilku tygodniach eksperymentów - jest dobry moment by wyrazić swą opinię na temat mojego najnowszego hobby. Muszę przyznać, że zafascynowany jestem programowaniem procesora Arduino językiem C++. Należy zaznaczyć, że pomysł z Arduino - który zdobył popularność na całym świecie - był "strzałem w dziesiątkę" i że można porównać z nim tylko Visual Bacic Microsoftu z przed kilkudziesięciu lat. Ja mam to szczęście, że zaangażowany byłem i teraz jestem w obu projektach popularyzatorskich. Geriatrzy twierdzą, że nic tak dobrze nie robi na starość jak angażowanie swego intelektu w jakąś pasję, ja to obecnie czynię z dużą satysfakcją. Muszę wszakże przyznać, że w stosunku do czasu Visual Basicu mam znacznie słabszą pamięć i co chwilę - podczas eksperymentów - muszę posiłkować się wiedzą z komputera, choć nieco wcześniej czytałem istotne dla mnie wówczas materiały. Trochę utrudnia mi to pisanie kodu, bowiem często muszę mieć otwartych kilka stron by wyszukiwać w nich niezbędne dane. Już w tej chwili mogę ocenić ten zakres Arduino w którym się poruszam, jest to zapewne 10 - 15 % jego możliwości w ramach z kolei moich zdolności percepcji tej współczesnej elektroniki. I tak - po pierwsze zdziwiony jestem systemem zapisu plików (rozszerzenie *.ino) które muszą być zlokalizowane w katalogu o tej samej nazwie co sam plik ??? Po drugie system oparty jest na dziesiątkach bibliotek, często tworzonych przez programistów hobbystów, którzy nie publikują ich pełnych możliwości i funkcjonalności. Przykładem może być czujnik temperatury i wilgotności,
musiałem próbować kilka bibliotek obsługujących ten czujnik, nim znalazłem właściwą i dopiero kod dał się skompilować. Biblioteki dobrze opracowane znacznie upraszczają proces pisania kodu, bo wystarczy odwołać się po nazwie do odpowiedniej funkcji w tej bibliotece i nasz kod może ograniczyć się czasami do jednej linijki, przykład: W pewnym momencie uświadomiłem sobie, że jestem o krok od uzależnienia tą elektroniką, wciąż przeszukiwałem internet w poszukiwaniu nowych czuiników na których mógłbym ekserymentować. Doszło do tego, że sprowadziłem kilkanaście modułów gdzieś z Chin za posrednictwem AliExpress'u, oczekując 3,4 tygodnie na dostawę. Również owładnęła mną chęć poszukiwania w internecie coraz to nowych przykładów programowania w Arduino, by móc je zastosować w moich eksperymentach. 4 sirpnia 2023r. zamówiłem jeszcze w Aliexpresie 3 czujniki temperatury i ciśnienia - 2 różne, oraz moduł z żyroskopem
Wyżj widoczna zespolona wtyczka modułów zegara i czytnika SD. "Wielokąt_grafika_komputerowa.ino" to kod arduino adaptowany z kodu języka "Basic", jeszcze
z czasów komputerów "Atari" i "Commodore 64" ![]() W 2024 roku zainstalowałem nową wersję Arduino IDE 2.3.6 . Chińczycy, poprzez funkcjonujący u nas w kraju kartel handlowy Alliexpress dostarczają polskim hobbystom elektronikom bardzo tanie podzespoły elektroniczne w tym przypadku chodzi mi o wyświetlacze TFT LCD. W 2025 r. nabyłem pierwszy kolorowy wyświetlacz 1,8" LCD 160x128 px. Posiada on 8 szpilek i dał się bez problemu podłączyć do kupionej nieco wczesniej płytki procesora ESP32. Sposób połączenia znalazłem w internecie. Prócz 2 przewodów zasilających 3,3 V istotnych jest jeszcze 5 połączeń. Na tym procesorze i tym wyświetlaczu napisałem kilka programów graficznych, zaś z internetu ściągnąłem bardziej skomplikowane programy. Zachęcony tymi sukcesami zamówiłem poprzez Alliexpress większy takze kolorowy wyswietlacz 2,4" o rozdzielczości 360x240 px. z dotykowym ekranem (+ 6 pinów). Inne piny są analogiczne, choć dwa mają inne oznaczenia. Oczywiście jest większy komfort wizualny, a teraz jeszcze spróbuję okablować i uruchomić ekran dotykowy. Muszę w tym miejscu wspomnieć, że gdy w 2024 r. pomyślnie programowałem na wyświetlaczach OLED, postanowiłem kupić i kupiłem duży wyświetlacz TFT LCD 480x360 px. ale niestety wtedy nie udało mi się go zainstalować, teraz gdy mam trochę więcej doświadczenia, postanowiłem zabrać się do niego. Niestety znów musiałem się poddać mimo przewertowania internetu. W tym miejscu opiszę sytuację tych tanich, chińskich wyswietlaczy. Wygląda na to, że sprzedają oni nie wpełni sprawne wyświetlacze, lub też są to wykonania ze zmienionymi parametrami i trzeba mieć dużą wiedzę by takie wyświetlacze dobrze zaprogramować. Coś w tym jest na żeczy, bo rozpiętość cen na wyglądajace identyczne urządzenia jest bardzo duża: ja płaciłem kilkadziesiąt zł. a są też ceny kilkuset złotowe. Oczywiście hobbystycznie używam na ogół najtańszych. Wyświetlacze LCD - od prawej: "mały", "średni", "duży", pod nimi mikroprocesor ESP32 . |