Skocz do zawartości

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


Pomocna odpowiedź

Napisano

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.

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

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

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 ;]

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

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 ❓

Znalazłem bibliotekę rfm12 ale jakoś numery nóżek się nie zgadzają z innymi schematami. Mógłby ktoś sprawdzić? Tutaj daje fotkę znalezionego schematu IMG_4bc02f8f7ed2a3753.jpg

A w załączniku biblioteka.

rfm_12.rar

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

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 ?

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.

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)

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...