Arduino Polska Forum
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? Smile


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.
[Obrazek: dY1Qo.jpg]


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 Big Grin. 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ć.