Każdy lubi Arduino, od najmniejszych modułów na Attiny85 po największe moduły oparte na mikrokontrolerach MEGA2560. Niestety, mają one swoje ograniczenia - jeśli potrzebujemy więcej mocy obliczeniowej, wyższej precyzji czy większej liczby wejść analogowych, to nie mamy zbyt wielkiego wyboru w rodzinie Arduino... Jest jednak pewne eleganckie wyjście, które sprawi, że wcale nie musimy opuszczać tego ekosystemu.
Istnieje płytka kompatybilna z Arduino nano z mikrokontrolerem z rodziny STM32 - Blue Pill (ang. niebieska pigułka, od koloru PCB). Niestety - jest tutaj pewien haczyk - nie można jej programować przez USB, ponieważ układ na niej nie posiada preprogramowanego bootloadera (to taki niewielki program, który działa trochę jak system operacyjny na mikrokontrolerze i pozwala wgrywać oprogramowanie przez USB.
W poniższej instrukcji dowiemy się, jak w prosty sposób wgrać do układu bootloader, kompatybilny z Arduino, dzięki czemu będziemy mogli programować te układy z Arduino IDE, jak każdy inny moduł z tego ekosystemu.
Krok 1: Co będzie nam potrzebne
Potrzebujemy oczywiście samej płytki - można ją kupić na eBay, AliExpress czy Allegro.
Oprócz samego modułu potrzebujemy także konwertera USB do UART TTL, aby wgrać pierwszy program - bootloader - do pamięci mikrokontrolera. Przykładowy konwerter pokazano na zdjęciu w artykule. W zasadzie każdy konwerter się nada.
Finalnie, potrzebujemy oczywiście kabelków, by podłączyć kontroler do modułu, ale to coś, co każdy miłośnik Arduino na pewno posiada w swoim warsztacie.
Krok 2: Konfiguracja Arduino IDE
Zanim zaczniemy podłączać i programować Blue Pill poprzez Arduino IDE, musimy zrobić kilka prostych rzeczy. Po pierwsze - musimy załadować dane konfiguracyjne dla tego układu do naszego środowiska. W tym celu naciskamy w Arduino IDE na File i wybieramy menu Preferences. Otworzy się nowe okienko, w którym musimy znaleźć ikonkę z opisem "Additional Boards Manager URLs:" Tam dodajemy link do pliku konfiguracyjnego dla STM32: http://dan.drown.org/stm32duino/package_STM32duino_index.json.
Jeśli tutaj już coś się znajduje, to po prostu dodajmy kolejny wpis w nowej linii. Możemy teraz zamknąć Arduino IDE i ponownie je uruchomić. Teraz wybieramy w menu Tools zakładkę boards i Board Manager (jest pierwszy na liście). W okienku "Filter your search..." wpisujemy stm32f1, aby przefiltrować dostępne opcje. Powinien być jeden rezultat wyszukiwania. Gdy odnajdziemy poprawny sterownik, możemy w niego kliknąć, by zainstalować go w naszym IDE. Po tym możemy już wyłączyć Arduino IDE - jego konfiguracja jest zakończona.
Krok 3: Sterowniki
Po podłączeniu Blue Pill do komputera Windows nie będzie wykrywał automatycznie tego urządzenia, konieczna jest instalacja sterowników. To też bardzo prosty proces. Zaczynamy od pobrania sterowników. Znajdują się one tutaj.
Po wejściu w repozytorium, naciskamy na zielony przycisk "Clone or Download" i wybieramy "Download ZIP". Po jego pobraniu ściągamy paczkę i kopiujemy do folderu z Arduino IDE. Jeśli zainstalowaliśmy oprogramowanie w domyślnej lokalizacji, znajdziemy je w C:\Program files(x86)\Arduino. Znajdujemy bądź tworzymy tam folder pod nazwą "hardware" i kopiujemy tam plik "Arduino_STM32-master" z pobranego pliku ZIP. Zmieńmy jego nazwę na Arduino_STM32.
Na tym etapie przygotowanie oprogramowania jest prawie gotowe. Czeka nas tylko jeszcze jeden krok.
Krok 4: Wgrywanie bootloadera
Musimy wgrać bootloader. W tym celu potrzebujemy dwóch rzeczy - program udo ładowania firmware do STM32, który pobrać można tutaj (trzeba zarejestrować się na stronie i będzie można go pobrać) oraz samego bootladera w binarnej postaci, który znajdziemy w tym repozytorium. Wybieramy plik "generic_boot_pc13.bit" i po prostu go ściągamy.
Teraz mamy wszystko, co jest nam potrzebne. Musimy podłączyć konwerter USB-UART do Blue Pill i go załadować. Połączenia są bardzo proste, tak jak opisano je w tabeli:
Ustawiamy ponadto najwyżej znajdującą się zworkę na module z STM32 w prawej pozycji. Możemy teraz podłączyć konwerter do portu USB w komputerze.
Teraz możemy zainstalować oprogramowanie, które pobraliśmy. Wystarczy kliknąć w ściągnięty instalator i postępować zgodnie z instrukcjami. Po jego uruchomieniu w programatorze powinno być widać nowy port COM. Jeśli w naszym systemie się on nie pojawił, to trzeba sprawdzić wszystkie połączenia w naszym układzie i uruchomić program ponownie.
Po poprawnym wykryciu portu COM, klikamy "Next" trzy razy, aż w końcu dojdziemy do okienka, w którym możemy wybrać opcję "Download to device". Wybieramy tam opcję "Download from file", i lokalizujemy pobrany wcześniej plik bootloadera. Następnie klikamy OK i ponownie "Next". Program automatycznie zainstaluje nowy firmware. Można teraz załadować program, ale nie można jeszcze odłączać płytki od komputera.
Najpierw przekładamy górną zworkę z powrotem w lewą pozycję, tak że obie zworki są w pozycji zero. Teraz możemy wszystko rozłączyć.
Krok 5: Pierwszy program
Możemy teraz podłączyć Blue Pill do komputera i uruchomić Arduino IDE. W menu Boards wybieramy "Generic STM32F103C series". Następnie wybieramy opcję ładowania programu - "STM32duino bootloader", gdzie jako port podajemy "COMX (Maple Mini)" gdzie X to numer, jaki nasz komputer przyporządkował nowemu portowi szeregowemu.
Teraz Blue Pill jest rozpoznawany jako Maple Mini. Możemy zacząć pisać i ładować do układu szkice w Arduino IDE.
Pierwszy program nie musi być niczym szczególnym. By sprawdzić poprawność montażu naszej instalacji, wystarczy skompilować i wgrać pusty, domyślny szkic składający się z setupu i pętli. Możemy dodatkowo dorzucić do niego Serial.print, aby sprawdzić na 100%, że układ poprawnie działa. Poniżej znajduje się kod tego przykładowego programu, który możemy skopiować do Arduino IDE.
Program ten będzie wysyłał poprzez port szeregowy powitalny napis w pętli. Możemy go odczytać korzystając z wbudowanego w Arduino IDE monitora portu szeregowego.
I gotowe! Teraz możesz przystąpić do korzystania z modułu z STM32 tak samo jak ze zwykłym Arduino.
Źródło: https://www.instructables.com/id/Programming-STM32-Blue-Pill-Via-USB/
Istnieje płytka kompatybilna z Arduino nano z mikrokontrolerem z rodziny STM32 - Blue Pill (ang. niebieska pigułka, od koloru PCB). Niestety - jest tutaj pewien haczyk - nie można jej programować przez USB, ponieważ układ na niej nie posiada preprogramowanego bootloadera (to taki niewielki program, który działa trochę jak system operacyjny na mikrokontrolerze i pozwala wgrywać oprogramowanie przez USB.
W poniższej instrukcji dowiemy się, jak w prosty sposób wgrać do układu bootloader, kompatybilny z Arduino, dzięki czemu będziemy mogli programować te układy z Arduino IDE, jak każdy inny moduł z tego ekosystemu.
Krok 1: Co będzie nam potrzebne
Potrzebujemy oczywiście samej płytki - można ją kupić na eBay, AliExpress czy Allegro.
Oprócz samego modułu potrzebujemy także konwertera USB do UART TTL, aby wgrać pierwszy program - bootloader - do pamięci mikrokontrolera. Przykładowy konwerter pokazano na zdjęciu w artykule. W zasadzie każdy konwerter się nada.
Finalnie, potrzebujemy oczywiście kabelków, by podłączyć kontroler do modułu, ale to coś, co każdy miłośnik Arduino na pewno posiada w swoim warsztacie.
Krok 2: Konfiguracja Arduino IDE
Zanim zaczniemy podłączać i programować Blue Pill poprzez Arduino IDE, musimy zrobić kilka prostych rzeczy. Po pierwsze - musimy załadować dane konfiguracyjne dla tego układu do naszego środowiska. W tym celu naciskamy w Arduino IDE na File i wybieramy menu Preferences. Otworzy się nowe okienko, w którym musimy znaleźć ikonkę z opisem "Additional Boards Manager URLs:" Tam dodajemy link do pliku konfiguracyjnego dla STM32: http://dan.drown.org/stm32duino/package_STM32duino_index.json.
Jeśli tutaj już coś się znajduje, to po prostu dodajmy kolejny wpis w nowej linii. Możemy teraz zamknąć Arduino IDE i ponownie je uruchomić. Teraz wybieramy w menu Tools zakładkę boards i Board Manager (jest pierwszy na liście). W okienku "Filter your search..." wpisujemy stm32f1, aby przefiltrować dostępne opcje. Powinien być jeden rezultat wyszukiwania. Gdy odnajdziemy poprawny sterownik, możemy w niego kliknąć, by zainstalować go w naszym IDE. Po tym możemy już wyłączyć Arduino IDE - jego konfiguracja jest zakończona.
Krok 3: Sterowniki
Po podłączeniu Blue Pill do komputera Windows nie będzie wykrywał automatycznie tego urządzenia, konieczna jest instalacja sterowników. To też bardzo prosty proces. Zaczynamy od pobrania sterowników. Znajdują się one tutaj.
Po wejściu w repozytorium, naciskamy na zielony przycisk "Clone or Download" i wybieramy "Download ZIP". Po jego pobraniu ściągamy paczkę i kopiujemy do folderu z Arduino IDE. Jeśli zainstalowaliśmy oprogramowanie w domyślnej lokalizacji, znajdziemy je w C:\Program files(x86)\Arduino. Znajdujemy bądź tworzymy tam folder pod nazwą "hardware" i kopiujemy tam plik "Arduino_STM32-master" z pobranego pliku ZIP. Zmieńmy jego nazwę na Arduino_STM32.
Na tym etapie przygotowanie oprogramowania jest prawie gotowe. Czeka nas tylko jeszcze jeden krok.
Krok 4: Wgrywanie bootloadera
Musimy wgrać bootloader. W tym celu potrzebujemy dwóch rzeczy - program udo ładowania firmware do STM32, który pobrać można tutaj (trzeba zarejestrować się na stronie i będzie można go pobrać) oraz samego bootladera w binarnej postaci, który znajdziemy w tym repozytorium. Wybieramy plik "generic_boot_pc13.bit" i po prostu go ściągamy.
Teraz mamy wszystko, co jest nam potrzebne. Musimy podłączyć konwerter USB-UART do Blue Pill i go załadować. Połączenia są bardzo proste, tak jak opisano je w tabeli:
Konwerter USB UART | Blue Pill |
TX | A10 |
RX | A9 |
VCC | 3,3 V |
masa | GND |
Ustawiamy ponadto najwyżej znajdującą się zworkę na module z STM32 w prawej pozycji. Możemy teraz podłączyć konwerter do portu USB w komputerze.
Teraz możemy zainstalować oprogramowanie, które pobraliśmy. Wystarczy kliknąć w ściągnięty instalator i postępować zgodnie z instrukcjami. Po jego uruchomieniu w programatorze powinno być widać nowy port COM. Jeśli w naszym systemie się on nie pojawił, to trzeba sprawdzić wszystkie połączenia w naszym układzie i uruchomić program ponownie.
Po poprawnym wykryciu portu COM, klikamy "Next" trzy razy, aż w końcu dojdziemy do okienka, w którym możemy wybrać opcję "Download to device". Wybieramy tam opcję "Download from file", i lokalizujemy pobrany wcześniej plik bootloadera. Następnie klikamy OK i ponownie "Next". Program automatycznie zainstaluje nowy firmware. Można teraz załadować program, ale nie można jeszcze odłączać płytki od komputera.
Najpierw przekładamy górną zworkę z powrotem w lewą pozycję, tak że obie zworki są w pozycji zero. Teraz możemy wszystko rozłączyć.
Krok 5: Pierwszy program
Możemy teraz podłączyć Blue Pill do komputera i uruchomić Arduino IDE. W menu Boards wybieramy "Generic STM32F103C series". Następnie wybieramy opcję ładowania programu - "STM32duino bootloader", gdzie jako port podajemy "COMX (Maple Mini)" gdzie X to numer, jaki nasz komputer przyporządkował nowemu portowi szeregowemu.
Teraz Blue Pill jest rozpoznawany jako Maple Mini. Możemy zacząć pisać i ładować do układu szkice w Arduino IDE.
Pierwszy program nie musi być niczym szczególnym. By sprawdzić poprawność montażu naszej instalacji, wystarczy skompilować i wgrać pusty, domyślny szkic składający się z setupu i pętli. Możemy dodatkowo dorzucić do niego Serial.print, aby sprawdzić na 100%, że układ poprawnie działa. Poniżej znajduje się kod tego przykładowego programu, który możemy skopiować do Arduino IDE.
Program ten będzie wysyłał poprzez port szeregowy powitalny napis w pętli. Możemy go odczytać korzystając z wbudowanego w Arduino IDE monitora portu szeregowego.
Code: c
I gotowe! Teraz możesz przystąpić do korzystania z modułu z STM32 tak samo jak ze zwykłym Arduino.
Źródło: https://www.instructables.com/id/Programming-STM32-Blue-Pill-Via-USB/
Cool? Ranking DIY