Blog (15)
Komentarze (117)
Recenzje (0)

Raspberry Pi, Arduino czy może "gołe" Atmele?

@redsplRaspberry Pi, Arduino czy może "gołe" Atmele?01.04.2017 01:53

W ostatnich latach rynek małych urządzeń przeznaczonych dla hobbystów znacznie się powiększył. Jeszcze 15 lat temu nie istniało ani Arduino ani coraz popularniejsze dzisiaj Raspberry Pi, a jeśli jako domorosły elektronik chcieliśmy zbudować jakiś układ zdolny do jakichkolwiek obliczeń, byliśmy zmuszeni do użycia mikrokontrolerów takich jak Atmel-AVR czy PIC. W dzisiejszym wpisie chciałbym opisać do czego nadają się niektóre z wyżej wypisanych urządzeń i dlaczego Raspberry Pi nie jest zawsze najlepszym rozwiązaniem.

Najtańszym rozwiązaniem z powyższych jest Atmel-AVR. Są to małe chipy opartę o architekturę RISC. AVR są bardzo energooszczędne oraz tanie(najtańsze mikrokontrolery z serii ATmega kosztują już po 3-4zł), mają dużo wyprowadzeń GPIO (pomijając serię ATtiny która jest zaprojektowana aby była jak najmniejsza, przez co nie może mieć bardzo dużej ilości wyprowadzeń). Mają one jednak małą pojemność(pamięć flash w najlepszym urządzeniu ma wielkość 384KB) i mało pamięci RAM. Dużym problemem dla niektórych będzie też konieczność posiadania zewnętrznego programatora. AVR są bardzo dobrym rozwiązaniem dla hobbystów z małym budżetem, ale nie tylko - o tym za chwilę.

ATmega8 w obudowie PDIP | Źródło: Wikimedia Commons, autor: Pengo
ATmega8 w obudowie PDIP | Źródło: Wikimedia Commons, autor: Pengo

AVRy mają pewien duży problem - urządzenia peryferyjne często nie mają gotowych bibliotek, przez co więcej trzeba napisać w swojej własnej aplikacji; Problemem jest też brak lub szczątkowa kompatybilność kodu między poszczególnymi mikroprocesorami - przykładowo, ATmega16 nie jest kompatybilna z większością kodu z ATmegi 8 przez zmienione rejestry i małe poprawki w architekturze procesora. Pare powyższych problemów prawie całkowicie rozwiązał projekt Arduino - płytki z wbudowanym programatorem opartej o ATmegę. Kompatybilność kodu została rozwiązana przez małą liczbę modeli płytek, a sam kod można pisać o wiele łatwiej dzięki rozszerzonemu o biblioteki Arduino językowi C++. Arduino nie jest tak tanie jak AVRy, ale oryginał można dostać już w granicach 100zł, nie wspominając nawet o klonach które potrafią być nawet 5 razy tańsze.

Arduino UNO, prawdopodobnie najpopularniejszy model Arduino | Źródło: Wikimedia Commons, autor: JotaCartas
Arduino UNO, prawdopodobnie najpopularniejszy model Arduino | Źródło: Wikimedia Commons, autor: JotaCartas

Jako ostatni do gry wchodzi Raspberry Pi - najdroższe rozwiązanie z powyższych które oprócz pełnego linuxa ładowanego z karty SD/µSD nie ma zbyt wiele więcej do zaoferowania. Owszem, jest to rozwiązanie łatwiejsze w użyciu, ma wbudowaną karte sieciową oraz USB dzięki czemu możemy łatwiej komunikować się z jeszcze większą gamą urządzeń, nie mówiąc nawet o tym, że najłatwiej się dla niego programuje(dla AVR/Arduino właściwie robimy cały system operacyjny, a na Raspberry możemy jedynie piszemy programy), ale czy na pewno jest to konieczne? Mam na myśli boom na raspberry pi z ostatnich paru lat - o ile nie jestem przeciwnikiem urządzenia, to jednak jestem za przemyśleniem każdego zastosowania przynajmniej dwa razy. Zmierzam do bolesnego faktu - o ile łatwo jest użyć rpi bo robią to wszyscy, o tyle warto czasami nawet tylko dla ćwiczenia spróbować wykonać jakiś projekt na AVRze - niektóre projekty po prostu nie wykorzystają pełnego potencjału Malinki, przez co efektywnie będziemy wuyrzucać kasę w błoto. To samo zjawisko można było zaobserwować na nieco mniejszą skalę pare lat temu z Arduino.

tl;dr - co wybrać?

To zależy - jeśli wiesz dokładnie co chcesz zrobić, warto przemyśleć czy na pewno twój projekt będzie korzystał z pełnego potencjału danego urządzenia. Przykładowo, jeśli chcemy zamrugać diodką i nie planujemy rozbudowy(tak, wiem, surrealistyczny przykład) to Raspberry Pi będzie się marnować, to samo z Arduino oraz nawet z ATmegą - do takiego zastosowania wystarczy nawet prosty NE555, czyli chip z zegarem. Za to jeśli w planach mamy mały system CCTV to zabieranie się za to zarówno na AVR jak i na Arduino jest nierealne, a Raspberry Pi będzie dobrze wykorzystane.

Przykładowy układ z mrugającą diodą oparty o NE555 | Źródło: Wikimedia Commons, autor: MrStanleZ
Przykładowy układ z mrugającą diodą oparty o NE555 | Źródło: Wikimedia Commons, autor: MrStanleZ

Jeśli za to nie wiesz co będziesz chciał wykonać i chcesz zakupić coś do eksperymentów, to wybór należy do Ciebie - ja rekomendowałbym Malinę, ale jest to kwestia preferencji. Przy wyborze warto również pamiętać, że z rpi nauczysz się innych rzeczy niż z ATmegą czy Arduino - dobrze wykorzystany AVR może zachęcić do nauki C lub C++ a Raspberry można tak na prawdę używać nie mając żadnej wiedzy o programowaniu.

Dziękuje za przeczytanie wpisu i zapraszam do krytyki w komentarzach.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.