Arduino to platforma dla systemów wbudowanych oparta o prosty projekt Open Hardware przeznaczony dla mikrokontrolerów montowanych w pojedynczym obwodzie drukowanym, z wbudowaną obsługą wejścia/wyjścia oraz standaryzowanym językiem programowania. Język programowania Arduino jest oparty o środowisko Wiring i zasadniczo o język C/C++ (kilka prostych przekształceń kodu wykonywane przed przejściem do avr-gcc). Celem projektu Arduino jest przygotowanie narzędzi – ogólnodostępnych, tanich, nie wymagających dużych nakładów finansowych, elastycznych i łatwych w użyciu przez hobbystów. Częściowo, Arduino stanowi również alternatywę dla osób, które nie mają dostępu do bardziej zaawansowanych kontrolerów, wymagających bardziej skomplikowanych narzędzi.
Arduino może być wykorzystany do tworzenia samodzielnych interaktywnych obiektów lub może być podłączony do komputera-hosta. Typowa płyta Arduino zawiera kontroler, cyfrowe i analogowe linie wejścia/wyjścia, oraz interfejs szeregowy lub USB dla połączeń z komputerem-hostem. Komputer jest wykorzystywany do programowania kontrolera oraz do interakcji w czasie działania z Arduino. Pomimo tego, że płyty Arduino generalnie nie posiadają funkcjonalności sieciowych, częstym rozwiązaniem jest łączenie jednego lub kilku Arduino z hostem sieciowym, gdzie Arduino używa się w roli sprzętowych kontrolerów, a host przyjmuje rolę sieci lub interfejsu użytkownika. Budowanie interfejsu hosta jest proste, ponieważ oprogramowanie hosta może być pisane w różnych językach. Możliwe jest programowanie interfejsu w kilkunastu językach programowania, m.in. w Javie, ActionScript, C/C++, C#, Perl, VBScript.
Programowanie odbywa się najczęściej za pośrednictwem Arduino IDE bazującym na projekcie Processing. Sam język programowania Arduino bazuje na Wiring i przypomina język C. Wewnątrz Arduino IDE kod programu jest pośrednio kompilowany przez avr-gcc, a następnie wgrywany do podłączonej płyty Arduino. IDE działa wtedy jako emulator terminala szeregowego, pozwalając na interakcję z pracującym Arduino.
Obecnie układy Arduino bazują na mikrokontrolerach Atmel AVR. Nie jest to formalnym wymogiem i może być rozszerzony, o ile sprzęt i narzędzia będą wspierały język Arduino i zostaną zaakceptowane przez Projekt Arduino. Na rynku istnieje wiele klonów, inspirowanych oryginalnym Arduino, bądź kompatybilne z jego rozszerzeniami, takimi jak karty rozszerzeń, jednak rozprowadzanych pod innymi nazwami.
Obecnie sprzedawane są wstępnie zmontowane układy Arduino, jednak cały czas jest dostępny schemat sprzętowy dla tych którzy chcą zbudować Arduino samodzielnie.
W 2008 roku projekt Arduino otrzymał wyróżnienie w kategorii Digital Communities na Prix Ars Electronica.
Projekt zapoczątkowany został w 2005 roku we Włoszech w celu zbudowania urządzenia kontrolującego studenckie projekty interakcyjne jako tańsza alternatywa dla innych dostępnych wtedy systemów prototypowania. Do października 2008 roku zostało sprzedanych ponad 50.000 sztuk Arduino.
źródło: Wikipedia
Jak napisono powyżej jest to idealny układ programowalny w celu zastąpienia sterownika PLC, dla jakiś prostych rzeczy.
Tak wygląda ten układ
Programujemy układ w oprogramowaniu Arduino, język obługiwany to C którym będę się posługiwał.
Sam układ posiada wejścia analogowe (ok. 6), wyjścia/wejścia cyfrowe (ok. 13) oraz wyjście 5V i 3.5V. Zasilanie układu jest możliwe z USB lub zasilacza 6-12V. Po zaprogramowaniu układu jest on zapamiętany i nie wymaga podłączenia USB co jest wielką zaletą w porównaniu do karty wejść i wyjść dla PC. Po za tym układ ten jest konkurencyjny dla PLC bo mamy w wersji podstawowej dostępne wejścia i wyjścia w dużej ilości czego nie doświadczymy w standardowej ofercie sterowników PLC.
Sam układ w wersji podstawowej kosztuje ok 100zł, jest również wiele modułow dodatkowych np. możliwość podłączenia typu Ethernet, WiFi, GSM, obsługa silników oraz GPRS.