Arduino - Visible Light Communication - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Konstrukcje (https://forum.arduinopolska.pl/dzial-konstrukcje) +--- Wątek: Arduino - Visible Light Communication (/watek-arduino-visible-light-communication) |
Arduino - Visible Light Communication - Amator90 - 18-07-2016 Witam, Realizuję projekt, którego celem będzie zagłębienie się w temat transmisji danych światłem widzialny (VLC - visible light communication). Moje wstępne założenia są następujące. Przy pomocy dwóch arduino uno chcę zrobić nadajnik i odbiornik VLC oraz dołożyć do tego modulacje (on/off, pwm lub jeśli to możliwe ppm). Nadajnik: arduino + biała dioda LED. Moim założeniem jest aby transmisja danych odbywała się poprzez światło widzialne, z zastrzeżeniem że ludzkie oko nie dostrzeże zmian w natężeniu strumienia światła. Planuje początkowo zastosować modulacje on/off z wykorzystaniem kodu manchaster, żeby zmiana z 1 na 0 była króta i nie powodowała dłuższego wyłączenia diody LED przy przesyłaniu na przykład danych 1000001101 (Kod Manchester) Odbiornik: arduino + detektor światła (Detektor światła) + moduł audio (wtv020 mini sd) + głosnik. Chcę zmienić w detektorze światła fotodiodę na bardziej czułą (Fotodioda Osram). Całość w założeniu ma działać tak, że jeśli nadajnik prześle dane np. 1000001101 to program w arduino zweryfikuje czy dane odczytane przez detektor światła to 1000001101 i jeśli tak to z modułu audio zostanie odtworzona melodia nr. X. Aktualnie utknąłem przy realizacji odbiornika. Ponieważ, program działa w ten sposób: Jeśli na fotodiodę świeci światło to odtwórz melodia X jeśli nie to melodię Y. Natomiast chcę i tu mam problem, aby dane z fotodiody po odczycie co np. 1 sek zostały wpisywane do tablicy, która przechowuje 20 ostatnich pomiarów i jesli w tablicy znajdzie się ciąg np. 1000001101 to odtwórz melodia X. Czy ktoś mógłby mi pomoć? Aktualny kod obiornika: Kod: #define inPin0 0 *Zdaję sobię sprawę, że żeby oko nie zauważyło migania to to wszystko musi odbywać się znacznie szybciej natomiast narazie próbuję zrobić to "wolniej". Z góry dziękuję za pomoc, jeśli coś powinienem jaśniej opisać to dajcie znać gdzie. Pozdr. |