Pierwsze korki w pracy z Arduino Pro Mini
10/07/2020Jeśli w którymś z Twoich projektów masz ograniczenia przestrzenne lub energetyczne, jednym z najlepszych rozwiązań jest praca z płytami Arduino Pro Mini. Port USB i część obwodowa konwertera USB do UART zostały usunięte z konstrukcji. W wyniku tego jego wymiary są znacznie zmniejszone. Właśnie dlatego do nowej wersji Bike Pixel myślę o użyciu jednej z tych płyt. Jednak praca z Arduino Pro Mini nie jest taka prosta jak w przypadku innych płyt Arduino. Do wrzucenia naszego kodu trzeba będzie poczynić parę dodatkowych kroków.
Obecnie istnieją dwie wersje płyt Pro Mini. Można je znaleźć w wersji 3.3V z procesorem o mocy 8MHz oraz 5V o mocy 16MHz. W obu przypadkach, oprócz zmniejszenia swoich rozmiarów, zużywają mniej energii niż ich starsi bracia (szczególnie w przypadku wersji 3.3V).
Wersja | Wys. | Szer. | Dług. | Cena (klon) |
Arduino Uno | 10 mm | 53.4 mm | 68.6 mm | 10.76 zł |
Arduino Nano | 7.6 mm | 18.5 mm | 44.0 mm | 7.78 zł |
Arduino Pro Mini | ~2 mm | 17.8 mm | 33.0 mm | 7.26 zł |
Jak widać na tabeli, cena Pro Mini jest również nieco niższa. Wynika to głównie z faktu, że płyta ma mniejszą liczbę komponentów.
Moduł konwersji USB do szeregowego UART
Jako skutek niższej ceny, zużycia prądu i wielkości będziemy mieli dostęp do mniejszej liczby PIN-ów i braku portu USB. Przez to będziemy musieli pracować z zewnętrznym modułem konwertera sygnałów, aby zaprogramować płytkę Arduino.
Na rynku dostępnych jest wiele modułów, które pozwalają nam w łatwy sposób podłączyć płytę Pro Mini do wejścia USB komputera w celu wykonania jego programowania. W moim przypadku użyłem modułu FTDI, który jest jednym z najtańszych (5,91 zł w AliExpress, 20,10 na Amazon.pl) i integruje układ FTDI FT232RL. Jest on odpowiedzialny za konwersję sygnałów USB na sygnały UART (RS232), które są rozumiane przez mikrokontroler Arduino.
Połączenie
Aby podłączyć moduł FTDI do Arduino, wystarczy tylko odpowiednio podpiąć piny programistyczne na obu płytach. Oznacza to, że będziemy podłączać pasujące do siebie piny bezpośrednio lub za pomocą kabli do siebie w taki sposób:
- DTR do DTR (czyli Data Terminal Ready) (lub BLK): który tylko utrzymuje aktywny stan resetu Arduino. Podczas tego procesu tzw. bootloader jest ładowany i sprawdza przez kilka sekund, czy próbujesz wysłać kod. Jeśli tak, zapisze pamięć flash z nowym programem.
- TXD do RXD (Transmit Data, Read Data): żeby dane szeregowe przesyłane przez Arduino były odbierane przez moduł FTDI.
- RXD do TXD: aby dane odbierane przez płytę Arduino były przekazywane przez programistę.
- VCC do VCC (Voltage Common Collector): który zasila płytę Arduino napięciem 5V lub 3,3V. W zależności od wybranej przez nas konfiguracji, będziemy musieli również skonfigurować przełącznik na płycie FTDI.
- GND do GND (Ziemia): co zrobi uziemienie.
- GND do GND (nieobowiązkowo): to w zasadzie nie jest konieczne do połączenia. Poza tym, w przypadku niektórych modułów programistycznych nie jest on nawet dołączony.
Jeśli pracujecie z modułem zaprojektowanym dla Arduino, połączenie będzie tak proste jak wprowadzenie pinów modułu FTDI do płyty Pro Mini. W moim przypadku pracuję z klonem i połączenie wyglądało tak jak na zdjęciu.
Ustawienia środowiska deweloperskiego Arduino
Po podłączeniu tych pinów, możemy podłączyć moduł FTDI do komputera przez USB i wysłać kod do płyty. Aby to zrobić, w zależności od tego czy pracujemy z Arduino 3.3V czy 5V w menu Narzędzia w Arduino IDE, musimy wybrać opcje:
- Płyta: Arduino Pro lub Pro Mini.
- Procesor: ATmega328P (5V, 16MHz) lub ATmega328P (3.3V, 8MHz) w zależności od wersji, którą posiadamy. Również w tym menu znajdują się dodatkowe opcje do wyboru procesora ATmega168, którego można znaleźć w starszych wersjach. W przypadku nowych wersji zwykle znajduje się procesor ATmega328P. Główną różnicą pomiędzy nimi jest to, że ten ostatni ma dwa razy większą pamięć do wgrywania naszego kodu.
Po skonfigurowaniu IDE, możemy skompilować i wgrać nasz kod na płytę poprzez naciśnięcie przycisku Upload na górnym pasku narzędzi (lub w menu Program/Upload). Jeśli wszystko pójdzie dobrze, zobaczysz, że migają diody LED sygnalizacyjne transmisję i odbiór danych (TXD, RXD), i Twój kod zacznie działać na płycie Arduino, gdy tylko operacja zostanie zakończona. W trakcie tego procesu, aby piny nawiązały kontakt, zwykle trzeba trochę przycisnąć Arduino do modułu FTDI. Jeśli lampka zasilania na Arduino nadal nie jest włączona, niestety będzie trzeba użyć przewodów.
Podsumowanie i więcej informacji
Chociaż na początku może wyglądać trochę przerażające, jak widać, używając Arduino Pro Mini w swoich projektach jest bardzo proste. Wystarczy podłączyć moduł FTDI i uzyskać wszystkie korzyści, jakie oferują te płyty. Będziemy mogli zaoszczędzić miejsce, zmniejszyć zużycie prądu i jednocześnie zaoszczędzić trochę pieniędzy.
Aby uzyskać więcej informacji na temat każdego z komponentów zostawiam ci kilka linków:
- Karta katalogowa układu scalonego FTDI FT232RL.
- Szczegóły dotyczące planszy Arduino Pro Mini.