Czujnik kierunku wiatru - nieznany protokół - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Sieciowe Protokoły i Urządzenia (https://forum.arduinopolska.pl/dzial-sieciowe-protoko%C5%82y-i-urz%C4%85dzenia) +--- Wątek: Czujnik kierunku wiatru - nieznany protokół (/watek-czujnik-kierunku-wiatru-nieznany-protok%C3%B3%C5%82) Strony:
1
2
|
Czujnik kierunku wiatru - nieznany protokół - ostry38 - 10-03-2019 Witam, buduję stację meteo. Problem mam z czujnikiem kierunku wiatru, niestety ma wbudowany jakiś uc i zeszlifowane oznaczenia. Walczę z tym od kilku dni i nie wiem jak to ugryźć. W sieci znalazłem tylko jeden wątek z takim samym właśnie problemem. Poniżej zamieszczam zdjęcie płytki i przebieg jaki generuje na wyjściu. Znalazłem też skrypcik w pythonie na rpi niestety, ale nie umiem go przepisać na arduino. https://github.com/MDreamer/WeatherStation/blob/master/WindVane.py Może jest osoba na forum która potrafiłaby mi pomóc? RE: Czujnik kierunku wiatru - nieznany protokół - kaczakat - 10-03-2019 Podobne przebiegi generują piloty na podczerwień, może gdzieś w tym temacie poszukaj. Są w bibliotekach IRLremote i IRremote przykłady do nagrywania takich nieznanych pilotów długością impulsów, potem są w stanie taki nagrany przebieg wysłać z powrotem. Szukaj "Kod Manchester", piki mają określoną częstotliwość, zwykle około 38kHz, szerokość danego impulsu to szukane 0 lub 1. RE: Czujnik kierunku wiatru - nieznany protokół - ostry38 - 11-03-2019 Niestety, siedzę już kilka godzin próbuję z tym co podałeś i nie mogę odczytać danych... RE: Czujnik kierunku wiatru - nieznany protokół - Jarewa0606 - 11-03-2019 Pokaż drugą stronę płytki.. Odczytujesz pin data czy WIND?? bo WIND to tylko przerzutnik z Halla wiec wykres prawidłowy tam nie ma informacji który. może trzeba w przypadku daty inicjować połączenie... RE: Czujnik kierunku wiatru - nieznany protokół - kaczakat - 12-03-2019 No to opisz co robiłeś, jaką ustaliłeś częstotliwość sygnału, długości impulsów i z jakich kodów skorzystałeś. RE: Czujnik kierunku wiatru - nieznany protokół - ostry38 - 13-03-2019 (11-03-2019, 23:51)Jarewa0606 napisał(a): Pokaż drugą stronę płytki.. Odczytujesz pin data czy WIND?? bo WIND to tylko przerzutnik z Halla wiec wykres prawidłowy tam nie ma informacji który. może trzeba w przypadku daty inicjować połączenie... Odczytuję pin data. Z drugiej strony jest jedynie przelotka do DATA. znalazłem schemat przy zdjęciu. RE: Czujnik kierunku wiatru - nieznany protokół - ostry38 - 13-03-2019 (12-03-2019, 10:15)kaczakat napisał(a): No to opisz co robiłeś, jaką ustaliłeś częstotliwość sygnału, długości impulsów i z jakich kodów skorzystałeś. Korzystałem z przykładów bibliotek: manchaster, irlib, irremote, ppmencoder, rcswitch, rc5, virtualwire RE: Czujnik kierunku wiatru - nieznany protokół - kaczakat - 13-03-2019 No tak wprost to nic nie zadziała, bo te biblioteki spodziewają się określonej częstotliwości, pokazałeś oscylogram z pikami to pewnie masz oscyloskop. Trzeba sobie ustalić częstotliwość, zapisać kilka takich oscylogramów, dla każdego określić długość pierwszego impulsu niskiego (w arduino są funkcje pulse, można to zmierzyć w us), impulsów długich i krótkich. Można skorzystać z przerwań zewnętrznych na pinach 2 lub 3 by ANALOGICZNIE, choć niekoniecznie tak samo jak w pilocie IR, to odczytywać. Albo wpisać w google "arduino weather station wind direction manchester" i może jest coś podobnego/gotowego: https://github.com/robwlakes/ArduinoWeatherOS. RE: Czujnik kierunku wiatru - nieznany protokół - ostry38 - 13-03-2019 Dotarł do mnie analizator stanów logicznych, może to coś pomoże. RE: Czujnik kierunku wiatru - nieznany protokół - kaczakat - 13-03-2019 No nie wiem co masz na myśli, ja umiałbym to zrobić (choć nigdy nie zrobiłem), tylko nie mam potrzeby . Próbuję naprowadzić Ciebie. Zmierz jeszcze ile wynosi czas między tą serią pików (przypadkowo jest ich 8?). Przeanalizuj te piki dla różnych kierunków. Użyj przerwania zewnętrznego, zliczaj czas w us, wpisuj kolejny pomiary do tablicy, potem ją przeanalizuj przyjmując jakiś próg błędu, zamień czas us na 0 i 1 w zależności od długości impulsu i masz bajt, zobacz ile różnych zarejestrujesz, zamień to na wartość kierunku. Jak wykryjesz ten długi stan niski to robisz obliczenia i rozpoczynasz zabawę od nowa. Trochę za mało próbek by to potwierdzić, ale pewnie można to uprościć, po pierwszym przerwaniu od zbocza narastającego wystarczy odczekać 750us i odczytać stan 0 lub 1, potem co 1500us 7 kolejnych wprost 0 / 1. W opcjach Salae Analyzers masz różne protokoły, możesz coś dopasować. |