Strona 1 z 1

Celownik OSD na MAX7456

: 17 czerwca 2019, 21:58
autor: ZaQ1
Elo
Wcześniej byłem tu znany jako stefan901 ale straciłem dostęp do przypisanego do konta maila, a hasła nie pamiętam więc założyłem nowe konto.

Temat celownika OSD ruszyłem i bardzo podstawowa wersja działa na sucho.
Dla niewtajemniczonych, projekt zakłada użycie taniej płytki minimOSD popularnej wśród droniarzy.
Dzięki temu możemy cieszyć się kompaktowym zestawem do nocnego strzelania bez drogiej lunety.
Wystarczy kamerka ccd 1/3" z odpowiednią soczewką.
Obrazek

Nie mam ani małego ekranu, ani kamerki, więc nie mogę wypróbować czy wszystko poprawnie zadziała w boju.
Daję wszystko tak jak jest. Róbcie z tym co sobie chcecie.
W przyszłości może dodam kilka slotów pamięci do zapisywania różnych konfiguracji i kilka krzyży do wyboru.
W zamian oczekuję jedynie browarka :-)-- gdybyśmy się jakimś zrządzeniem losu spotkali poza internetem.

Wygląda to tak:

Obrazek

I menu:

Obrazek

Można zmienić na czarny:

Obrazek

Obsługa menu krzyżakiem 5 przyciskowym podłączonym jak na schemacie:

Obrazek
Obrazek

Założyłem użycie krzyżaka jak na fotce ale nic nie stoi na przeszkodzie, żeby użyć innego, albo nawet 5 osobnych przycisków.
W obecnej wersji roboczej mam podłączone 5 luźnych przycisków dlatego może się okazać, że gdy podłączycie krzyżak, poszczególne kierunki nie będą odpowiadać tak jak powinny. W takim wypadku należy rozpisać sobie na kartce co robi dany kierunek i co powinien robić.
Uzbrojeni w tą wiedzę odnajdujemy w kodzie linię:

Kod: Zaznacz cały

const uint16_t adc_kx[5] PROGMEM = {190, 367, 533, 687, 833 };
//////////////////////////////////// Przyciski   P,   G,   D,   L,   S 
I zamieniamy miejscami wartości w nawiasie. Wartości odpowiadają u mnie kolejno za: Prawo, Góra, Dół, Lewo, Środek

Obrazek
Występuje on w sklepach pod opisem Mikroprzycisk joystick MT-02 OFF-5x(ON) 100mA/12V i Przełącznik joystick MT-02 4 kierunki + przycisk

Sporo problemów miałem ze znalezieniem niezawodnego sposobu wgrywania tablic znaków dlatego po krótce przedstawię co u mnie się sprawdziło.
1.Pobieramy i wypakowujemy paczkę ze strony http://www.mwosd.com/
2.Wchodzimy do folderu MW_OSD i zmieniamy lub usuwamy plik fontB.h
3.Pobieramy nową tablicę znaków z linku poniżej. Zmieniamy nazwę z siatka2.h na fontB.h, a następnie wklejamy do folderu MW_OSD
4.Otwieramy w arduino plik MW_OSD.ino i przechodzimy do zakładki config.h
5.Podłączamy płytkę przez dowolny adapter portu com, np.ch340, pamiętamy o krosowaniu połączeń rx-tx
6.W arduino wybieramy odpowiedni port com, płytkę arduino pro lub pro mini, 5V 16MHz
7.Wgrywamy szkic na płytkę
Ładowanie fontów trwa ok 90 sekund. W tym czasie nie możemy odłączać płytki. Jeśli do wyjścia wideo jest podłączony ekran to po wgraniu zobaczymy na nim tablicę wszystkich dostępnych znaków.
Po wgraniu fontów możemy wgrać mój szkic z celownikiem.

Wersja minimOSD mini, czyli ta na dużej płytce ma wbudowaną przetwornicę i może być zasilana bezpośrednio z 12V. Jak łatwo się domyślić akumulator podłączamy pod pin podpisany 12V. Drugi kabel z plusa baterii podłączamy do pinu BAT1.
Założyłem zasilanie z akumulatorów li-ion, i dla nich jest skalibrowany monitoring stanu pakietu.
Założyłem, że pusta cela li-ion ma 3,00V. Alarm (miganie stanu baterii) załącza się przy 3,15V na celę.
Można podłączyć pakiety od 1S do 4S. Domyślnie ustawiony jest 3S.
Jeśli cały majdan będzie pracować z jednego akumulatora to zakładam, że do pakietów 1S i 2S będzie podłączona przetwornica STEP-UP.
Wtedy do złącza BAT1 należy podłączyć przewód wyprowadzony z plusa NA WEJŚCIU przetwornicy.

Aby zmienić pozycję krzyża:
1.Wchodzimy do menu klikając środkowy przycisk
2.Kursor na pozycja i znów środkowy
3.Ustawiamy zgrubną pozycję (przesunięcie o odległość 1 znaku) przyciskami kierunkowymi i potwierdzamy środkowym
(u góry ekranu wyświetlane są współrzędne, żeby można było sobie je spisać jak ktoś potrzebuje)
4.Ustawiamy dokładną pozycję (przesunięcie o odległość 1 pixela) przyciskami kierunkowymi i potwierdzamy środkowym
5.Schodzimy na wyjście i przyciskamy środkowy. (W tym momencie pozycja zapisywana jest do pamięci EEPROM)

Ostrzegam, że kod jest bardzo chaotycznie napisany. Uczyłem się na tym projekcie programować, wcześniej nie potrafiłem wyjść poza miganie ledem.
Kod do arduino:
https://drive.google.com/open?id=1XKexs ... 1JeusNteRL
Tablica znaków do MAX7456:
https://drive.google.com/open?id=1KCN1C ... gcmnglypL6
Biblioteka do obsługi MAX7456 dostępna tu:
https://www.tinyosshop.com/arduino-osd-shield

Re: Celownik OSD na MAX7456

: 17 czerwca 2019, 22:21
autor: Neo
Wysłałem Pw.

Re: Celownik OSD na MAX7456

: 18 czerwca 2019, 10:51
autor: stefan901
Jakby co to wróciłem już na swoje stare konto dzięki pomocy admina :-)

Edycja:
Nagrałem film z instrukcją usunięcia dzielnika napięcia z wejścia BAT2, dzięki czemu można tam podłączyć krzyżak/przyciski.
[youtube]http://www.youtube.com/watch?v=0UNR3S7Q-KQ[/youtube]
Zagnieżdżanie video nie chce działać, więc wrzucam goły link http://www.youtube.com/watch?v=0UNR3S7Q-KQ

Re: Celownik OSD na MAX7456

: 20 czerwca 2019, 16:24
autor: stefan901