Jeśli chodzi o wybór jednego komputera pokładowego, Arduino i Raspberry Pi to wielkie nazwiska, które będziesz rozważać. Ale który z nich wybrać? Do czego najlepiej użyć Arduino? Jakie są wady korzystania z Raspberry Pi? I jak decydujesz między tymi dwoma? To może być trudna decyzja, więc zepsujemy to tutaj dla ciebie.
Na potrzeby tego artykułu będę omawiać Arduino Uno R3 i Raspberry Pi 2 Model B. Istnieje wiele wersji obu płyt i istnieje wiele alternatyw dla Pi i Arduino, które zapewniają różne specyfikacje i możliwości, ale te dwie są obecnie podstawą każdej linii.
Arduino Vs Raspberry Pi
Ogólny cel
Podczas gdy zarówno Arduino, jak i Raspberry Pi są bardzo wszechstronnymi maszynami, oboje mają określone rzeczy, w których są dobrzy.
Arduino to na przykład mikrokontroler, co oznacza, że radzi sobie z kontrolowaniem małych urządzeń, takich jak czujniki, silniki i światła. Właśnie dlatego Arduino najlepiej nadaje się do projektów takich jak budowanie światła budzącego, alarmu wykrywającego ruch, a nawet małego robota. Usłyszysz też, jak ludzie mówią o "prototypowaniu" z Arduino, co jest procesem szybkiego tworzenia prototypowego urządzenia elektronicznego. Jeśli prototyp się powiedzie i urządzenie działa, może być wykonane na większą skalę z obwodami drukowanymi.
Z kolei Raspberry Pi nie jest mikrokontrolerem i nie jest przeznaczony do kontrolowania czujników i innych tego typu rzeczy. Jest to cały komputer z własnym systemem operacyjnym i ma być używany jako jeden. System operacyjny jest raczej minimalny, więc będziesz potrzebować wiedzy o kodowaniu, aby w pełni go wykorzystać, ale jest to jedna z rzeczy, które Raspberry Pi jest świetne: pomagać ludziom w nauce kodowania. Dobrze działa także jako serwer: może komunikować się z innymi komputerami, służyć jako alternatywa dla Chromecasta, udostępniać informacje i rejestrować dane.
Jeden redditor ujął to doskonale: "Moje Pi jest lepsze w rozmawianiu z ludźmi (uruchamianie serwera sieciowego). Mój Arduino lepiej rozmawia z częściami maszyny (ruchome silniki). "
Sprzęt komputerowy
Kiedy patrzysz na Arduino obok Raspberry Pi, jest oczywiste, że sprzęt różni się nieco między nimi. Złam to.
Moc
Wymagania zasilania Arduino są bardzo proste; można go podłączyć do komputera lub do akumulatora, i natychmiast uruchomi kod. Jeśli zasilanie zostanie odłączone, zatrzyma się; nie ma potrzeby uruchamiania procesu wyłączania. Z drugiej strony, Raspberry Pi, ponieważ ma bardziej w pełni funkcjonalny system komputerowy, powinno zostać zamknięte jak zwykły komputer i może zostać uszkodzone przez przerwy w dostawie prądu.
Zarówno Arduino, jak i Raspberry Pi mają bardzo niski pobór mocy i mogą być uruchamiane przez bardzo długi czas bez użycia dużej ilości energii elektrycznej.
Łączność
Raspberry Pi jest gotowy do połączenia z Internetem; ma wbudowany port Ethernet i bardzo łatwo jest uzyskać klucz USB WiFi, aby zapewnić również łączność bezprzewodową (na obrazku poniżej widać bardzo mały). Jest to jeden z powodów, dla których Pi jest preferowanym urządzeniem dla takich osobistych serwerów sieciowych, serwerów drukarek i sieci VPN.
Z kolei Arduino nie ma wbudowanych możliwości łączności. Jeśli chcesz połączyć się z Internetem, musisz dodać dodatkowy sprzęt, który zawiera port Ethernet. Jeśli chcesz korzystać z połączenia Wi-Fi, musisz ponownie wybrać inny sprzęt. Ponieważ Arduino jest przeznaczony do projektów sprzętowych, a nie programowych, potrzebuje odrobiny majsterkowania, aby je połączyć.
Piny I / O
Piny wejściowe / wyjściowe umożliwiają komputerowi jednopłytowemu komunikację z elementami, które są z nim połączone. Na przykład Twoje Raspberry Pi może oświetlić LED. Lub twój Arduino może aktywować silnik. Jeśli szukasz połączeń sprzętowych, te pinezki są tym, czego potrzebujesz. Raspberry Pi 2 pakuje 17 takich pinezek, a Arduino Uno oferuje 20; możesz zobaczyć ich kilka na poniższym obrazku.
Inną istotną różnicą w szpilkach I / O pomiędzy dwiema tablicami jest rozdzielczość czasowa, w której można je kontrolować. Ponieważ Raspberry Pi jest pełnym komputerem, ma wiele rzeczy, które rywalizują o czas procesora, co oznacza, że może mieć trudności z ograniczeniem czasu do małych ułamków sekundy. I potrzebuje oprogramowania, aby poprawnie połączyć się z czujnikami i innymi urządzeniami. Z drugiej strony, Arduino może zmienić wyjście i monitorować wejście na swoich pinach w bardzo krótkim czasie.
Przechowywanie
Arduino ma 32 KB wbudowanej pamięci, która wystarczy do przechowywania kodu, który zawiera instrukcje dotyczące bieżącego programu. Z tego miejsca nie można korzystać w aplikacjach, filmach, zdjęciach ani w żadnym innym miejscu. Z drugiej strony, Raspberry Pi nie ma wbudowanej pamięci, ale ma port micro SD, więc możesz dodać tyle pamięci, ile chcesz. Dodanie 32 GB pamięci kosztuje tylko około 12 USD za pomocą karty micro SD SanDisk, a w razie potrzeby możesz z łatwością dodać do 128 lub 256 GB.
USB
Ponieważ Arduino nie jest przeznaczony do komunikacji z komputerami, nie jest standardowo wyposażony w porty USB, których można używać do tego rodzaju komunikacji. Pojedynczego portu można użyć do połączenia Arduino z komputerem przez port USB komputera, ale to wszystko. Z drugiej strony Raspberry Pi ma cztery porty USB, których można użyć do połączenia z routerem, drukarką, zewnętrznym dyskiem twardym lub szeroką gamą innych urządzeń.
Oprogramowanie
Teraz, gdy rozłożyliśmy różnice między sprzętem Arduino i Raspberry Pi, możemy mówić o oprogramowaniu. Aby naprawdę zrozumieć, kiedy chcesz korzystać z jednej lub drugiej planszy, musisz wiedzieć, co każdy może zrobić, a wiele z nich zależy od oprogramowania.
Aby skomplikować problem, Arduino nie jest dostarczane z żadnym oprogramowaniem jako takim. Ma bardzo podstawowe możliwości interpretowania kodu, który otrzymuje i zmiany funkcji sprzętu, z którym jest połączony, ale płyta nie ma systemu operacyjnego ani żadnego interfejsu poza zintegrowanym środowiskiem programistycznym Arduino (IDE).
W praktyce oznacza to, że musisz stworzyć oprogramowanie działające na Arduino. Używając IDE, utworzysz zestaw poleceń, które Arduino zinterpretuje i wyda. Prosty zestaw instrukcji może brzmieć: "włącz czerwone światło na trzy sekundy, wyłącz je, włącz zielone światło na trzy sekundy, wyłącz je, powtórz." Oczywiście, możesz robić o wiele bardziej skomplikowane rzeczy, ale nadal będziesz musiał stworzyć program samodzielnie.
Na szczęście istnieje ogromna społeczność Arduino, która obejmuje cały świat, co oznacza, że jeśli jest coś, co chcesz zrobić z Arduino, prawdopodobnie ktoś to zrobił. Możesz spojrzeć na ich kod, zmodyfikować go i sprawić, by Arduino robił dokładnie to, co chcesz. To świetny sposób na poznanie zasad kodowania i prototypowania, dlatego Arduino to doskonały wybór dla wszystkich zainteresowanych elektroniką.
W przeciwieństwie do Raspberry Pi jest wyposażony w pełni funkcjonalny system operacyjny o nazwie Raspbian. Ten system operacyjny oparty jest na systemie Debian Linux i został stworzony specjalnie dla Pi. Istnieje wiele innych systemów operacyjnych, z których można korzystać na płycie, z których większość jest oparta na systemie Linux, ale można również zainstalować system Android.
Systemy operacyjne nie są jednak jedynymi programami obsługiwanymi przez Pi; istnieje również wiele przydatnych aplikacji, które można wykorzystać do wykonywania różnych zadań. Jednym z najczęstszych zastosowań Raspberry Pi jest serwer multimediów, dla których popularnymi aplikacjami są zarówno Kodi, jak i Plex. Możesz pobierać gry, aplikacje serwerowe, kalkulatory, a nawet pakiet biurowy LibreOffice.
Oczywiście, możesz pisać własne programy także dla Raspberry Pi, i to jest jeden z najlepszych powodów, aby je zdobyć: nauczyć się kodować. Python jest zalecanym językiem dla Pi, ale C, C ++, Java i Ruby są wstępnie zainstalowane na płycie. Podczas gdy Arduino można poprawić, aby obsługiwać inne języki, najlepszym rozwiązaniem jest język Arduino; jeśli chcesz nauczyć się bardziej przydatnego języka, Pi da ci więcej opcji.
Rozszerzanie się
Zarówno Arduino, jak i Raspberry Pi są bardzo wydajnymi maszynami, które mogą pomóc ci uczyć się i robić wiele rzeczy, ale w pewnym momencie prawdopodobnie będziesz chciał wyjść poza podstawy i spróbować czegoś bardziej zaawansowanego.
Jest to jedno z miejsc, w których świeci Arduino. Istnieją setki chipów, które pozwalają rozszerzyć możliwości tablicy zasobów o takie elementy, jak łączność Ethernet i Wi-Fi, lepsza kontrola silnika, możliwości głośników i mikrofonu, ekran dotykowy, kamery, nadajniki radiowe, przetwarzanie grafiki i prawie wszystko, co możesz wymyślić z. Za 20 do 40 USD możesz zamienić Arduino w coś zupełnie innego (jak ta tarcza Adafruit GPS).
Żetony te nazywane są tarczami i są bardzo łatwe do zainstalowania; wszystko, co robisz, to umieszczenie ich na swoim Arduino i - w niektórych przypadkach - lutowanie ich w miejscu. Wiele osób może po prostu usiąść na górze, co sprawia, że instalacja jest bardzo prosta.
Raspberry Pi jest bardziej samodzielną płytą i nie ma takich samych możliwości rozbudowy jak Arduino. Dostępnych jest wiele "czapek", które dodają dodatkowy sprzęt do Pi, jednak dają ci bardzo interesujące możliwości. Na przykład można dodać czujniki pojemnościowe, GPS, ekran dotykowy, panele RGB, a nawet czujnik gestów 3D.
Porty USB umożliwiają również dodanie funkcjonalności za pomocą klucza sprzętowego; na przykład, aby uzyskać połączenie z Wi-Fi, wszystko, co musisz zrobić, to podłączyć wifi dongle. Mimo to, nawet z tymi opcjami, Raspberry Pi po prostu nie ma tylu opcji dodania funkcjonalności. Nie powiedzieć, że Pi nie jest w stanie; nadal możesz robić prawie wszystko, co chcesz, możesz po prostu trochę bardziej kreatywnie (lub dołączyć do Arduino!).
Jak zdecydować pomiędzy Arduino i Raspberry Pi
Teraz, gdy zobaczyłeś dokładnie, jak Arduino i Raspberry Pi są różne, powinieneś mieć dobry pomysł, jak zdecydować między tymi dwoma, jeśli chcesz je zdobyć. Jeśli chcesz tworzyć urządzenia, takie jak roboty, zegary i czujniki, Arduino jest drogą do zrobienia; Interfejs niskiego poziomu i łatwe połączenia I / O sprawiają, że jest to najlepsza metoda, jeśli chcesz coś zbudować. Z drugiej strony Raspberry Pi tworzy fantastyczny serwer lub system przechowywania danych i świetnie nadaje się do nauki programowania w tradycyjnych językach. Jeśli chcesz komunikować się z innymi komputerami, Pi jest Twoją tablicą.
Ale dlaczego ograniczasz się do jednego? Dlaczego nie otrzymać obu? Oba są bardzo przystępne cenowo i można uzyskać zestawy startowe za mniej niż 100 USD, które obejmują wszystko, czego potrzebujesz, aby rozpocząć pracę nad projektami. Od prostego robota do kompletnego serwera WWW, możesz uzyskać prosty zestaw, który pomoże ci przejść przez proces instalacji.
A kiedy zaczniesz robić jeszcze bardziej zaawansowane, możesz używać zarówno Arduino, jak i Pi razem, aby obsługiwać czujniki i serwa za pomocą instrukcji online lub informacji zwrotnych! Opcje są nieograniczone.
Raspberry Pi vs. Arduino: Tabela porównawcza
Arduino Uno | Raspberry Pi 2 Model B | |
---|---|---|
Koszt (model podstawowy) | 20 | 39 |
Edytor | 16 MHz AVR ATmega328P | 900 MHz Broadcom ARM Cortex-A7 |
Przechowywanie | 32 KB | n / d |
Baran | 2 KB | 1 GB |
Piny I / O | 20 | 17 |
OS | n / d | Raspbian, inne odmiany Linuksa, Androida |
Języki | Arduino, | Python, C, C ++, Java, Ruby |
Najlepszy dla | Sprzęt / prototypowanie | Oprogramowanie / serwer |
Zasilacz | 5V gniazdo USB lub DC | 5V USB |
Czy ten przewodnik był pomocny? Czy masz więcej pytań na temat tego, czy powinieneś zdobyć Arduino czy Pi? Pozostaw poniżej swoje pytania i przemyślenia!
Źródło: Sho Hashimoto via flickr, Manoel Lamos via flickr, Simon Monk via raspberrypi.org.