Skocz do zawartości

Pomocna odpowiedź

5 minut temu, ethanak napisał:

Jasne, wiesz lepiej, podaj przykładowy kod.

Taki ekspert od AVR i nie wie o klasie HID dla AVR? Wstyd!

W załączniku masz CDC i HID zarówno dla AVR z sprzętowym USB jak i rozwiązanie programowe.

AVR-HID.ZIP

  • Nie zgadzam się! 2

Udostępnij ten post


Link to post
Share on other sites
1 minutę temu, InspektorGadzet napisał:

Taki ekspert od AVR i nie wie o klasie HID dla AVR? Wstyd!

Ostatni raz proszę o to, aby darować sobie takie zgryźliwości.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Jeśli ktoś ma arduino leonardo mógłby sprawdzić czy w tym programie piny PA i PB z ekspandera będą wyświetlały się w ustawieniach przycisków?

WheelConfig_0.21.rar

 

 

image.png

Edytowano przez kubaskubas4

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
28 minut temu, kubaskubas4 napisał:

sprawdzić czy w tym programie piny PA i PB z ekspandera będą wyświetlały się w ustawieniach przycisków?

Z kodu wnioskuję, że nie. Autor programu takiej opcji nie przewidział.

Nic dziwnego, że program nie zobaczy ekspanderów, bo biorąc na logikę, ile typów ekspanderów jest? Pewnie ponad 20. Na ile różnych sposobów mogą być włączone? Są ekspandery I2C, SPI, można zrobić na rejestrach przesuwnych. Niektóre mikrokontrolery mają 6 I2C/SPI, do tego dochodzi programowy I2C/SPI. Pewnie liczba kombinacji jest tak duża jak liczba kombinacji cyfr w lotku. Arduino to nie komputer z systemem a ekspandery to nie urządzeniei USB, które,  i tak, zwłaszcza w Window$, wymaga instalacji sterowników. Literka "U" w USB jest przesadą (w Window$, bo w Linux instalowanie sterowników do USB jest rzadkością).

Musisz dopisać kawałek programu, który obsłuży ekspander. To się nazywa wkład własny w rozwój Arduino.

Edytowano przez InspektorGadzet

Udostępnij ten post


Link to post
Share on other sites

Na screenie który załączyłem w odpowiedzi na poprzedniej stronie widać ze  można ustawić port D (cyfrowy o ile dobrze myśle) i A (analogowy) lecz widać też np. A4 (7), więc czy numerek w nawiasie oznacza port cyfrowy? Chodzi mi o połączenie krzyżowe tak jak na zdj które zamieszczę poniżej

Dzięki niemu jeśli chcę podłączyć 20 przycisków +8 biegów i wsteczny + ręczny to potrzebuje razem 30 wejsć a tak można by zrobić 6x5 czyli wystarczy tylko 11

image.png.72effea87a614f8ad5f4796f007af421.png

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
34 minuty temu, kubaskubas4 napisał:

Dzięki niemu jeśli chcę podłączyć 20 przycisków +8 biegów i wsteczny + ręczny to potrzebuje razem 30 wejsć a tak można by zrobić 6x5 czyli wystarczy tylko 11

Poczytaj o klawiaturach matrycowych bo widać, że nie wiesz, iż w takiej klawiaturze, naciśnięcie jednego przycisku blokuje cały wiersz/kolumnę. Włączysz np bieg i  nie działa przykładowo hamulec. Klawiatury matrycowe, w podstawowym wykonaniu, nadają się do rozwiązań, gdzie w jednej chwili naciśnięty jest jeden przycisk (np klawiatura komputera). Można wykryć naciśnięcie kilku przycisków ale trzeba je odpowiednio rozmieścić w matrycy (np SHIFT, ALT, CTRL w klawiaturze komputera). Aby była pełna dowolność załączania kilku przycisków/przełączników trzeba dodać diody do każdego (większości) przycisków/przełączników ale soft musi to uwzględniać. Podobny temat był niedawno na forum, poszukaj. Było tam też o wykorzystaniu ADC.

Jak łatwo wywnioskować, najlepszym rozwiązaniem jest mikrokontroler z wymaganą liczbą GPIO. Opcja z enkoderem jest droższa, bardziej zawodna. Jak byś nie kombinował, ekspander, matryca, ADC, trzeba zmodyfikować soft, bo on "magicznie" nie dowie się o ekspanderach, innym mikrokontrolerze, itp. Jak dobrze znasz się na programowaniu? Z poziomu pytań wnioskuję, że bardzo słabo bo nie pytasz np jak zmienić deskryptor USB lecz o podstawy zawarte w podstawowych kursach. Zacznij więc od kursu Arduino.

Edytowano przez InspektorGadzet

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Z racji tego że części i tak zamawiam z aliexpress to gdyby tak robić 2 osobne zestawy tak jak na schemacie: 

Bez tytułu.png

Pytanie tylko czy 2 różne oprogramowania będą działały naraz w jednej grze

Edytowano przez kubaskubas4

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
22 minuty temu, kubaskubas4 napisał:

Z racji tego że części i tak zamawiam z aliexpress to gdyby tak robić 2 osobne zestawy tak jak na schemacie

Widać nie czytałeś o klawiaturze matrycowej ani nie przeczytałeś o tym, co na jej temat napisałem. Po co więc się "produkuję"? Przeczytaj, ze zrozumieniem, to co napisałem dwa posty wcześniej i będziesz miał część odpowiedzi na swoje pytanie.

 

22 minuty temu, kubaskubas4 napisał:

Pytanie tylko czy 2 różne oprogramowania będą działały naraz w jednej grze

Logicznych urządzeń w klasie HID może być 5 , ale czy w USB, dwa urządzenia będące fizycznie na dwóch różnych portach, mogą być widziane jako jedno?  Jak włożysz dwa pendrive to możesz zobaczyć go jako jeden o większej pojemności? Może oprogramowanie gry daje możliwość zobaczenia dwóch joy'ów jako jednego?

Zadajesz bardzo podstawowe pytania zarówno na temat Arduino jak i komputerów, USB. Odnoszę wrażenie, że na Arduino nic jeszcze samodzielnie nie zbudowałeś i oprogramowałeś. Zacznij, o czym pisałem, od kursu Arduino https://forbot.pl/blog/kurs-arduino-podstawy-programowania-spis-tresci-kursu-id5290 Poczytaj też o USB, trybach pracy, urządzeniach, enumeracji, deskryptorach, endpiontach. W pierwszych dwóch książek https://kamami.pl/szukaj?controller=search&orderby=position&orderway=desc&search_query=książka+usb&submit_search=

znajdziesz wiele cennych informacji. Bez znajomości podstaw programowana i elektroniki, to jak rozmowa z ślepym o kolorach.

 

Edytowano przez InspektorGadzet

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

W panelu bocznym są guziki czyli chodzi mi o takim czyms jak jest w klawiaturze ( klikam esc wlacza sie menu i tyle) żaden przycisk nie będzie wbity tak jak bieg).

Co do programowania w tym roku dopiero idę na informatyka ale jakaś styczność z programowaniem mam (2 strony internetowe napisane własnoręcznie, sterowanie ledami ws2812b za pomocą arduino uno przez bluetooth). 

Nie chodzi mi że jak podłącze 2 arduino do PC to będą jak jedno tylko że Arduino Leonardo będzie obsługiwane przez WheelConfig, a Pro Micro przez MMjoy.

Chcę sam się czegoś też nauczyć bo ze szkoły niektórej wiedzy nie wyniosę. (2 lata temu bez zadnej nauki w szkole o składaniu komputera, złożyłem swoją pierwsza jednostkę od podstaw, więc to dobrze że sam chcę nauczyć się czegos wiecej)

Kurs Arduino na forbocie czytałem przy okazji programowania ledów lecz nie ma tam np. czy wheelconfig bedzie wiedział o ekspanderach czy bedzietrzeba samemu dopisać kod, lub innych spraw z którymi mam problemy podczas tego projektu więc pytam się użytkowników na forum

Edytowano przez kubaskubas4

Udostępnij ten post


Link to post
Share on other sites

Do stm32f4 jest też specjalne oprogramowanie lecz przejrzałem kilka płytek i nie widzę w nich złącz analogowych chyba

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
1 godzinę temu, kubaskubas4 napisał:

ale jakaś styczność z programowaniem mam (2 strony internetowe napisane własnoręcznie,

PHP czy JaveScript (pewnie w tym pisałeś) to zupełnie coś innego niż pisanie softu na mikrokontrolery. Nawet integrowanie serwera ze stroną ze sprzętem (np bramką GSM, expanderem I2C, obsługa 1-Wire, GPIO - robiłeś coś takiego?) nie ma wiele wspólnego z programowaniem mikrokontrolerów, bo czy w takim przypadku piszesz driver, kompilujesz go? Raczej nie. Ja też nie, bo w takiej sytuacji używam tego co oferuje system (USB, GRAFIKA, GPIO, I2C, SPI, UART, 1-Wire). W przypadku mikrokontrolera musisz napisac taki "driver"  sam lub użyć gotowca (skonfigurować,  skompilować, przetestować).

 

1 godzinę temu, kubaskubas4 napisał:

sterowanie ledami ws2812b za pomocą arduino uno

z blokowaniem CPU na czas wysyłania danych do LED. Z prawdziwym programowaniem nie ma to wiele wspólnego. Tak możesz sterować kilkanaście czy kilkadziesiąt LED  z odświeżaniem kilkaset ms, spróbuj wysterować 1000 z odświeżaniem 30ms. Zwyczajnie się nie da, bo CPU nie będzie robił nic innego jak wysyłał dane do LED, na obsługę BT czy czegoś innego nie starczy czasu. 

 

26 minut temu, kubaskubas4 napisał:

Do stm32f4 jest też specjalne oprogramowanie lecz przejrzałem kilka płytek i nie widzę w nich złącz analogowych chyba

Słabo szukałeś. Wszystkie popularne F4 mają ADC, minimum 2 czasem 4. Wejść analogowych przeważnie około 16.

Źle szukasz. Czytasz co na płytce jest napisane. Szukaj w nocie katalogowej, tam masz prawdziwe informacje albo użyj STMCUFinder ze strony STM. Szybko znajdziesz to czego potrzebujesz.

 

1 godzinę temu, kubaskubas4 napisał:

Arduino Leonardo będzie obsługiwane przez WheelConfig, a Pro Micro przez MMjoy.

Można zrobić tak, że mikrokontroler z USB będzie widziany jako dwa urządzenia (pisałem o tym wcześniej). Bez problemu znajdziesz STMF4 z wymaganą liczbą wejśc analogowych i cyfrowych.

 

Edytowano przez InspektorGadzet

Udostępnij ten post


Link to post
Share on other sites

Czyli dla pewność jeśli będę robił kierownicę na stm to czy płytka stm32f4 nucleo64 będzie miała 8 portów analogowych i 36 cyfrowych conajmniej? Nazwa nucleo64 wskazuję liczbę pinów w liczbie 64 ale czy to są wszystkie czy właśnie liczba analogowych i cyfrowych 

Udostępnij ten post


Link to post
Share on other sites
1 godzinę temu, kubaskubas4 napisał:

Czyli dla pewność jeśli będę robił kierownicę na stm to czy płytka stm32f4 nucleo64 będzie miała 8 portów analogowych i 36 cyfrowych conajmniej? Nazwa nucleo64 wskazuję liczbę pinów w liczbie 64 ale czy to są wszystkie czy właśnie liczba analogowych i cyfrowych 

Jaki mikrokontroler jest na tej płytce?

 

PS Widze bardzo niepokojące zjawisko, wywodzące się z Arduino, operowania nie symbolem mikrokontrolera ale nazwą płytki. Już spotkałem płytki nano czy jakoś tak, w dwóch wersjach, z Mega328 i Mega168. Tak samo BluePill. Ta nazwa to nie wszystko, bo są płytki z 64 i z 128kB FLASH. STM też wypuszcza różne wersje, sama nazwa NUCLEOxx czy DISCOVERYxx nic nie znaczy. Pełny symbol powie więcej ale jestem zmuszony ściągać dokumentację takiej płytki, czytać, szukać a mam inne, ciekawsze zajęcia.

Udostępnij ten post


Link to post
Share on other sites

Nie jest to akurat nucleo tylko podobna konstruka ale tutaj pełna nazwa mikrokontrolery stm32f407vet6

Udostępnij ten post


Link to post
Share on other sites
39 minut temu, kubaskubas4 napisał:

pełna nazwa mikrokontrolery stm32f407vet6

Jaki masz problem z sprawdzeniem co ten układ posiada np, wspomnianym wcześniej STMCUFinder'em?

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...