poniedziałek, 11 czerwca 2018

SI4432 moduł RF firmy Silicon Labs - zajęcia praktyczne (artykuł w przygotowaniu)


Wreszcie znalazłem chwilę czasu aby przetestować moduły radiowe RF oparte na chipsecie SI4432 firmy Silicon Labs. Pomimo , że chipset ten nie jest już rekomendowany przez producenta i zaleca się go zastąpić nowszymi wersjami takimi jak np SI446x to jest on nadal bardzo łatwo dostępny i tani. Kompletne moduły można nabyć poniżej 2 USD. Warto zauważyć , że inny popularny u nas moduł radiowy RFM22 firmy Hoperf został zbudowany na bazie  SI4432. Opinie o modułach SI4432 w necie są bardzo pozytywne, jako podstawowe zalety wymienia się niezawodność transmisji i duże zasięgi. No ale najlepszą metodą zweryfikowania opinii innych osób jest wyrobienie jej sobie samemu, najlepiej przez poznanie modułu w praktyce. Co niniejszym czynię.

czwartek, 31 maja 2018

PIC32MM - SPI + DMA zajęcia praktyczne.


Poprzednia randka z SPI i 32-bitowym mikrokontrolerem firmy Microchip PIC32MM została zrealizowana przy wykorzystaniu funkcji wygenerowanych przez wtyczkę do MPLABX-IDE , MCC (MPLAB Code Configuration).  Jakość kodu generowanego przez tę wtyczkę bije na głowę podobne rozwiązania u innych producentów. Wiem, że zaczynam się powtarzać :) ale pracę programistów Microchipa należy docenić, ponieważ dzięki ich trudowi , życie hobbysty jest prostsze :). W artykule pokażę, jak w prosty sposób użyć DMA do transferu danych po SPI oraz inne przydatne rzeczy takie jak np. konfiguracja pinów do współpracy z peryferium sprzętowym.

wtorek, 29 maja 2018

Wyświetlacz OLED 1.3" na sterowniku SH1106 - biblioteka dla PIC32MM

Ponieważ tak się złożyło, że jeden z czytelników mojego bloga, który chce poznać w praktyce PIC32MM, zwrócił się do mnie z prośbą o pomoc w pozyskaniu biblioteki do obsługi wyświetlacza OLED 1.3 opartego na sterowniku SH1106. Biblioteka taka powstała na bazie biblioteki zamieszczonej w zasobach LibStock.
Ja tylko zrobiłem pełną konwersję tej biblioteki do współpracy z 32-bitowym mikrokontrolerem PIC32MM firmy Microchip.
Co ciekawe działanie biblioteki sprawdzane było po stronie czytelnika bo ja takiego wyświetlacza akurat nie posiadałem :) Dzięki temu zadaniu poznałem potęgę GitHuba i jego superancką implementację w MPLABX-IDE. Upewniło mnie to w przekonaniu , że środowisko Microchipa jest bardzo wygodne i przyjemnie się w nim programuje.  Wyświetlacz jak wyświetlacz jest OLED-owy i jest chiński ,co nie gwarantuje , że w kolejnych partiach rzucanych na rynek nie zmieni się np. ilość pinów czy ich funkcjonalność. Nie mniej podstawową zaletą jest tutaj cena i jak na razie łatwa dostępność.

wtorek, 22 maja 2018

MPLABX-IDE współpraca ze zdalnym repozytorium na GitHub.

W tym krótkim artykule zapoznamy się z możliwością współpracy ze zdalnym repozytorium na GitHub-ie. Funkcjonalność taka jest zaimplementowana w MPLAB-X IDE czyli w podstawowym środowisku do programowania MCU PIC firmy Microchip. Nie widzę powodu abyśmy z tej funkcjonalności nie skorzystali a w zasadzie z tego dobrodziejstwa.
Tym bardziej , że jest to bardzo fajne narzędzie i sympatycznie się z niego korzysta. Co to jest GitHub ? w sumie to już nawet nie wypada nie wiedzieć :)
W artykule pokażę jak  podpiąć dowolny projekt w MPLABX-IDE do zdalnego repozytorium, jak zatwierdzać zmiany i wysyłać je. Czyli takie podstawowe rzeczy na dobry początek.

sobota, 19 maja 2018

PIC32MM - SPI zajęcia praktyczne

W tym artykule spróbujemy wykorzystać nabytą wiedzę o SPI w PIC32MM. W szczególności wykorzystamy wygenerowane przez MCC funkcje do obsługi SPI, o których wspominałem w artykule poprzednim. Naszym celem będzie wymiana danych pomiędzy dwoma MCU PIC32MM. Jeden będzie skonfigurowany jako Master a drugi jako Slave czyli klasyczny układ .
Aby zajęcia sprawnie przeprowadzić wykorzystam dwie płytki developerskie PIC32MM mojego autorstwa.  Praktyczna wiedza o SPI przyda nam się w następnym zagadnieniu. Zaczynamy zatem przedstawienie :)

środa, 16 maja 2018

PIC32MM - SPI , szybka konfiguracja za pomocą MCC

W MCU PIC32MM mamy do dyspozycji 3 x SPI, które mają trzy wyróżniające cechy : powiązany interfejs I2S co umożliwa np. przesyłanie muzyki z kodowaniem PCM, zmienną szerokość danych 8,16 i 32 bity oraz bufory FIFO niezależne dla RX i TX. Szybkość do 25 Mbps czyli szybko.W celu zapoznania się z konfiguracją SPI posłużymy się wtyczką do MPLABX-IDE - MCC (MPLAB Code Configurator). Microchip może być dumny z tego narzędzia bo jakość i opis generowanego kodu deklasuje podobne rozwiązania stosowane  u innych producentów MCU.

czwartek, 10 maja 2018

Mikrokontrolery PIC - kilka przydatnych makr oraz jak po swojemu zbudować dostęp do dowolnego rejestru MCU.

Pomimo , że rejestry w mikrokontrolerach PIC są bardzo dobrze opisane przyjaznymi strukturami co znacznie ułatwia programowanie ich , to czasami jednak zachodzi potrzeba zrobienia czegoś po swojemu .....

niedziela, 6 maja 2018

MCP9808 - cyfrowy czujnik temperatury, zajęcia praktyczne .

Biblioteka I2C do PIC32MM przygotowana. Jesteśmy zatem gotowi do poznania od strony praktycznej milutkiego cyfrowego czujnika temperatury MCP9808.
Czujnik ten ma sporo funkcjonalności jak na takie maleństwo i jest bardzo prosty w implementacji. Nie sprawił mi żadnych problemów przy uruchomieniu. Wszystko zaskoczyło od przysłowiowego pierwszego strzała. W sumie sam byłem zdziwiony , że tak łatwo poszło. Do uruchomienia czujnika MCP9808 posłużyłem się moją autorską płytką developerską dla PIC32MM.
Czujnik został osadzony na mini płytce-rozszerzeniu wpiętej w złącze PICbus, w które jest wyposażona moja płytka developerska . Mamy zatem kompletny modularny system do badania różnych komponentów z udziałem uroczego 32-bitowego MCU PIC32MM firmy Microchip.

poniedziałek, 30 kwietnia 2018

PIC32MM 32bity od Microchipa - I2C budujemy bibliotekę.

Część sprzętową czyli budowę własnej płytki developerskiej dla PIC32MM mam za sobą. Płytka umożliwia mi w mega wygodny sposób podjęcie wyzwania poznania tego słodkiego MCU 32 bitowego. Ponieważ w kolejce czeka również do rozpoznania czujnik temperatury Microchipa MCP9808 dlatego potrzebujemy biblioteki I2C do zagadania z tym czujnikiem. Z przyjemnością zabieram się do roboty. Ostatni raz z I2C spotkałem się przy okazji poznawania serii 16 bitowej MCU PIC24HJ. Poczyniłem wówczas artykuł o I2C ,przytoczyłem w nim trochę niezbyt ciężkiej teorii o I2C.

piątek, 27 kwietnia 2018

EFM32TG11 Silicon Labs ARM Cortex M0+ budujemy płytkę developerską (artykuł w przygotowaniu)

Silicon Labs ma w ofercie bardzo ładne i funkcjonalne płytki developerskie dla swoich MCU, to nie są jakieś badziewiaste Nucleo ale dopracowany i przemyślany w każdym szczególe produkt. Najprościej byłoby taką płytkę kupić ale jej cena w przypadku nowej serii Tiny Gecko 11 na poziomie 89 USD jest dla polskiego hobbysty trochę surrealistyczna. Zakasamy zatem rękawy i budujemy własną płytkę za ułamek ceny producenta. Nie będzie może tak piękna jak na zdjęciu ale będzie nasza i nie zaboli nas kieszeń :)

środa, 25 kwietnia 2018

ATMEGA4809 - 8-bitów w popularnym opakowaniu od Microchipa.

Microchip śmiało rozwija swoją ofertę MCU 8 bitowych w oparciu o wydajne rdzenie przejętej firmy ATMEL. Tym razem mamy serię wypuszczoną w jednym formacie obudowy 48-pin. Swoją drogą jest to mój ulubiony format i jak widzę dookoła u różnych producentów bardzo popularny ostatnio. Przyjrzyjmy się zatem co nowe 8-bitowce mają na pokładzie .

wtorek, 24 kwietnia 2018

Simplicity Studio 4 firmy Silicon Labs - IDE dla MCU Silicona z rdzeniem ARM - instalacja LINUX.

Do programowania MCU firmy Silicon Labs mamy do dyspozycji przygotowane przez producenta bezpłatne środowisko Simplicity Studio 4 (SS4). Jeśli ktoś posiada komercyjne IDE takie jak IAR czy KEIL-a uVison to również nimi zaprogramuje MCU Silicona. Pakiet instalacyjny SS4 jest przygotowany dla Windows, Linux, Mac. Środowisko SS4 oparte jest o Eclipsa ma to swoje wady i zalety. Nie mniej warto tu nadmienić , że najlepszym na rynku środowiskiem (m.in najlepsze kompilatory) do programowania MCU ARM-a jest IDE Keila, komercyjna wersja bez żadnych ograniczeń  potrafi kosztować 30 tys złotych !!!! Alleluja.