Jak podlaczyc 100-200 kontaktronow

W jaki najprostszy i najtanszy sposob podlaczyc 100-200 kontraktonow do komputera ? Chodzi o takie rozwiazanie, aby nie trzeba bylo sprawdzac stanu wszystkich 100-200 kontaktronow sekwencyjnie pare razy na sekunde. Tylko, jesli zmieni sie stan ktoregos, to wowczas komputer jest o tym informowany. Czy jest moze taki uklad z duza iloscia wejsc, aby nie trzeba bylo laczyc np: 20 ukladow ze soba ?

PT

Reply to
Elektr
Loading thread data ...

Powitanko,

Z pewnoscia jakas matryca. 8x16=128 troche malo, ale na jednym 8951 by sie dalo zrobic wszystko. Mozna tez wybebeszyc klawiature kompa i tam sie podlaczyc;-)

Czemu tak? Przeca robilby to zewnetrzny uklad i niepokoilby kompa dopiero jak cos sie zmieni. Od przegladanej matrycy IMHO nie uciekniesz. Troche trudno mi sobie wyobrazic 1 uklad z taka iloscia wejsc. Z mniejsza zaczalbym szukac od Maxima/Dallasa, moze TI...

Pozdroofka, Pawel Chorzempa

Reply to
Pawel "O'Pajak

Elektr <elektr snipped-for-privacy@wp.pl pisze:

Ja bym zrobił rejestr przesuwny z równoległym wejściem i szeregowym wejściem/wyjściem, Ładujesz taki rejestr danymi a później przesuwasz do jakiegoś procka, który informuje kompa o zmianie.

Jeden moduł miałby 16 wejść, więc z dziesięć modułów połączonych ze sobą kaskadowo. Układy cyfrowe kosztować będą grosze, procek złotówki. Łatwe do zaimplementowania.

Reply to
Patryk Sielski

Ja ostatnio podlaczylem (co prawda malutka - telefoniczna) klawiaturke za pomoca PCF8574. Ma on ta zalete ze posiada wyjscie INT ktore, o ile sie zorientowalem z datasheeta, moze zglaszac kazda zmiane stanu wejsc. I teraz jesli wysteruje sie naraz wszystkie kolumny to nacisniecie dowolnego klawisza powoduje, ze na jakims wyjsciu pojawi sie sygnal aktywny, co spowoduje kolejno wysterowania wyjscia INT. W obsludze INT'a procesor moze przeskanowac klawiature i zorientowac sie jaki klawisz zostal nacisniety. Oczywiscie nie zadziala jesli zalozymy mozliwosc naciskania dowolnej kombinacji klawiszy, ale ja trakture taki stan - wysterowanie rownoczesne wszystkich kolumn - jako stan spoczynkowy. Nie trzeba wtedy nic robic, mozna uspic procesor.

Analogicznie, tyle ze troche wielej tych ukladow (ze 4) powinny wystarczyc do obslugi matrycy kontaktronow (o ile mozna je podlaczyc w matryce).

Reply to
Krzysztof Rudnik

Dzieki wielkie za pomysly, wlasnie zastanawiam sie co byloby najlepsze:

- "wybebeszona klawiatura" bylaby na pewno bardzo latwa w implementacji, tylko ze do sterowania kompa jest mi ona potrzebna :) poza tym jesli kilka kontaktronow bedzie zalaczonych to tak jakby ktos nacisnal np: 20 klawiszy rownoczesnie to nie wiem czy daloby sie to odczytac :)

- I2C aktualnie najbardziej mnie zaciekawilo, w zasadzie same zalety, trudno mi jakas wade tutaj znalezc. Jesli zmieni sie stan mamy wygenerowana informacje na szynie wiec nie jest wymagane sekwencyjne przegladanie, a to dosc upraszcza sprawe.

- PCF8574 - to rozwiazanie stawiam na drugim miejscu jesliby cos nie poszlo z I2C

- rejestr przesuwny - tutaj trzebaby przegladac sekwencyjnie

A na pytanie: do czego to w ogole potrzebne ? Odpowiadam: do odczytywania stanu czujnikow umieszczonych w dzwiach i oknach oraz od odczytywania stanu przekaznikow bistabilnych. Razem daje to (na te chwile) ok 150 punktow pomiarowych.

Moze macie jeszcze jakies uwagi czy propozycje rozwiazan, chetnie sie z nimi zapoznam aby wybrac rozwiazanie najlepsze.

PT

Reply to
Elektr

Powitanko,

Ten uklad wlasnie jest na I2C. Nie pamietam ile adresow mozna ustawic, pamietam tylko, ze te z literka "A" maja inny adres niz te bez. Obawiam sie, ze moze nie starczyc adresow. Poza tym za tani to on nie jest. Szyna I2C nie jest pomyslana do duzych odleglosci, chyba ze zastosujesz P82B715 (tez nie tani).

A co w tym zlego? Przeca to "zmartwienie" procka. Na 1 procku mozna wszystko zrobic z wystarczajaca predkoscia, okna & drzwi w oscylacje nie wpadaja;-). Tych odleglosci to bym sie troche obawial. Mozliwe, ze trzebaby kilka punktow zebrac tak, zeby to byly polaczone gwiazdy. Kazda gwiazda raportowalaby o zmianach itd. Pozdroofka, Pawel Chorzempa

Reply to
Pawel "O'Pajak

Pawel "O'Pajak" napisał(a):

Układ ma trzy wejścia ustalające adres co daje 8 możliwych adresów bazowych. Do tego 8 adresów dla wersji z sufiksem A czyli mozna dać maksymalnie 16 układów po 8 nóżek czyli 128 nóżek do dyspozycji - trochę mało jak na potrzeby autora. A cena tego układu przy dobrym źródle akurat nie jest wysoka - kilka PLN.

Reply to
badworm

Odleglosci nie sa duze poniewaz wszystkie przewody schodza sie do jednego punktu centralnego. Problemem jest 128 nozek. Poniewaz juz teraz jest ich potrzebne 150, a to tylko odczyt. Dobrze byloby gdyby jeszcze ok 100 nozek wykorzystac do strowania przekaznikami, ogrzewaniem itp. czyli razem daje to ok 250 linii we/wy.

Mam zatm kilka pytan:

- Jakie sa maksymalne ogleglosci na I2C ?

- Jakie sa orientacyjne ceny ukladow bez literki A, bo rozumiem, ze wtedy mozna wiecej niz 16 ukladow polaczyc ?

PT

Reply to
Elektr

Jak dolozysz po diodzie do kazdego kontaktronu to sie da.

Zaraz zaraz - pcf8574 to jest wlasnie I2C. A przy takiej ilosci to masz problem - pcf dasz na magistrali tylko 8 sztuk.

Czyli w praktyce sekwencyjnie bedzie dobrze :-)

J.

Reply to
J.F.

To moze magistrala 1-wire i po jednym DS2408 na kazde 8 wejsc? Sa gotowe adaptery 1-wire do PC (RS232 i USB), a protokol umozliwia znalezienie ukladu w ktorym zmienil sie stan wejsc (bez odpytywania wszystkich po kolei). Rozwiazanie niestety raczej nie najtansze, ale za to dosc proste w dalszej rozbudowie.

A jesli I2C - powinno dac sie zrobic kilka magistral i zaoszczedzic troche pinow dajac oddzielne sygnaly SDA, ale SCL wspolny. Chyba nawet daloby sie wtedy obslugiwac wszystkie magistrale rownoczesnie.

Marek

Reply to
Marek Michalkiewicz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.