Tani i przydatny moduł Arduino Nano V3.0
Jak pisałem już wcześniej, nie zaliczam się do grona zagorzałych zwolenników Arduino, ale doceniam te moduły, m.in. za możliwość szybkiego prototypowania. Poza bardzo popularną płytką UNO, maniacy DIY często sięgają po maleńki moduł NANO, niezastąpiony w szybkich projektach budowanych na płytkach stykowych. Prócz dużej funkcjonalności (na pokładzie atmega328), bardzo pozytywnie zaskakuje cena – klon na chińskich aukcjach kosztuje około 2$.
Arduino Nano – hardware
Moduł Arduino Nano można spotkać w dwóch wersjach: V2.x – z atmega168 i V3.x z atmega328. Ten drugi moduł jest oczywiście znacznie bardziej funkcjonalny, choćby ze względu na dwukrotnie większą pamięć Flash. Możliwości są zbliżone do Arduino Duemilanove, jednak opisywana płytka jest znacznie, znacznie mniejsza. Wymiany laminatu (chiński klon) to zaledwie 18x43mm.
Na warstwie górnej znajdziemy mikrokontroler AVR, gniazdo miniUSB-B (szkoda, że nie microUSB), przycisk Reset, 4 diody LED (RX, TX, POWER, dioda podłączona pod D13). Jest też 6-pinowe gniazdko do programowania atmegi z wykorzystaniem portu ISP (np. wgranie bootloadera). Bardzo przydatne są opisy portów – ułatwia to podłączanie na płytkach stykowych.
Na dolnej części laminatu w oryginale powinien znajdować się układ FTDI FT232, chiński klon posiada znany układ CH340, który zapewnia stabilną komunikację mikrokontroler<->PC (przynajmniej w Linuksie). Znalazło się też miejsce dla stabilizatora napięcia i dwóch rzędów goldpinów 2×15.
Posiadany przeze mnie chiński klon charakteryzuje się przeciętną jakością wykonania, głównie z uwagi na luty elementów przewlekanych (goldpinów). Nie zmienia to faktu, że układ działa prawidłowo.
Arduino NANO V3.0 i Arduino IDE
Testy z opisywanym modułem przeprowadzałem w środowisku Arduino IDE 1.6.5. Nie było najmniejszych problemów z komunikacją. Płytka wyjęta z żółtej koperty od razu pracowała poprawnie. Mimo to, wgrałem przez USBasp bootloader, by uniknąć niespodzianek w przyszłości. Osoby po raz pierwszy odpalające Arduino IDE w swoich linuksach może zaskoczyć brak komunikacji. Rozwiązanie jest proste – dodanie się do grupy dialout – opisałem to tutaj: Arduino IDE w Linuksie.
Wgrywanie softu do płytki będzie powodowało miganie ledów RX i TX. Poprawna transmisja to brak komunikatów z błędami. Jedyny problem napotkany przeze mnie, to brak komunikacji (i zasilania płytki), spowodowany mniej standardowym wtykiem mini USB jakiegoś kabla, który nigdy nie sprawiał mi problemów. Wystarczyło o 1mm wysunąć wtyk by wszystko działało jak należy. Krótki przewód dostarczony z modułem działał prawidłowo. Ot, chińskie standardy…
Arduino Nano w akcji
Jeśli planuję budowę termometru, zegara czy podobnego urządzenia, które ma pracować samodzielnie, to raczej nie biorę pod uwagę Arduino. Wolę mikrokontroler zaprogramowany softem napisanym w C. Jeśli jednak muszę na szybko sprawdzić, czy LCD 2×16 jest sprawny, albo chcę zobaczyć możliwości wyświetlacza OLED 128x64px, to Arduino, jego biblioteki i gotowe przykłady są nieocenione. Wystarczy 5 minut, by zbudować układzik testowy na płytce stykowej, zasilany z USB:
Z uwagi na prostotę programowania w Arduino IDE, równie szybko można wprowadzać zmiany we wczytywanych przykładach.
Męczyłem się kiedyś z czujnikiem DHT11, który za nic w świecie nie chciał współpracować z BananaPi. Ciężko było mi stwierdzić, czy to wina wadliwego układu, czy kodu. Szybki test na Arduino NANO i już wiedziałem, że czujnik działa prawidłowo.
I krótki film, pokazujący sterowanie wyświetlaczem OLED za pomocą Arduino Nano i bibliotek adafruit:
Podsumowanie
Na pytanie czy warto kupić klon arduino nano v3.0 każdy musi sobie odpowiedzieć sam. Według informacji ze strony arduino.cc, Arduino Nano jest dostępne na terenie USA, nie udało mi się znaleźć odpowiednika w płytach Genuino dostępnych dla “reszty świata”. Mimo braku w firmowym sklepie, moduł jest dostępny na stronie producenta, firmy Gravitech za “jedyne” $34.99. Informacje techniczne (porty, zasilanie itp) warto jak zawsze, szukać na stronie źródłowej Arduino.
A w jakim sktepie można znaleźć tą chińską “podróbkę”
https://www.google.pl/search?q=arduino+nano&oq=arduino+nano&aqs=chrome..69i57j0l5.2424j1j7&sourceid=chrome&ie=UTF-8
Polecam Aliexpress – poniżej 2$ z dostawą do domu
Pytanie do Autora – czym tak mocno różni się C Arduino IDE (poza setup() loop() i paroma drobiazgami ) że omijasz go szerokim łukiem pisząc jednocześnie że jest banalnie prosty i przyjazny.
Arduino IDE to nie tylko płyty Arduino – wystarczy spróbować zaprogramować ESP przez Arduino IDE by zobaczyć jak przyjemnie się nim pracuje w porównaniu z innymi programami (np. LUA)
Tzn. w jaki sposób omijam szerokim łukiem? Wolę C, bo jest bardziej uniwersalny (nie trzeba wgrywać bootloadera, działa na większej liczbie mikrokontrolerów, mam wrażenie dużo większej kontroli nad zasobami mikrokontrolera). Arduino jest na pewno prostsze i umożliwia znacznie szybsze budowanie prototypów.
Pardon
W taki razie źle odczytałem twoją wypowiedź
Gdzie można znaleźć bootloader do tej podróbki? Usunąłem go wgrywając programy przez usbasp…
Bootloader zaladujesz przez usbasp z poziomu Arduino IDE