Miesięczne archiwum: Marzec 2009

Webduino – serwer WWW dla Arduino z Ethernet shieldem

Shield to moduł nakładany na Arduino, dodający nowe funkcje do całości. Zwykle zabiera kilka wejść i wyjść na komunikację między modułem i samym Arduino.

Jeśli chcesz podłączyć Arduino do sieci komputerowej najprostszym rozwiązaniem będzie użycie modułu ethernetowego, tak zwanego Ethernet Shield. Ethernet Shield to moduł zapewniający komunikację Arduino z siecią przez TCP/IP.

Arduino z założonym Ethernet Shieldem

Arduino z założonym Ethernet Shieldem

Shielda oczywiście nie musicie oprogramowywać od zera. Jest do tego biblioteka będąca częścią Arduino IDE – Ethernet. Mimo, że znacznie ona upraszcza pisanie serwerów sieciowych czy oprogramowania klienckiego, to nadal nie jest to trywialne zadanie. Każdy, kto próbował pisać takie oprogramowanie nie korzystając z bibliotek zapewniających wysoki poziom abstrakcji, wie, że to żmudne zajęcie.

Zapewne to było motywacją dla Bena Combee, autora właśnie opublikowanej biblioteki Webduino, która załatwia za was większość brudnej pracy ;) jeśli potrzebujecie na szybko kontrolować Arduino przez sieć. Kilka linijek kodu i proszę – sterowanie brzęczkiem przez WWW.

Oczywiście – jest to bardzo prosta biblioteka i nie zawiera wsparcia dla żadnej autentykacji – więc wystawiając to w Internet zapraszacie cały świat do sterowania waszym Arduino ;))

Chcesz podłączyć Arduino do sieci?

Arduino w sieci: Sterowanie kamerą

Oto prosty przykład jak z Arduino sterować kamerą z wykorzystaniem wbudowanego w Macbooka sensora położenia.

Kamera osadzona na ramieniu kontrolowanym przez serwomechanizmy, trochę kodu w Pythonie do odczytu sensora położenia (Macbooki mają taki wbudowany, można oczywiście kupić taki oddzielnie i zaimplementować jego odczyt bezpośrednio z Arduino), biblioteka do komunikacji szeregowej i gotowe:


Pandora pan/tilt + Arduino + MBP SMS from John Wiseman on Vimeo.

Sczegóły oraz kod pobrania z Lemonodor.

Arduino w sieci

Ten post rozpoczyna nową kategorię na tym blogu – Arduino w sieci. Będę tutaj umieszczał linki i krótki opis projektów, które znajduję w sieci a wykorzystują Arduino. Może znajdziecie jakieś natchnienie dla siebie i spróbujecie zrobić coś samemu korzystając z Arduino.

Arduino tłucze kosmitów

Czytając na sieci o różnych projektach ocierających się o physical computing, nie jeden raz zaskakiwała mnie pomysłowość i kreatywność autorów.

Tym razem trafiłem na nasz rodzimy projekt, zrobiony przez Tomka Kolinko. Żuk Invaders… Zobaczcie najpierw sami:

Żuk przerobiony na czołg. Gra korzystająca z działka z kamerą na dachu samochodu i generowanych obcych przez komputer. A gdzie Arduino?

Arduino było kontrolerem odpowiedzialnym za odczytywanie położenia działka i przesyłanie informacji do komputera.

Najbardziej mnie zaintrygowało, że taki fajny projekt powstał u nas w Polsce ;) Szkoda, że nie byłem świadomy istnienia tego projektu w czasie jego trwania…

Historię całości można przeczytać na http://kolinko.pl/inwazja

Płytka prototypowa – tak zwany breadboard

Zaczynając moje eksperymenty z Arduino nie miałem praktycznie doświadczenia w elektronice. Rzeczą, której się najbardziej obawiałem, było jak sobie poradzę z montowaniem wszystkiego w całość. Z lutownicą więcej pracowałem może 20 lat temu, w ogólniaku. Od tego czasu – sporadycznie.

Pierwszy raz z płytką prototypową (tak zwany breadboard z angielskiego) zetknąłem się dopiero teraz i muszę powiedzieć, że rozwiały się wszystkie moje obawy. Praca z nią jest łatwa i przyjemna, składnie testowego układu nie nastręcza najmniejszego problemu, bo nie trzeba nic lutować.

Jak to działa?

Płytka jest to kawałek plastiku z mnóstwem otworów. W otworach tych znajdują się blaszki utrzymujące na miejscu wsadzony drut lub element. Otwory są połączone ze sobą wg pewnego schematu.

Breadboard - jak działa

Breadboard - jak działa


Czytaj dalej

Oko Arduino czyli o fotorezystorze a nie mitologii Tolkiena

Oko Arduino – to brzmi jak cytat z J. R. Tolkiena, a chodzi o podłączenie do Arduino fotorezystora. Tym postem mam zamiar zacząć krótki cykl artykułów o podstawach elektroniki.

Fotorezystor to układ, którego oporność zmienia się w zależności od natężenia światła padającego na niego. Pozostaje tylko zmierzyć to w jakiś sposób. W jaki?

Dla zabawowego zastosowania pominiemy na razie zupełnie dokładność pomiaru a jedynie nas będzie interesowała bardzo uproszczona wersja.

Jak to wygląda?

Prosty układ, zmontowany na płytce prototypowej

Prosty układ, zmontowany na płytce prototypowej (kliknij na obrazek aby zobaczyć notki na zdjęciu na stronie Flickra)

Schemat układu jest taki:

Schemat podłączenia Arduino do fotorezystora

 

Schemat podłączenia Arduino do fotorezystora

To co tutaj jest narysowane to tak zwany dzielnik napięcia. Poczytaj na Wikipedii jak dokładnie działa.

W skrócie napięcie w punkcie pomiędzy dwoma rezystorami będzie się zmieniać w zależności od zmieniającej się rezystancji foto rezystora. I to właśnie będziemy mierzyć  naszym programem.

Oto jego kod:

// pin z którego odczytujemy wartość napięcia
int photoPin = 0;
//idczytana wartość
int val = 0;

//początkowa konfiguracja
void setup()
{
  pinMode(photoPin, INPUT); // ustawienie pinu jako wejscie
  Serial.begin(57600);
}

void loop()
{
  //odczytujemy i normalizujemy do przedziału 0-7
  val = analogRead(photoPin)/128;
  for (int i=0;i<=val;i++) {
    Serial.print(".");
  }
  Serial.println();
  delay(90);
}

Program (jak prawie każdy na Arduino) składa się z części przygotowywującej układ do działania (setup) oraz głównej pętli (loop) wykonującej się póki prąd w Arduino…

W głównej pętli mierzymy napięcie, przekształcamy odczytaną wartość w zakres liczb od 0 do 7 (bo Arduino odczytuje napięcie jako liczbę od 0 1023, więc po podzieleniu na 128 i zaokrągleniu w dół dostajemy wynik od 0 do 7) i tyle ile wyszło, tyle kropek wyświetlamy. Chwila przerwy i pętla trwa…

Rezultat działania:

Arduino IDE w trakcie pracy naszego programu

Arduino IDE w trakcie pracy naszego programu

W trakcie pracy zakrywam ręką fotorezystor, zmieniając jego rezystancję a w rezultacie napięcie odczytywane przez Arduino na PIN 0. Ilość kropek jest proporcjonalna do odczytanego napięcia.

Wykaz części

Już wkrótce – jak można fizycznie pokazać zmieniający się odczyt.

Nettigo.pl – sklep z modułami Arduino

Moje zafascynowanie Arduino, spowodowało że zdecydowałem się zostać oficjalnym dystrybutorem Arduino na Polskę. I tak dziś ruszył oficjalnie sklep internetowy z płytkami Arduino. Na start dostępne są same płytki Arduino oraz moduł Ethernetowy (Ethernet Shield).

Zdecydowałem się na to, bo chcę aby w Polsce było można bez problemu zaopatrzyć się we wszystko co potrzeba aby zacząć swoją przygodę z Arduino.

W planach mam przygotowanie starter-kitów – czyli Arduino + płytka stykowa oraz zestaw niezbędnych części aby od ręki można było coś zbudować.

Arduino – co to jest?

Arduino to zjawisko z pogranicza oprogramowania, elektroniki oraz sztuki. Mocne, nie?

Fizycznie – Arduino to układ elektroniczny, tak zwana płytka uruchomieniowa. W angielskiej Wikipedii fajnie zaszufladkowano Arduino. Jako przedstawiciela physical computing. Ma to jakieś dobre polskie tłumaczenie? Namacalne przetwarzanie :) ?

Angielska nazwa dobrze oddaje o co chodzi – prosta platforma, łatwa do ogarnięcia dla osób nie mających korzeni i doświadczenia związanego z projektowaniem układów elektronicznych. Małe rozmiary, mnogość układów wejściowych i wyjściowych, otwarta licencja dotycząca zarówno oprogramowania jak i sprzętu spowodowała, że Arduino stało się ulubionym klockiem dla generacji DIY. Moc obliczeniowa komputerów może zostać wsadzona w różne przedmioty – stąd chyba to physical computing.

Dzięki otwartości (w sensie licencyjnym) oraz łatwości zastosowania Arduino jest używane do budowy zabawek, narzędzi, instalacji artystycznych oraz w edukacji.

Postaram się na StarterKicie w ciągu najbliższych dni zaprezentować kilka projektów znalezionych w sieci, które będą ilustrować te cechy o których właśnie napisałem.