Arduino Uno
Nie tak dawno temu projekt Arduino zaktualizował swoje dwa czołowe produkty – podstawową płytkę Arduino USB (w różnych wersjach z różnymi nazwami – Duemilanove, Diecimila, …) oraz Arduino Mega. Zmieniono w zasadzie tylko dwie, no niech będzie, że trzy, rzeczy. Co takiego i jakie to ma znaczenie?
Pierwszą jest wygląd. Projekt dorobił się wreszcie własnego logo. W związku z tym zmieniono nadruki na płytce, która w tej chwili jest pięknie przyozdobiona z obu stron.
Drugą zmianą, bardziej istotną jest bootloader. Zamiast dotychczasowego na nowej płytce znajduje się bootloader optiboot. Jest to niezależny projekt nie mający w zasadzie żadnych powiązań z projektem Arduino. Powodem zmiany jest to, że nowy zajmuje 1/4 miejsca (512B) swojego poprzednika (2kB), oraz zapewnia znacznie szybszą komunikację.
Ostatnią, najpoważniejszą i powodującą niezłe zamieszanie modyfikacją jest wymiana układu komunikacyjnego. Komunikacja w Arduino jest (była) zrealizowana niezwykle prosto, a jednocześnie efektywnie. Płytka podłączana jest po prostu za pomocą złącza USB. Jednak chip użyty w Arduino nie posiada obsługi USB, więc potrzebny jest układ konwertujący USB na UART które jest w ATmega. Do tej pory tym układem było FTDI FT232RL. Robiło ono dokładnie to co robić miało i nic więcej. W najnowszej wersji płytki, jego zadanie przejął mikrokontroler ATmega jednak fabrycznie wyposażonym w obsługę USB – ATmega8U2. Układ ten zaprogramowany jest tak aby pełnił rolę swojego poprzednika, czyli konwertował sygnał dla głównej kości Arduino. Jednak gdyby tylko tak to zostawić to nie było by z tej zamiany zbyt wiele pożytku. No może poza faktem, że dzięki temu iż nowy układ jest programowalny, otrzymał on swój własny VendorID i ProductID, czyli numery którymi urządzenia USB przedstawiają się komputerowi. Teraz Arduino przedstawia się komputerowi jako Arduino, a nie jako FTDI. Cały urok nowego rozwiązania polega na tym, że ten układ można przeprogramować, czyli między innymi zmienić mu wspomniane VID i PID, tak aby nasz projekt oparty na tej płytce przedstawiał się komputerowi np. jako mysz, klawiatura lub dowolne inne urządzenie.
I tu pojawiają się wątpliwości:
Po pierwsze, czy to już nie jest zbyt skomplikowane? Układ do komunikacji z drugim układem? Z drugiej strony daje to olbrzymie możliwości dla ambitnych i pomysłowych twórców.
Po drugie wspomniane zamieszanie: Nadanie płytce jej własnego VID i PID powoduje problem dla wszystkich klonów Arduino. Aby były one w pełni zgodne z Arduino Uno muszą posiadać nowy układ komunikacyjny. Ale jak już go posiądą to trzeba go oprogramować. To z kolei wymaga posiadania własnego kompletu identyfikatorów VID i PID, a to pociąga za sobą koszta. Nie bardzo duże (2000$), ale jednak. Jeśli bym np. chciał wyprodukować 5 sztuk dla siebie i znajomych to już miałbym problem.
Po trzecie i absolutne najmniej ważne – moje marudzenie. Arduino zawsze było fajne przez to, że było proste i jednocześnie dawało olbrzymie możliwości. W tej chwili takie proste już nie jest (mam na myśli konstrukcję). Niby cena nie wzrosła, a skoro cena taka sama, a możliwości większe to nie ma o co marudzić. Jednam w moim subiektywnym odczuciu coś jest nie tak. To już nie jest to samo. Gdyby np. zamiast 8U2 wrzucić 32U4 i pozbyć się 328P, wtedy odzyskujemy prostotę i urok konstrukcji. Jednak ze względu na kompatybilność wsteczną oraz inne nie znane powody takiej decyzji nie podjęto. Może w przyszłości?
Recent Comments