Sterowanie diodami przez przeglądarkę internetową
Jak za pomocą mikro kontrolera Arduino i przeglądarki www sterować diodami LED. Jest to przykład w jaki sposób można sterować elementami elektrycznymi na odległość (zamiast diod można podłączyć np. pralkę, tv, komputer itp.)Przykładowe skrypty umieszczone poniżej (paczka do ściągnięcia tutaj) napisane są pod system operacyjny Windows, jednak wszystkie użyte języki programowania są multiplatformowe, więc nie ma przeszkód, żeby używać ich pod innymi OS (trzeba jednak zmienić kilka linii kodu pod inne OS..).
Zastosowano 3 języki programowania:PHP, python, C#. PHP-część wizualna oraz wysyłanie danych do gniazda(socket), python - odbiera dane i wysyła na urządzenie, C# - standardowy język dla Arduino.
Efekt końcowy:
Podłączenie
Potrzebne będą:
- Arduino UNO
- Rejestr przesuwny typu SIPO (Serial-In, Parallel-Out) o 8 wyjściach równoległych w tym przypadku 74HC595
- 8x dioda LED
- 8x rezystor 220 ohm
- kabel USB
- kabelki podłączeniowe
Podłączenie
- 12 ST-CP -> Arduino 13 (cyfrowe)
- 11 SH-CP -> Arduino 12 (cyfrowe)
- 14 DS -> Arduino 11 (cyfrowe)
- 16 Vcc -> Arduino +5
- 8 GND -> Arduino GND
- 10 ^MR -> Arduino +5
- 13 ^OE -> Arduino GND
Uwaga, na układzie poniżej jest poprzemieniane połączenie z arduino. Poprawne jest wyżej.Kondensator dołączony do układu nie jest potrzebny...
Zdjęcie układu
Część wizualna
Do części wizualnej potrzebny jest serwer PHP. Dostępny jest w pakietach WAMP (windows) lub LAMP (linux), oraz pliki:
- index.php - wyświetla główną strone
- change_diode.php - skrypt odpowiada za wysłanie przez socket informacji o stanie diód.
- img/red.png, img/white.png - pliki grafiki, dostępne w całej paczce plików
- js/functions.js - plik funkcji JS
- js/jquery.js - framework JS, dostępne w całej paczce plików jak również pod adresem http://docs.jquery.com/Downloading_jQuery
W skrypcie zasosowałem framework jQuery w celu przyśpieszenia działania strony. Po zmianie stanu diód strona nie musi się przeładowywać za każdym razem, tylko poprzez AJAX wysyłana jest informacja do pliku change_diode.php. Plik ten wysyła żądanie poprzez socket do skryptu napisanego w pythonie arduino_socket.py.
Uchwyt do Arduino
Uchwytem do urządzenia poprzez kabel USB będzie skrypt napisany w pythonie. Uruchamiamy skrypt python arduino_socket.py, włączając nasłuchiwanie gniazda(socket) na porcie 2000. W chwili otrzymania danych wyświetlana jest informacja "Otrzymałem:xxx" gdzie xxx jest to liczba dziesiętna, która następnie zamieniona jest na liczbę dwujkową i wysłana na rejestr przesuwny.
Kod do wgrania na Arduino
Progam za pomocą, którego wgrywa się skrypt na urządzenie Arduino można ściągnąć z adresu http://www.arduino.cc/en/Main/Software
Dołączone pliki
Przeczytaj także
Kategorie

