Skocz do zawartości

Klawiatura PS/2 , silniczki dc , RFM12B/868D


Pomocna odpowiedź

Nie wiem czy w dobrym miejscu to umieściłem, jeśli nie to proszę o przeniesienie.

Pierwsze primo: Co się dzieję gdy na klawiaturze nacisnę dwa znaki na raz?? Chciałbym użyć jej do sterowania a'la robotem.

Drugie primo: Co oznacza, że dany silnik jest klasy załóżmy 280? Próbuję się tego dowiedzieć na wszystkich możliwych forach, ale jakoś nikt mnie nie lubi.

Trzecie primo: Później chciałbym sterować tym robotem właśnie za pomocą RFM12B/868D. No i pytanie Elvis pisał, że są gdzieś te układziki na 5V, gdzie ? Po drugie czy to w ogóle dobry pomysł? Widziałem już tutaj https://www.forbot.pl/forum/topics20/radiowa-transmisja-danych-czyli-robot-zdalnie-sterowany-vt2207.htm , że ktoś już takie cudo zrobił.

Z góry dziękuje za odpowiedzi.

Link to post
Share on other sites

Jak chodzi o moduły radiowe, to RFM12 (zamiast RFM12B) może być zasilane z 5V. Więcej informacji na stronie producenta: http://www.hoperf.com/rf_fsk/rfm12.htm

Moduły do kupienia np. tutaj: http://www.seguro.pl/sklep/?zobacz=4745&producent=

Główną zaletą modułów jest ich cena.

Inny przykład użycia RFM12 z AVR opisany jest tutaj: http://zenburn.net/~goroux/rfm12b/rfm12b_and_avr-%20quick_start.pdf

  • Lubię! 1
Link to post
Share on other sites

Co do modułów RFM to proponuję kupić wersję "przetykaną" a nie SMD.

W wersji przetykanej wszystko jest wyprowadzone na dwurzędowych

goldpinach w rastrze 2mm.

Wersja SMD wymaga lutowania przewodów do podłączenia, a wielkość

samych modułów jest praktycznie taka sama.

  • Lubię! 1
Link to post
Share on other sites
Pierwsze primo: Co się dzieję gdy na klawiaturze nacisnę dwa znaki na raz?? Chciałbym użyć jej do sterowania a'la robotem.

W takich przypadku kontroler, który jest wbudowany w klawiaturze przesyła kody dwóch znaków. Transmisja odbywa się szeregowo z tego co wiem.

  • Lubię! 1
Link to post
Share on other sites

Jest tak jak pisze TIMONek. Klawiatura nie przesyła stanu klawiszy, tylko zmiany, czyli kody wciskanych i zwalnianych klawiszy.

Nawet jeśli ktoś naciśnie jednocześnie dwa, klawiatura odczyta je oddzielnie (skanowanie matrycy), po czym wyśle kolejno dwa kody.

Więcej np. tutaj http://www.computer-engineering.org/ps2keyboard/

  • Lubię! 1
Link to post
Share on other sites

Na początku chcę podziękować za linki, ale po pierwsze ja jestem laikiem i za bardzo nie rozumiem tego "elektronicznego żargonu " 😅 a po drugie ja na razie 2 gimnazjum i słabo znam angielski (choć piąteczkę mam 😅)

Jeśli źle rozumiem proszę o wyprowadzenie mnie z błędu 😉

Jeśli chcę żeby po naciśnięciu jednocześnie 'W' i 'A' prawy silnik kręcił się na max a lewy załóżmy PWM(500) muszę zrobić jakąś pętelkę która by pobierała znaki odebrane z klawiatury i zapisywała je do tego momentu, aż się jakiś znak nie powtórzy. Później je porządkuję (załóżmy alfabetycznie) żeby nie było problemu co ma robot zrobić jak będzie 'WA' a co jak 'AW' . Później robię if(string=="AW") robot ma skręcić i powrócić na początek głównej pętli tak?

No i dziękuję za takie zainteresowanie tematem ;]

Link to post
Share on other sites

PS2 jest protokołem szeregowym. Czyli bity danych przesyłane są jeden po drugim, jak już ktoś wcześniej napisał.

Trzeba by wyszukać w necie kilka rzeczy:

- przykładowy program obsługujący komunikację z klawiaturą po PS2, na AVR (najważniejsze)

- pełny algorytm tej komunikacji włącznie z sygnałami inicjującymi połączenie i je kończącymi

- mieć rozpisaną ramkę danych.

Nie wiem czy to procesor (master) co jakiś czas odpytuje urządzenie o aktualny stan,
czy może samo urządzenie (slave) w momencie wystąpienia jakiejś zmiany (zdarzenia)

wysyła sygnał, a procesor musi go przechwycić (np. za pomocą wejścia INT) i zdekodować,
czy może jeszcze inaczej ten protokół działa.

Ale mając przykładowy program powinny się znajdować w nim funkcje wysyłania i odbioru sygnału.

Trzeba rozszyfrować parametry przekazywane do oraz zwracane przez te funkcje.

Na tej podstawie w swoim programie musisz np. ustawiać lub kasować jakieś bity konfiguracyjne

zarządzające wykonywaniem programu.

Pierwszym krokiem może być zrobienie prostego programiku jaki standardowo robi się przy wykorzystywaniu odbiorników TSOP do odbioru sygnału np. RC5.

Mianowicie program, który będzie wyświetlał na wyświetlaczu LCD lub terminalu po RSie kody wysyłane przez klawiaturę.

  • Lubię! 1
Link to post
Share on other sites

http://radzio.dxp.pl/pckeyboard/ tu coś jest tylko jak tak na sucho nie umiem 😃 a po drugie na razie to ja prawie nic nie liznąłem C. Teraz widać z mojego podpisu robię LF i myślę, że nabiorę trochę doświadczenia podczas programowania. Sabre słuszna uwaga, poszukam 😅

Ile kosztuje przesyłka w Seguro ❓

Link to post
Share on other sites

Zuk, klawiatura inicjuje transmisję do hosta, host inicjuje transmisję do klawiatury (w celu odpytania o stan diód/zapalenie/zgaszenie diody), ale to zawsze klawiatura nadaje sygnał zegarowy do przesyłu znaków, dlatego zarówno odbiór, wysyłanie jak i sama implementacja protokołu jest proste. Clock z klawiatury podłącza się bezpośrednio do wejścia INT0/1, robi przerwanie na opadające zbocze i przerwanie-po-przerwaniu odczytuje się bit-po-bicie. Tzn. w przerwaniu odbiór bitu, i wpisanie do odpowiedniej zmiennej. Tak moim zdaniem najprościej 🙂

Sam protokół PS\2 jest bardzo, bardzo dobrze opisany. W zeszłym roku, nie mając prawie w ogóle pojęcia o programowaniu mikrokontrolerów pisałem sterownik (tylko odbiór znaków) do klawiatury ps\2 na procesory '51 - może trzy dni mi to zajęło. [jeśli ktoś byłby zainteresowany to mogę udostępić źródła]

http://www.hardwarebook.info/AT_Keyboard/Mouse_protocol

http://www.burtonsys.com/PS2_keyboard_and_mouse_mini-DIN-6_connector_pinouts.html

http://elportal.pl/forum/viewtopic.php?t=8155 < przykładowy kod na avry, choć polecam próbować pisać własny!

Warto kupić przedłużacz do klawiatury, rozwalić go i zrobić sobie wygodne podłączenie pod goldpiny, albo jakoś inaczej do testów.

  • Lubię! 1
Link to post
Share on other sites

Na jakimś forum spotkałem taki sposób połączenia układu rfm01

SDI -> PB0(ICP)

FFIT/SD0 -> PB3(MOSI/OC2)

SCK -> PB1(OC1A)

nSEL -> PB2(SS/OC1B)

nIRQ -> PD2(INT0)

DCLK/CFIL/FFIT -> PB4(MISO)

VDD -> VCC --[]100nF[]-- GND

GND -> GND

DATA -> -----[ 10k ]----- Vcc

Czy tak będzie dobrze z rfm12 ?

Link to post
Share on other sites

Po prostu, jeśli chcesz uzywać sprzętowego SPI musisz podpiąć RFM zgodnie z nazwami pinów uC, a jeżeli bedziesz robił programowe SPI to podpinasz się tak na prawdę gdziekolwiek.

Link to post
Share on other sites

A czy trudno będzie zrobić programowo SPI? I tak w ogóle to co to jest (wiem że chodzi o przesyłanie danych, rodzaj komunikacji, ale jak to dokładnie w Atmedze programowo i tak normalnie)

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.