Autor: netmaniac

WiFly XBee modem czyli jak Arduino do WiFi podłączyć

Często zadawanym pytaniem jest jak podłączyć Arduino do sieci WiFi. Jest kilka interesujących rozwiązań, teraz opiszę modem WiFly w formacie modemu XBee. Pasuje on do każdego urządzenia współpracującego z XBee, oferuje on też możliwości podobne do modemów XBee jak wejście analogowe czy wejścia/wyjścia cyfrowe. Znaczy to tyle, że sam modem, bez udziału mikrokontrolera potrafi zmierzyć napięcie czy wysterować jakiś przekaźnik (ale z tranzystorem do wysterowania przekaźnika oczywiście).  Teraz w kilku słowach jak uruchomić taki modem. Testowany zestaw: modem XBee WiFi – Wifly RN-XV http://nettigo.pl/products/270 XBee USB Dongle: http://nettigo.pl/products/185 antena WiFi na U.FL, która nie jest jeszcze w naszej ofercie

Czytaj dalej...

Problem z Arduino IDE 1.0.1 na Windows (application could not be started)

Jeśli Arduino IDE 1.0.1 nie chce działać pod Windows 7 lub 8 to możesz spróbować jednej z trzech rzeczy: wrócić do 1.0 Znajdź plik preferences.txt (pod Windows znajduje się w „C:\Users\NAZWA_UZYTKOWNIKA\AppData\Roaming\Arduino\preferences.txt„) i ustaw w nim editor.languages.current=en Ściągnij Arduino IDE 1.0.1 RC2 (http://files.arduino.cc/downloads/arduino-1.0.1-rc2-windows.zip) Wypakuj z niego plik lib/pde.jar i podmień w swoim Arduino IDE. Wzięte stąd.

Czytaj dalej...

Programowanie ATtiny2313 dla opornych

Arduino jest fantastyczną platformą dla początkujących. Łatwa w użyciu, prosta w programowaniu. Jednak gdy już nabierzemy pewnej wprawy dostrzegamy projekty w których użycie Arduino wydaje się pewną przesadą (głównie chodzi o finanse, ale czasem również o miejsce). Co zrobić jeżeli potrzebujemy sterować tylko jednym, czasem dwoma wyjściami? Wówczas możemy sięgnąć po mikrokontroler w rodzaju ATtiny2313. Nie uruchomimy na nim środowiska Arduino. Nie ma bootloadera, do programowania potrzebujemy jakiś programator. Ponadto nie ma biblioteki Arduino, tak więc nie ma wygodnych funkcji jak digitalWrite, analogRead itp. Trzeba się nieco ‘ubrudzić’ pisząc program, ale chyba już czas na to? Sam doświadczenie poza Arduino

Czytaj dalej...

USB Host Shield od SparkFun i biblioteka od CircuitsAtHome

W ofercie Nettigo już od dłuższego czasu znajduje się USB Host Shield. Shield ten pozwala zamienić Arduino w USB hosta. Normalnie Arduino jest urządzeniem USB – czyli da się podłączyć do hosta (np komputer) ale do niego nie można podłączyć innego urządzenia USB. Począwszy od UNO można wgrać nowy firmware zmieniający obsługę USB, ale to co można osiągnąć to zmiana rodzaju urządzenia, którym jest Arduino po podłączeniu do hosta (czyli nie jako port szeregowy ale np klawiatura). Aby móc obsłużyć inne urządzenia USB niezbędny jest właśnie USB Host Shield. Shield ten jest produkowany przez SparkFun na podstawie projektu wykonanego przez

Czytaj dalej...

Sygnalizator revisited czyli przyciski i debouncing

Dawno temu pisałem o tym jak można korzystać z przycisków (tactile switch, pushbutton) na przykładzie kartonowego sygnalizatora. Wróćmy do tematu, tym razem na poważniej zajmując się przyciskami. Jeśli spojrzycie na kod tamtego sygnalizatora, możecie dostrzec następującą pętlę loop: void loop() {   val = digitalRead(buttonPin);   if (val == HIGH && prev == LOW) {     next_status();   }   prev = val;   display_status();   delay(50); } Wykrywanie naciśnięcia odbywa się przez porównanie bieżącej wartości wejścia cyfrowego z poprzednią. Jeżeli aktualna wartość to HIGH a poprzednia to LOW, to wykonujemy akcję next_status(), która zmienia stan sygnalizatora. I wszystko działa. Ale nie ma problemów, tylko dzięki ostatniej linii kodu w loop:

Czytaj dalej...

Rezystor – co o nim trzeba wiedzieć

Rezystory to jeden z podstawowych elementów wszystkich układów elektronicznych. Jako, że jest to element naprawdę podstawowy i powszechny, spróbujemy się o nim dowiedzieć kilku rzeczy. Teoria związana z przepływem prądów w układach RLC (R – rezystory, L – cewki, C – kondensatory) jest cała najeżona wzorami, których nie chcecie widzieć :) (a jeżeli ktoś musi się przekonać to np zobaczcie to i wrócicie zaraz tutaj :) ). Teraz podam kilka uproszczeń, które wystarczą do zmierzenia się z użyciem rezystorów w kontekście Arduino. Ważną cechą układów elektronicznych jest to, że jeżeli mamy jakieś napięcie w układzie (coś je wytwarza), to jeżeli

Czytaj dalej...

Gameduino – czyli zróbmy fajną grę

W zasadzie od momentu kiedy w ofercie Nettigo pojawił się pierwszy czujnik przyspieszenia miałem ochotę zrobić pewien hack i wykorzystać go jako główny czujnik do jakiegoś urządzenia sterującego. Myślałem o grze sportowej i podłączeniu czujnika do komputera. Ale, czasu ciągle brakowało, a przynajmniej odnosiłem wrażenie, że hack będzie długi i skomplikowany. Odczyt z czujnika przetworzyć na ciąg wciśnięć klawiszy w komputerze. Arduino, serial, jakaś biblioteka odczytująca serial, potem emulacja wciśnięcia klawisza. Może to wszystko okaże się prostsze niż wygląda, ale sprawiało wrażenie dużej liczby ruchomych części, a co za tym idzie większą szansę niepowodzenia. No cóż, po prostu nie chciało

Czytaj dalej...

Czytnik RFID 125 kHz

Od dłuższego czasu w ofercie Nettigo jest czytnik kart RFID z interfejsem UART. Co to znaczy? System RFID w uproszczeniu składa się z dwóch elementów – czytnika i tokenów. Token to fizyczna rzecz, mająca w sobie trochę elektroniki. Każdy token ma swój unikalny numer. Gdy token zostanie zbliżony do drugiego elementu – czytnika, ten będzie w stanie odczytać ten numer. Jakie ma to zalety? Po pierwsze – token nie musi mieć swojego zasilania (wbudowanej baterii). Może być mały, lekki i odporny na wodę. Po drugie – nie jest potrzebny fizyczny kontakt tokena i czytnika – wystarczy token zbliżyć na kilka,

Czytaj dalej...

Debouncing klawiszy w Nettigo Keypad (i nie tylko)

Biblioteka do Nettigo Keypada została uaktualniona o domyślne wsparcie dla debouncingu. O co chodzi? Jeżeli naciskasz klawisz, może pojawić się zjawisko migotania podczas włączania i wyłączania przycisku. Wynika to właściwości styku mikroprzełącznika – jest to mechaniczne zetknięcie/rozłączenie styków, więc może być tak że pojawi się szereg impulsów podczas jednego przełączenia. Gdy Arduino często sprawdza stan klawisza takie migotanie może zostać odczytane jako wielokrotne naciśnięcia i zwolnienia danego przycisku, mimo że został naciśnięty tylko raz. Jak temu zapobiegać? Potrzebny jest tak zwany debouncing. Można po odczycie stanu klawisza poczekać chwilę używając delay. Proste i skuteczne. Pseudokod realizujący to wygląda tak: obecny_stan_klawisza

Czytaj dalej...

P4A – PHP dla Arduino cz. 2

W poprzednim wpisie skończyliśmy w miejscu w którym Webduino mogło nam już serwować dowolne pliki z karty SD. Teraz musimy wybrane pliki przepuścić przez nasze PHP :) i rezultat przesłać do klienta. Dla uproszczenia całego procesu, zakładamy, że każdy plik który ma zostać poddany obróbce jest nam znany. Tzn rejestrujemy każdy taki plik (URL) za pomocą addCommand. Następnie jak to ma działać? Idea jest taka, że mamy swoje funkcje w kodzie szkicu i których wynik działania ma zostać wklejony w wybrane miejsca kodu HTML. Czyli chcemy mieć plik HTML z takim kawałkiem kodu: <p> Wynik odczytu czujnika 1: MAGIA1<br/> Wynik

Czytaj dalej...