Często jako główną przyczynę popularności Arduino podaje się łatwość stosowania różnorodnych modułów peryferyjnych, wyświetlaczy, sterowników silników, modułów łączności bezprzewodowej (Bluetooth, WiFi, XBee czy ISM) itp. Ta „łatwość stosowania” nie wynika z jakiejś wyrafinowanej konstrukcji płytek bazowych czy modułów rozszerzeń (tzw. shieldów), bo przecież te moduły peryferyjne można dołączyć do dowolnego systemu mikroprocesorowego. Jednak w takim przypadku na barki konstruktora spada konieczność oprogramowania układów peryferyjnych, które czasami jest dosyć skomplikowane i, co chyba jest najbardziej krytyczne w dzisiejszych czasach, jest bardzo czasochłonne. Z tego powodu każdy szanujący się producent płytek rozszerzeń przeznaczonych do stosowania w środowisku Arduino, oprócz sprzętu, dostarcza również przygotowane przez siebie odpowiednie biblioteki. Oczywiście jakość tych bibliotek jest różna, ale należy również docenić sam fakt ich istnienia – w skrajnym przypadku zawsze pozostaje możliwość samodzielnego napisania oprogramowania.
Jak niemal wszystko w środowisku Arduino, również instalacja bibliotek dodatkowych jest niezwykle łatwa. W niniejszym artykule, jako przykład, zostanie pokazana instalacja biblioteki do obsługi modułu z zaawansowanym układem do komunikacji bezprzewodowej NRF24L01 firmy Nordic Semiconductor. Ze względu na duże możliwości tego układu (m.in. transmisja z szybkością do 2 Mb/s) i małą liczbę elementów dodatkowych wymaganych do pracy, powstało wiele modułów bazujących na tym układzie. Przykłady takich modułów pokazano na fotografii 1 – można tutaj dostrzec moduły z serii „ekonomicznej” z antenami wykonanymi na płytce drukowanej (np. modNRF24L01_01) lub bardziej dopracowane rozwiązania ze specjalnymi antenami (np. Sparkfun nRF24L01+). Wszystkie wymienione moduły charakteryzują się niemal identycznymi schematami elektrycznymi, więc zwykle można stosować je zamiennie.
Fot. 1. Przykłady modułów z układami NRF24L01
Biblioteki do Arduino przeznaczone dla najpopularniejszych modułów rozszerzeń są dostępne na stronie http://arduino.cc/Libraries. Oprogramowanie dla modułów mniej popularnych zwykle znajduje się na stronach internetowych producentów tych modułów. W przypadku układu NRF24L01 biblioteka obsługi tego układu w środowisku Arduino powstała na bazie biblioteki opracowanej dla mikrokontrolerów AVR udokumentowanej na stronie tinkerer.eu. Dokumentację tej biblioteki oraz samą bibliotekę można pobrać ze strony playground.arduino.cc/InterfacingWithHardware/Nrf24L01 – rysunek 2.
Rys. 2.
Po pobraniu pliku mirf.zip należy w środowisku Arduino wybrać Szkic>Importuj bibliotekę>Add library (rysunek 3).
Rys. 3.
Następnie należy wskazać lokalizację pobranego pliku (rysunek 4) i nacisnąć Open.
Rys. 4.
W tym momencie powinniśmy mieć już zainstalowaną bibliotekę, ale niestety jesteśmy przykro zaskakiwani, bo Arduino sygnalizuje błąd (rysunek 5).
Rys. 5.
W takim przypadku bibliotekę można zainstalować ręcznie. W tym celu należy rozpakować pobrany plik mirf.zip w katalogu …\Arduino\libraries tak, aby otrzymać układ katalogów pokazany na rysunku 6.
Rys. 6.
Po ponownym uruchomieniu Arduino możemy korzystać z zainstalowanej biblioteki, są również dostępne przykłady dla modułu z układem NRF24L01 (rysunek 7).
Rys. 7.