image

Arduino Shield

Arduino Shield to moduły elektroniczne zaprojektowane specjalnie pod płytki bazowe Arduino, które umożliwiają wzbogacenie takich modułów jak Arduino Uno czy Arduino Leonardo o dodatkowe opcje niezbędne do wykonywania określonych procesów fizycznych, takich jak np. sterowanie efektami świetlnymi czy też komunikacja bezprzewodowa między komputerem a stacją pogodową. Nakładki Arduino Shield to znakomita propozycja dla wszystkich osób głodnych majsterkowania, ale także sposób na ułatwienie projektowania nawet najbardziej złożonych programowalnych urządzeń elektronicznych. Dzięki licznej społeczności użytkowników Arduino łatwo o uzyskanie pomocy przy tworzeniu i uruchamianiu swoich projektów.

Arduino Shield – zróżnicowany stopień złożoności i mnogości zastosowań

Moduły Arduino Shield w zależności od rodzaju aplikacji są dość zróżnicowane pod względem poziomu rozbudowania i można je dostać w sprzedaży zarówno w postaci gotowej, jak i w formie zestawu do samodzielnego montażu, w których będzie wymagane lutowanie bądź montaż mechaniczny wielu elementów, podczas gdy w innych będzie tylko istniała konieczność przylutowania listew z wyprowadzeniami typu goldpin, za pomocą których nakładkę podłącza się do modułu bazowego. Dzięki kompatybilności złączy nakładki Arduino Shield umożliwiają szybkie przezbrojenie modułu bazowego do pełnienia diametralnie innej funkcji sprzętowej, a także wzbogacenie o dodatkową funkcję, dzięki zastosowaniu złączy dwustronnych.

Arduino Shield – na co trzeba zwrócić uwagę

Teoretycznie liczba nakładek Arduino Shield, które można połączyć ze sobą kaskadowo, jest nieskończona. W praktyce należy wziąć pod uwagę kilka istotnych czynników dotyczących zarówno osprzętu, jak i oprogramowania, aby nasz projekt nie spalił na panewce. Podczas wybierania nakładek rozszerzeniowych dla Arduino musimy zwrócić uwagę na następujące aspekty: Wymiary modułów – nie wszystkie nakładki do Arduino mogą do siebie pasować. W zależności od modelu nakładki na płytce PCB mogą znajdować się pojedyncze elementy, które swoją wysokością przekraczają wysokość złączy goldpin umieszczonych na obu dłuższych bokach płytek. Wówczas przy montażu projektu może się okazać, że elementy na sąsiadujących ze sobą płytkach stykają się ze sobą i wskutek tego po podaniu napięcia zasilającego może dojść do zwarcia i nieodwracalnych uszkodzeń wszystkich płytek. Potencjalna kolizja złączy przy błędnej kolejności łączenia nakładek – jeśli przykładowo któryś z cyfrowych portów wejścia/wyjścia modułu bazowego bądź nakładki jest zasłonięty z powodu geometrii którejś z pozostałych nakładek użytych w projekcie, wówczas ten port staje się bezużyteczny. Przykładowo podłączanie kolejnej nakładki na górną stronę nakładki z modułem wyświetlacza graficznego lub joysticka nie będzie miało sensu, ponieważ spowoduje znaczne utrudnienie w odczycie informacji z wyświetlacza lub w dostępie do sterowania joystickiem. Należy zwrócić uwagę także na to, aby wyprowadzenia nakładek współpracujących nie podwajały się – w najlepszym przypadku projekt nie zadziała, a w najgorszym, jeśli przykładowo na połączone ze sobą piny cyfrowe dwóch Shieldów zostaną podane przeciwne stany logiczne (np. za pomocą instrukcji digitalWrite()), wówczas może popłynąć duży prąd między modułami, którego skutki cieplne i elektrodynamiczne mogą spowodować poważne uszkodzenia. Sposób zasilania – zwykle urządzenia elektryczne i elektroniczne do funkcjonowania potrzebują źródła zasilania pomocniczego i dotyczy to zarówno modułów bazowych Arduino, jak i nakładek rozszerzeniowych do tych modułów. Zwykle moduły Arduino Shield korzystają z tych samych wyprowadzeń dla napięcia zasilania i masy. Istnieje jednak pewne ograniczenie sprzętowe, które może uniemożliwić korzystanie z aplikacji o wzmożonym poborze prądu. Tym ograniczeniem jest dopuszczalna wydajność prądowa pinów mikrokontrolera i źródeł napięcia zasilającego. Jeśli źródło zasilania dostarcza stabilne napięcie, to z pojedynczego pinu mikrokontrolera możemy uzyskać prąd o maksymalnym natężeniu wynoszącym 40 mA oraz 200 mA, kiedy korzystamy równolegle ze wszystkich wejść/wyjść. Przekroczenie poboru prądu może skutkować przegrzaniem i uszkodzeniem modułów, a także źródła zasilania. Problem ten można rozwiązać poprzez stosowanie zasilacza sieciowego DC o odpowiednio dużej wydajności prądowej, najlepiej minimalnie na poziomie 1 A i napięciu 12 V. Łącząc ze sobą moduły bazowe i Shieldy, pamiętajmy również o połączeniu przez wspólny punkt masy. Oprogramowanie – niektóre moduły Arduino Shield, aby mogły funkcjonować, wymagają zaimplementowania w kodzie programu specjalnych bibliotek (przykładowo dla obsługi modułu wyświetlacza LCD pomocna będzie biblioteka liquidcrystal.h). Przy kompilowaniu kodu i uruchamianiu projektu z jego użyciem mogą pojawić się problemy wynikające z używania tych samych funkcji w dwóch różnych bibliotekach zastosowanych w oddzielnych dla każdej płytki programach. Należy zatem upewnić się, które biblioteki są wymagane do prawidłowego funkcjonowania modułu Arduino Shield dla naszej aplikacji. Zakłócenia interferencyjne pochodzące z urządzeń łączności bezprzewodowej – urządzenia wykorzystujące do komunikacji łączność radiową, sieć Wi-Fi czy też łączność GPS i GSM potrzebują odpowiednio dużej przestrzeni w celu zapewnienia prawidłowych warunków funkcjonowania. Dlatego w miarę możliwości warto zadbać o to, aby nasza płytka Arduino z wybraną nakładką rozszerzeniową funkcjonowała z dala od anten, routerów i innych urządzeń łączności, które mogą zakłócić pracę naszego projektu. Oczywiście, jeśli nasz moduł Arduino Shield jest modułem przeznaczonym do aplikacji komunikacji i łączności bezprzewodowej, wówczas należy zadbać o to, aby był umieszczony na szczycie, jeśli korzystamy w naszym projekcie z większej ilości nakładek.

Przykładowe moduły Arduino Shield

Aby poznać koncepcję przewodnią nakładek Arduino Shield, warto przyjrzeć się kilku takim modułom. Sporą część dedykowanych rozszerzeń sprzętowych dla Arduino, można wykorzystać na wiele sposobów – zarówno w projektach urządzeń dopuszczanych do ciągłego użytku „w terenie”, jak i w formie narzędzia pomocniczego przy prototypowaniu projektów. Oto niektóre z szerokiej oferty nakładek Arduino Shield: 

Ethernet Shield W5100 – za pomocą tej nakładki w bardzo prosty sposób możesz podłączyć swoją płytkę Arduino… do internetu! Wówczas moduł bazowy może funkcjonować zarówno jako klient, jak i serwer. Nakładkę wystarczy podłączyć do modułu bazowego na złącza goldpin, a następnie podłączyć zasilanie modułu i przewód Ethernet. Płytka jest także wyposażona w gniazdo na kartę micro-SD, na której użytkownik może przechowywać dane celem udostępniania ich do sieci współpracującej. Oprogramowanie płytki wspiera współpracę z biblioteką Ethernet.h.

DFRobot Relay Shield – ten moduł przekaźnikowy umożliwia prostą realizację sterowania obwodami elektrycznymi o wyższych napięciach niż 5 V czy 12 V. Płytka jest wyposażona w cztery przekaźniki elektromechaniczne, których obwód roboczy może pracować na napięciu 60 VDC lub 240 VDC, przepuszczając prąd o maksymalnej wartości znamionowej do 5 A. Każdy przekaźnik jest wyposażony w diodę LED stanowiącą sygnalizację optyczną oraz przycisk. Ponadto moduł Relay Shield posiada złącze komunikacyjne dla modułów XBee.

OpenPlatform L293D Motor Driver Board – moduł ten, to sterownik silników elektrycznych, który wykorzystuje poczwórny mostek typu H – L293D oraz rejestr przesuwny TTL 74HC595. Ta nakładka pozwala na podłączenie maksymalnie czterech klasycznych silników prądu stałego lub dwóch silników krokowych i sterowanie kierunkiem obrotów oraz prędkością obrotową. Pobór prądu znamionowego na pojedynczy kanał wynosi maksymalnie 0,6 A. Nakładkę Motor Driver Board można wykorzystać także do sterowania serwomechanizmami.

Adafruit Ultimate GPS Logger Shield – moduł od Adafruit jest wyposażony w moduł GPS, czytnik kart micro-SD, zegar czasu rzeczywistego, antenę, a także małą powierzchnię pól lutowniczych do prototypowania. Nakładka GPS Logger Shield stanowi znakomity fundament pod urządzenia nawigacyjne do monitorowania współrzędnych obiektu ruchomego, np. robota. OpenPlatform Proto Shield – wspaniałe rozwiązanie dla wszystkich zapalonych konstruktorów! Płytka sama w sobie nie zajmuje dużo miejsca, a może być bardzo fajnym dodatkiem. 170 pól kontaktowych umożliwia szybkie prototypowanie, a po przetestowaniu na polach lutowniczych można zamontować na stałe elementy elektroniczne tworzące nasz autorski Shield pod nasz projekt. DFRobot Shield GPRS SIM800C – łączność bezprzewodowa to nie tylko radio, Wi-Fi i Bluetooth (choć w tej płytce też taki moduł jest!), za pomocą tej nakładki, będziesz mógł prowadzić przesyłanie wiadomości SMS oraz połączeń głosowych w sieci GSM. Komunikacja z płytką bazową jest realizowana poprzez interfejs UART za pomocą komend AT. Płytka jest wyposażona w gniazdo na kartę SIM i wspiera sygnalizację DTMF – tak jak w telefonach komórkowych. Moduł może stanowić fundament pod centralę alarmową, która wysyła sygnał ostrzegawczy na telefon użytkownika, w przypadku np. wtargnięcia na posesję podmiotu niepowołanego.

ArduCam Shield V2 – moduł minikamery. Umożliwia podłączenie kamer o rozdzielczości od 0,3 MPix do 5,0 MPix ze wsparciem dla formatów RGB, JPEG, YUV i RAW. Stanowi znakomitą podstawę pod takie projekty jak szyna makrofotograficzna do fotografii poklatkowej zjawisk przyrodniczych, a także pod system monitoringu na posesji. W zestawie kamera o rozdzielczości 2 MPix. Płytka współpracuje także z minikomputerami Raspberry Pi i BeagleBone oraz modułami Wi-Fi opartymi na układzie ESP8266. 1Sheeld+ BLE 4.0ta nakładka umożliwia współpracę modułów Arduino ze wszystkimi urządzeniami teleinformatycznymi, które działają na systemach operacyjnych Android oraz iOS. Na tę nakładkę składają się dwa kluczowe elementy – pierwszy to sama nakładka w postaci namacalnego osprzętu, a druga to aplikacja mobilna na telefon. Komunikacja nakładki z telefonem odbywa się poprzez Bluetooth i polega na odbieraniu sygnałów z czujników telefonu. W ten sposób możesz użyć swojego telefonu jako nakładki z czujnikami pomiarowymi i stworzyć bardzo ciekawe i praktyczne projekty.