Goto page 1, 2 Next
kropa
Guest
Thu May 13, 2010 2:43 pm
Witam
Muszę zrobić oddalony przycisk do pc (kilka metrów). Napiszcie mi czy
dobrze kombinuję. Jest sobie pc z odpalonym programem, który nasłuchuje
na porcie rs232 określonego bajtu (jak go wykryje to wykona odpowiednią
czynność). Z drugiej strony jest 'wybebeszona' klawiatura na PS/2 z
pozostawionym jednym przyciskiem. W jaki sposób pożenić obie rzeczy ?
(przycisk) PS/2 to cztery linie (1-clock/2-data/4-gnd/5-vcc)
Jak podłączyć to pod RS232 komputera ?
Rozumiem że pin 2 portu PS/2 to wysyłane dane czyli odbierane RxD pc'ta,
natomiast do czego służy pin 1 clock ? I co trzeba zewrzeć do masy po
stronie PC aby transmisja była możliwa, DTR ?
Pozdrawiam
Bartek
Konop
Guest
Thu May 13, 2010 3:18 pm
Quote:
Muszę zrobić oddalony przycisk do pc (kilka metrów). Napiszcie mi czy
dobrze kombinuję. Jest sobie pc z odpalonym programem, który nasłuchuje
na porcie rs232 określonego bajtu (jak go wykryje to wykona odpowiednią
czynność). Z drugiej strony jest 'wybebeszona' klawiatura na PS/2 z
pozostawionym jednym przyciskiem. W jaki sposób pożenić obie rzeczy ?
(przycisk) PS/2 to cztery linie (1-clock/2-data/4-gnd/5-vcc)
Jak podłączyć to pod RS232 komputera ?
Rozumiem że pin 2 portu PS/2 to wysyłane dane czyli odbierane RxD pc'ta,
natomiast do czego służy pin 1 clock ? I co trzeba zewrzeć do masy po
stronie PC aby transmisja była możliwa, DTR ?
Nie da się... To jest zupełnie inny standard transmisji i nie da się
tego w prosty sposób pożenić... Jasne, można zbudować prościutki układ,
ale to bez sensu - jeśli faktycznie chcesz mieć jeden przycisk, to
łatwiej to zrobić tak, że masz jeden przycisk i od razu RS232

.. Tak
czy siak - nie zrobisz tego w prosty sposób...
Transmisja w PS/2 jest synchroniczna (jest sygnał CLK, który taktuje
dane), a w RS232 jest asynchroniczna (szybkość transmisji jest z góry
ustalona i nie jest synchronizowana). To tak w skrócie...
Napisz co to jest, co potrzebujesz po tym RSie wysłać i na co masz wpływ

... Może łatwiej będzie zaadoptować starą mysz na COMa??
--
Pozdrawiam
Konop
kropa
Guest
Thu May 13, 2010 3:36 pm
Quote:
Nie da się... To jest zupełnie inny standard transmisji i nie da się
tego w prosty sposób pożenić...
Zakładałem że to nie będzie takie proste

Quote:
... jeśli faktycznie chcesz mieć jeden przycisk, to
łatwiej to zrobić tak, że masz jeden przycisk i od razu RS232

.. Tak
czy siak - nie zrobisz tego w prosty sposób...
Jak zrobić ten jeden przycisk ? Wiem że jest możliwość zaprogramowania
zwykłego avr i po kłopocie, ja szukam jak najprostrzego (i najlepiej
gotowego) rozwiązania. Chodzi mi o coś takiego:
http://www.automex.pl/prod/amx101/amx101.php
lub takiego, najlepiej w kompletnego a nie samego pcb:
http://www.sklep.avt.com.pl/p/pl/2751/klawiatura+z+rs232+16-stykowa+-+plytka+drukowana.html
Ale w prostszej formie - tylko z jednym przyciskiem.
Quote:
Transmisja w PS/2 jest synchroniczna (jest sygnał CLK, który taktuje
dane), a w RS232 jest asynchroniczna (szybkość transmisji jest z góry
ustalona i nie jest synchronizowana). To tak w skrócie...
Napisz co to jest, co potrzebujesz po tym RSie wysłać i na co masz wpływ

... Może łatwiej będzie zaadoptować starą mysz na COMa??
Buduję mały system parkingowy, wszystko już mam mniej więcej przemyślane
(oprogramowanie, drukowanie kwitku, stempla czasu w kodzie kreskowym na
nim, czytnik) brakuje tylko tego przycisku, koniecznie musi być na rs232.
Potrzebuje wysłać po RSie dowolny znak, ważne żeby to był znak a nie
stan lini np. DTR/RTS, szybkość i ustawienia transmisji nie graja roli.
Pozdrawiam
Bartek
kropa
Guest
Thu May 13, 2010 3:49 pm
Quote:
Jeśli to tylko jeden przycisk, to właściwie wysyłasz 1 bit a nie
bajt... Czy w takim razie nie prościej byłoby podłączyć na dwu
przewodach byle jaki przycisk (ew. z jakimś układem
przeciwzakłóceniowym) i sprawdzać stan np. DTR na złączu RS-232 albo
"paper out" na centroniksie, albo nawet przycisk "fire" joysticka?
Chyba, że program już gotowy i nie da się zmienić...
Dziękuję za odpowiedz. Sprawa ma się tak że mogę się komunikować z
komputerem tylko za pośrednictwem rs232 (odpada game port, usb,
ethernet, centronics) Do dyspozycji mam serwer 4D i polecenie RECEIVE
BUFFER.
Dokładny opis komendy tutaj:
http://www.4d.com/4ddoc2004/CMU/CMU00172.HTM
Nie pytaj dlaczego 4D... po prostu to wymóg. Tym poleceniem mogę odebrać
sobie dane (ten jeden bajt) z portu com z dowolnym ustawieniem
transmisji. Faktycznie łatwiej by było badać stan linii (przetestowałem
i działa), ale w takim wypadku program będzie musiał sprawdzać co jakiś
czas jej stan - często), a tego chce uniknąć. Natomiast odbierając bajt,
mam o wiele lepszą sytuację gdyż mogę 'nasłuchiwać w tle' odbierane dane
nie angażując za bardzo zasobów komputera.
Pozdrawiam
Bartek
entroper
Guest
Thu May 13, 2010 3:50 pm
Użytkownik "kropa" <kropa@kropa.pl> napisał w wiadomości
news:4bec1c97$1@news.home.net.pl...
Quote:
Potrzebuje wysłać po RSie dowolny znak,
Pojedynczy impuls +12V o ściśle określonej długości spełnia Twoje
wymagania - będzie to pojedynczy znak (np. 0xFF). Potrzebujesz przerzutnik
monostabilny lub każde inne urządzenie, które działa w ten sposób i da się
wyzwalać przyciskiem. Prostsze od małego procka to nie będzie.
e.
Zbych
Guest
Thu May 13, 2010 4:35 pm
kropa pisze:
Quote:
http://www.4d.com/4ddoc2004/CMU/CMU00172.HTM
Nie pytaj dlaczego 4D... po prostu to wymóg. Tym poleceniem mogę odebrać
sobie dane (ten jeden bajt) z portu com z dowolnym ustawieniem
transmisji. Faktycznie łatwiej by było badać stan linii (przetestowałem
i działa), ale w takim wypadku program będzie musiał sprawdzać co jakiś
czas jej stan - często), a tego chce uniknąć. Natomiast odbierając bajt,
mam o wiele lepszą sytuację gdyż mogę 'nasłuchiwać w tle' odbierane dane
nie angażując za bardzo zasobów komputera.
Najlepiej byłoby zatrudnić do tej roboty jakiś mikrokontroler, ale
możesz spróbować zrobić taką partyzantkę:
10uF ___
RXD ------------||-----+----o o----+
+ | |
| |
| | |
| | 10k |
| | |
| |
| |
GND -------------------+ |
|
DTR -------------------------------+
Żeby całość działała na linii DTR musisz mieć ustawiony stan wysoki.
Po naciśnięciu przycisku odbierzesz od jednego do kilku bajtów (w
zależności jak komu ręka zadrga przy naciskaniu). Prędkość transmisji
musisz dobrać eksperymentalnie, zaczynając od 300bps.
Wersja prostsza to linie TXD i RXD połączone przez przycisk. Jak
będziesz nadawał dane i przycisk będzie naciśnięty to zaczniesz je odbierać.
___
RXD --------------o o----+
|
|
TXD ---------------------+
Artur Stachura
Guest
Thu May 13, 2010 5:20 pm
On Thu, 13 May 2010 16:43:14 +0200, kropa <kropa@kropa.pl> wrote:
Quote:
Witam
Muszę zrobić oddalony przycisk do pc (kilka metrów). Napiszcie mi czy
dobrze kombinuję. Jest sobie pc z odpalonym programem, który nasłuchuje
na porcie rs232 określonego bajtu (jak go wykryje to wykona odpowiednią
czynność). Z drugiej strony jest 'wybebeszona' klawiatura na PS/2 z
pozostawionym jednym przyciskiem. W jaki sposób pożenić obie rzeczy ?
Trochę obok tematu:
Jeśli to tylko jeden przycisk, to właściwie wysyłasz 1 bit a nie
bajt... Czy w takim razie nie prościej byłoby podłączyć na dwu
przewodach byle jaki przycisk (ew. z jakimś układem
przeciwzakłóceniowym) i sprawdzać stan np. DTR na złączu RS-232 albo
"paper out" na centroniksie, albo nawet przycisk "fire" joysticka?
Chyba, że program już gotowy i nie da się zmienić...
Pozdrawiam,
--
Artur Stachura
Konop
Guest
Thu May 13, 2010 5:59 pm
Quote:
No to nie wiem, czy coś takiego dostaniesz... JA bym to zrobił na AVRze,
ale może w tej sytuacji lepiej nie...
Masz tu wiele pomysłów kolegów, przyznam, że bardzo fajne wszystkie. Mi
się w szczególności podoba sposób ze zwarciem RXD i TXD przez przycisk,
który to zaproponował Zbych. Pod jego wątkiem napisałem więcej.... A
cały problem jest taki - czy te kilka metrów wiszącego z drugiej strony
przewodu nie zadziała jak antena? W sumie wyindukować te +/-12 to nie
tak łatwo, dopuszczalna odległość RS232 jest spora, no ale w przypadku
właściwego NADAJNIKA! A tu kabel będzie wisieć :/..
Quote:
Buduję mały system parkingowy, wszystko już mam mniej więcej przemyślane
(oprogramowanie, drukowanie kwitku, stempla czasu w kodzie kreskowym na
nim, czytnik) brakuje tylko tego przycisku, koniecznie musi być na rs232.
Ma to działać w praktyce, czy jest to jakiś projekt na uczelni/w szkole?
Quote:
Potrzebuje wysłać po RSie dowolny znak, ważne żeby to był znak a nie
stan lini np. DTR/RTS, szybkość i ustawienia transmisji nie graja roli.
Niech komp sam go wyśle - tak będzie najlepiej :)
--
Pozdrawiam
Konop
entroper
Guest
Thu May 13, 2010 6:01 pm
Użytkownik "Zbych" <abuse@onet.pl> napisał w wiadomości
news:hsh9t6$iem$1@news.mm.pl...
Quote:
Po naciśnięciu przycisku odbierzesz od jednego do kilku bajtów
pytanie, czy framing error nie przeszkodzi w ich odbiorze
e.
Konop
Guest
Thu May 13, 2010 6:04 pm
Quote:
Wersja prostsza to linie TXD i RXD połączone przez przycisk. Jak
będziesz nadawał dane i przycisk będzie naciśnięty to zaczniesz je
odbierać.
___
RXD --------------o o----+
|
|
TXD ---------------------+
To jest najlepsze rozwiązanie - proste, a genialne... wystarczy co
chwilę coś wysyłać (tak 10..20x na sekundę) i badać, czy przyszło.
Dodatkowo, jeśli przyszło, można wysłać dłuższą sekwencję, na przykład
losową i też zweryfikować, czy przyszła poprawna. W ten sposób system
stanie się odporny na zakłócenia. I jest dosyć prosty w budowie

...
--
Pozdrawiam
Konop
Konop
Guest
Thu May 13, 2010 6:07 pm
Quote:
pytanie, czy framing error nie przeszkodzi w ich odbiorze
Grunt, żeby było "zero" w czasie bitu startu i "jeden" w czasie bitu
stopu... . Przy odpowiednim doborze stałej czasowej da się to zapewnić

... A kontrolę parzystości raczej wyłączy

...
--
Pozdrawiam
Konop
Zbych
Guest
Thu May 13, 2010 6:45 pm
Konop przemówił ludzkim głosem:
Quote:
Wersja prostsza to linie TXD i RXD połączone przez przycisk. Jak
będziesz nadawał dane i przycisk będzie naciśnięty to zaczniesz je
odbierać.
___
RXD --------------o o----+
|
|
TXD ---------------------+
To jest najlepsze rozwiązanie - proste, a genialne... wystarczy co
chwilę coś wysyłać (tak 10..20x na sekundę) i badać, czy przyszło.
Dodatkowo, jeśli przyszło, można wysłać dłuższą sekwencję, na przykład
losową i też zweryfikować, czy przyszła poprawna. W ten sposób system
stanie się odporny na zakłócenia. I jest dosyć prosty w budowie

...
Trzeba tylko ustawić możliwie małą prędkość transmisji. Miałem już w
ręku takie kable, które po podłączeniu jednego końca do komputera i
prędkości transmisji 115200 potrafiły odbierać to co się wysyłało
J.F.
Guest
Thu May 13, 2010 10:10 pm
On Thu, 13 May 2010 17:36:55 +0200, kropa wrote:
Quote:
Jak zrobić ten jeden przycisk ? Wiem że jest możliwość zaprogramowania
zwykłego avr i po kłopocie, ja szukam jak najprostrzego (i najlepiej
gotowego) rozwiązania.
To jest wlasnie najprostsze i niemal gotowe.
Quote:
Potrzebuje wysłać po RSie dowolny znak, ważne żeby to był znak a nie
stan lini np. DTR/RTS, szybkość i ustawienia transmisji nie graja roli.
Jesli dowolny znak to wystarczy mono impulsator [555,123, 121].
W zaleznosci od dlugosci bedzie to znak FF, FE, FC .. do 00
J.
J.F.
Guest
Fri May 14, 2010 6:44 am
On Thu, 13 May 2010 20:45:51 +0200, Zbych wrote:
Quote:
Trzeba tylko ustawić możliwie małą prędkość transmisji. Miałem już w
ręku takie kable, które po podłączeniu jednego końca do komputera i
prędkości transmisji 115200 potrafiły odbierać to co się wysyłało
Jakie i jakie dlugie ?
Kilanascie metrow plaskiej tasiemki nie ma takich problemow.
Moze jakiejs skretki uzyles ?
J.
Zbych
Guest
Fri May 14, 2010 8:26 am
J.F. pisze:
Quote:
On Thu, 13 May 2010 20:45:51 +0200, Zbych wrote:
Trzeba tylko ustawić możliwie małą prędkość transmisji. Miałem już w
ręku takie kable, które po podłączeniu jednego końca do komputera i
prędkości transmisji 115200 potrafiły odbierać to co się wysyłało :-)
Jakie i jakie dlugie ?
Kilanascie metrow plaskiej tasiemki nie ma takich problemow.
Moze jakiejs skretki uzyles ?
Zwykły 6-żyłowy płaski, przeznaczony do zaciskania we wtyczce rj-12,
długość kilka metrów.
Goto page 1, 2 Next