Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

multitouch display czyli podświetlany blat.

skdk 04 Maj 2008 12:51 4950 9
  • #1 04 Maj 2008 12:51
    skdk
    Poziom 9  

    Witam

    Po niepowodzeniu wcześniejszego mojego tematu https://www.elektroda.pl/rtvforum/viewtopic.php?p=5077887#5077887 postanowiłem założyć nowy ponieważ mam jeszcze mnóstwo problemów do rozwiązania i liczę na waszą pomoc.

    Pomysł narodził się kiedyś jak oglądałem w internecie podobne blaty, mam zamiar zrobić coś podobnego do tego http://www.youtube.com/watch?v=IkmpIXd9Q90&feature=related.

    Problem czujników można rozwiązać po przez fototranzystory. Cały blat byłby oświetlony normalnym światłem i w chwili gdy coś na nim położymy światło nie dociera do fototranzystora. Dawany jest sygnał do jakiegoś uC a on wysyła sygnał którą diodę zaświecić. Jak widać na zdjęciu stworzyłem papierową makietę mojego blatu barowego. Zamierzam w centralnej części kratki umieścić diodę LED jednokolorową (z RGB było by za dużo problemów) a w miejscach przecięcia fototranzystory. Wiadomo żeby zrobić sterowanie wszystkiego na jednym scalaku było by bardzo ciężko, dlatego stwierdziłem że można całość podzielić na segmenty ( 4x4 kratki ) w których znajdowało by się po 16 diod i 9 fototranzystorów. Narysowałem układ jak ja bym to widział.
    Ale nadal mam mnóstwo pytań i proszę o waszą pomoc !
    1. Czy połączenie na schemacie jest dobre ?
    2. Jaki uC do sterowania wszystkiego ( kod chciałbym napisać w asemblerze ) ?
    3. Jakie fototranzystory użyć ( takie które przy oświetleniu ich nie przewodzą a jak są w cieniu to przewodzą, ewentualnie co zrobić by tak było)
    4. Jakie zasilanie do układu ( w całym układzie będzie około 160 diod LED i około 130 fototranzystorów)


    multitouch display czyli podświetlany blat.
    multitouch display czyli podświetlany blat.
    multitouch display czyli podświetlany blat.

    Proszę o pomoc

    0 9
  • #2 04 Maj 2008 18:49
    r2d2004
    Poziom 31  

    Witam!

    RGB na razie zostaw w spokoju i zacznij może od wersji najprostszej z LEDami jednokolorowymi np. niebieskimi (dużo niższe koszty wykonania będą, a propos, skalkulowałeś te koszty??? Nie będą małe!!)

    Potrzebujesz:

    - dowolny mikrokontroler z dwoma wolnymi 8 bitowymi portami I/O
    - matryca 16 x 16 diod LED ze sterowaniem multipleksowym (maksymalnie możesz mieć 256 LED niebieskich na blacie)
    - matryca 16 x 16 fototranzystorów (te są dużo tańsze od fotorezystorów) ze sterowaniem multipleksowym

    do obsługi każdej matrycy (podłączenie do mikrokontrolera) będziesz potrzebował 2 x CD4067 (czyli razem 4 szt), oraz tranzystory: 16 pnp i 16 npn, jako wzmacniacze prądowe LED (diody sterowane impulsowo, będą musiały być zasilane znacznie większym prądem niż przy sterowaniu statycznym), no i "trochę" rezystorów rzecz jasna (i być może 3 x CD40106, jako bramki przełączające do fototranzystorów). Trzeba jeszcze rozważyć, czy CD4067 będą "wyrabiały" się w tym urządzeniu ze względu na czasy propagacji (myślę, że powinny zdać egzamin). W każdym bądź razie do pierwszych testów będzie to chyba najtańsza opcja. Reszta w "inteligencji" programu ;-) .

    Pozdrawiam
    PS Oczywiście można to zrobić na wiele innych sposobów, np. zamiast matryc, wykorzystać specjalizowane scalaki f-my CYPRESS - programowalne porty I/O (obsługujące nawet do kilkuset linii I/O, współpracujące z dowolnymi mikrokonrolerami), ale te są niewygodne (mikro obudowy SMD), drogie i trudno dostępne dla amatora.

    0
  • #3 05 Maj 2008 10:56
    skdk
    Poziom 9  

    Witam

    Co do kosztów to wiem że będą niemałe jednak mam na stanie 130 Białych diod LED 5mm oraz troszkę innych kolorów (niebieskie, czerwone, zielone, ). I matryce LED chciałem zrobić właśnie z tych diod.(możliwe że nawet bym uzbierał około 256 diod ale wolał bym zrobić na razie ze samych białych ewentualnie wymienię w przyszłości na niebieskie).

    - czy można by zrobić matryce 16x8 zamiast 16x16 ? (i czy mogło by być połączenie jak na schemacie ?)
    - jakie tranzystory ? (czy mogą być np. BC 327-16 i BC 337-16 )
    - jakie fototranzystory jaki model konkretnie kupić?? kompletnie nie wiem (najlepiej jak najtańsze bo wiadomo troszkę tego potrzeba)
    - czy morze być np. ATMEGA16-16PU DIP40 czy lepiej coś jak ATTiny2313 (nie wiem jaki się nadaje) ?
    - I jeszcze dla pewności czy fototranzystory będą działać w sposób taki jak chce czyli jak będzie cień to diody świecą a jak będzie padało jakieś światło to nie będą świeciły?


    multitouch display czyli podświetlany blat.

    0
  • #4 05 Maj 2008 17:27
    r2d2004
    Poziom 31  

    Witam!

    Odpowiadam po kolei:

    ad1 Jeśli chcesz matrycę 8 x 16 to schemat jeszcze Ci się uprości, bo odpadną 2 szt CD4067. Użyj procka w obudowie DIP40 i będziesz miał do dyspozycji 3 porty I/O 8 bitowe. Dwa z nich będą bezpośrednio sterowały obiema matrycami (do ledów i do fototranzystorów), a trzeci port będzie sterował multipleksowaniem obu matryc poprzez 2 x CD4067 (lub nawet tylko 1 x CD4067 - patrz niżej). Będziesz miał następującą organizację w matrycach:

    LED - z procka sterujesz rzędami po 8 LED w kolumnie max i multipleksujesz (CD4067) 16-toma kolumnami (łącznie 128 LED)

    fototranzystory - jednocześnie odczytujesz 8 rzędów fototranzystorów w kolumnie i multipleksujesz 16-toma kolumnami (łącznie 128 fototranzystorów).

    Być może da się jeszcze bardziej uprościć i do multipleksowania zarówno jednej jak i drugiej matrycy wykorzystać tylko jeden CD4067. Trzeba to jednak sprawdzić, pamiętając o tym, że CD4067 nie jest multiplekserem cyfrowym, tylko analogowym i musi mieć zadane odpowiednie stany dla każdej matrycy na wejściu multipleksera (może da się to tak skombinować żeby było odpowiednie dla obu matryc).

    ad2 To będą dobre tranzystory

    ad3 Tu masz najtańsze fototranzystory:

    http://www.tme.pl/katalog/index.phtml?f_szukaj=L-932P3C

    Cena za 128 szt wyniesie ok 55,- zł (0,43 zł/szt). Te fototranzystory wyglądają jak LED 3-milimetrowa w przezroczystej bańce. Ponieważ są właśnie w przezroczystej obudowie, będą reagować również na światło widzialne. Będziesz potrzebował do nich 2 x CD40106 (osiem inwerterów ze Schmittem, jako wysokoimpedancyjne klucze przełączające)

    ad4 Jak pisałem wcześniej dowolny mikrokontroler z wolnymi trzema portami I/O 8-mio bitowymi, a więc raczej w obudowie DIP40.

    ad5 Nie ma to przecież totalnie znaczenia jak będą się przełączać fototranzystory - przecież "inteligencja" będzie w programie, a fototranzystor na dodatek można różnie włączyć względem masy/zasilania i wejścia sygnałowego bramki (z dodatkowym resystorem, rzecz jasna i to raczej o dużej wartości rzędu setek kiloomów, a może nawe megaomów), tak aby uzyskać "interesuący" nas właśnie sposób przełączania tejże bramki (CD40106). W tym układzie dobrym włączeniem będzie:

    kolumna multipleksowana (16 kolumn łącznie) to linia zasilania (sterowana z CD4067 - kolumny niewybrane mają wysoką impedancję, a więc bedą odłączone od zasilania) do której łączysz po 8 fototranzystorów kolektorami (fototranzystory są typu npn). Emitery fototranzystorów łączysz do rzędów matrycy. Jeden koniec każdego rzędu matrycy do we bramki (CD40106), drugi koniec każdego rzędu matrycy przez rezystor do masy. Rrezystor (w każdym rzędzie) trzeba tak dobrać - tak jak pisałem wcześniej będzie to raczej wysoka wartość - aby napięcie na wejsciu inwertera (przy ustalonym poziomie oświetlenia, sprawdzane dla wszystkich 16 fototranzystorów w rzędzie, niezależnie) było powyżej progu przełączenia bramki (światło "jest" - "0" na wejście procka z wyjścia inwertera), a przy braku oswietlenia (fototranzystor zakryty) było poniżej progu przełączenia inwertera (światła "brak" - "1" na wejście procka z wyjścia inwertera). Resztę już "zrobi" program.

    Pozdrawiam
    PS Masz już w zasadzie podany hardware, teraz tylko pisać softa i pytać o ewentualne szczegóły w dziale o programowaniu na "elce" . Jesli chodzi o schemat matrycy 16 x 16 to z grubsza jest ok, tylko musisz dać na wejściu multipleksera CD4067 (dla tranzystorów pnp) rezystor szeregowo podłączony do masy, a na wejściu multipleksera CD4067 (dla tranzystorów npn) rezystor szeregowo podpięty do +Vdd (czego nie narysowałeś na tym schenmcie). Trzeba tak zrobić bo CD4067 (przypominam) jest multiplekserem analogowym i trzeba mu odpowiednie stany logiczne "zasymulować" (rezystorami podciągającymi do L lub H), żeby mógł działać jako multiplekser pseudocyfrowy.

    0
  • #5 05 Maj 2008 21:00
    skdk
    Poziom 9  

    No to teraz biorę się za narysowanie szczegółowego schematu i dam do sprawdzenia za jakiś czas.

    0
  • #6 05 Maj 2008 22:28
    r2d2004
    Poziom 31  

    Witam!

    Do zagadnienia można podejść również inaczej. Dioda LED może pełnić również funkcję fotoelementu, więc niepotrzebne byłyby fototranzystory, ale układ chyba bardziej się skomplikuje (a może wcale nie?). Zajrzyj do tego tematu i poczytaj szczegółowo:

    https://www.elektroda.pl/rtvforum/topic457658.html

    i obejrzyj sobie to:

    http://cs.nyu.edu/~jhan/ledtouch/index.html

    Jak widzisz pomysłów na konstrukcję takiego bajerowskiego blatu może być wiele. ;-)

    Pozdrawiam
    PS A to widziałeś:

    https://www.elektroda.pl/rtvforum/viewtopic.php?t=847444

    ... jak się okazuje, Twój temat nie jest czymś nowym na "elce" ;-)

    0
  • #7 09 Maj 2008 17:35
    skdk
    Poziom 9  

    Witam

    Trochę to trwało ale wreszcie narysowałem schematy na tyle ile umiałem. Jak się okazało troszkę mnie to przerosło bo nie wiem jak podłączyć układ CD4067. Ja już nie wiem czy dobrze to porysowałem.

    Bardzo proszę o sprawdzenie schematów i jego poprawkę (na pewno jest dużo do poprawy) szczególnie proszę o zajęcie się tym CD4067 bo ja się pogubiłem troszkę.

    Schematy rysowałem w Corelu. W załączniku dodaje spakowane pliki Corela i schematy w JPEG.

    Bardzo proszę o poprawienie schematów.

    multitouch display czyli podświetlany blat.
    multitouch display czyli podświetlany blat.
    multitouch display czyli podświetlany blat.

    0
  • #8 11 Maj 2008 11:27
    r2d2004
    Poziom 31  

    Witam!

    Pliki schematów są do "kitu". Nie rób żadnych "upiększeń". W czym zrobisz schematy - nieważne, mogą być odręczne (tylko czytelne), najlepiej w gifie lub jpg (czarny-biały), skompresowane tak, aby nie pożerały ŻADNYCH punktów, bo nikt Ci nie pomoże, a to ty oczekujesz przecież pomocy, no nie?

    Pozdrawiam

    0
  • #9 11 Maj 2008 21:46
    skdk
    Poziom 9  

    Przepraszam ale myślałem, że nie będzie pobierało punktów. A co do schematów to starałem się jak mogłem. Teraz nie powinno być problemów.

    0
  • #10 14 Maj 2008 15:04
    r2d2004
    Poziom 31  

    Witam!

    No więc po kolei. Zakładamy, że rozważamy jeden moduł cyfrowego interaktywnego blatu barowego (w linku, który zapodałem powyzej był rozważany moduł analogowy). Cały blat barowy w zależności od wielkości może się składać z wielu takich modułów.

    Zasilacz.

    Musi być opracowany raczej dla całego blatu barowego (dla wszystkich modułów jeden, bo wyjdzie taniej - rzecz jasna), a więc póki co jego wydajność prądowa jest niewiadoma, ale nie będzie ona jakaś tragicznie wielka, gdyż przy sterowaniu multipleksowym w jednej chwili na module świeci się max. 8 x LED. Natomiast proponuję zastosować dwa stabilizatory: +5V i +15V (regulowany - będzie można zmieniać w sposób analogowy jasność świecenia blatu). 5V zasila uPc i część logiki cyfrowej, 15V zasila multiplekser CD4067 z LEDami - dzięki temu masz większe mozliwości "manipulacji" - możesz opracować moduł np. 128LED + 128foto (piksel: 1xLED+1xfoto), lub 3x128LED + 128foto (piksel: 3 x LED i jeden foto wewnątrz), lub 4x128LED + 128foto (piksel: 4xLED i jeden foto wewnątrz). Jeśli zastosujesz piksel >1xLED, to LEDy dla takiego piksela łączysz w szereg w każdej gałęzi matrycy (po to potrzebne jest +15V).

    Multiplekser dla LEDów:

    Schemat generalnie jest OK, tylko Dla CD4067 Vdd (pin: 24)=+15V, Vss=masa. Wejście INHIBIT (pin: 15)=masa. Wejście COMMON (pin: 1) podłączyć przez rezystor (ustalajacy prąd bazy tranzystorów BC327) do masy. Wejścia ABCD podłączyć do uPc przez konwerter poziomów logicznych (rozdzielona logika +5V dla uPc i +15V dla CD4067+LED) - są specjalne scalaki lub 4xtranzystor+8xrezystor. W bazach tranzystorów BC337 wstawić rezystory. No i istotna poprawka: rezystory ograniczające prąd LED (na schemacie 100R) trzeba "przenieść" w kolektory tranzystorów BC337, gdyż w takim układzie, jak narysowałeś, w zależności od ilości włączonych LEDów (od 0 do 8 szt. w jednej z 16 kolumn) będzie się zmieniać ich jasność świecenia (zauważ, że dodatkowo po zmianie, rezystorów ograniczających prąd LED będzie tylko 8 szt.).

    Multiplekser dla fototranzystorów:

    No tu niestety masz schemat "mocno niedokończony" ;-) . Fototranzystorom "wiszą" emitery. Emitery ("górny" rząd na schemacie) fototranzystorów (widać tam kropeczki) podłączyć przez rezystor+helitrim (prycyzyjny, 30 obrotowy potencjometr montażowy - zwykła PRka-"podkowa" tu sie nie nada) do masy. Potrzeba 8 takich kompletów. Poza tym dla CD4067: Vdd (pin: 24)=+5V, Vss (pin: 12)=masa, INHIBIT (pin: 15)=masa, COMMON (pin: 1)=Vdd. Niewykorzystane wejścia inwerterów CD40106 podłączyć do potencjału +5V lub masy. Fototranzystory MUSZĄ byc z jednej serii (zaznaczyć przy zakupie), nie mogą być z różnych paczek

    Zaznaczam, że układ jest teoretyczny, nietestowany. Trzeba sprawdzić praktycznie pojedyńcze gałęzi z każdego multipleksera i stosownie dobrać wartości rezystorów i helitrimów.

    Pozdrawiam
    PS Interaktywny blat cyfrowy ma na pewno przewagę nad analogowym, bo można w nim robic różne cuda - wszystko zależy od tego co wymyślimy w programie ;-) . Poza tym, tak jak pisałem wcześniej, dałoby sie pewnie opracować taki moduł cyfrowy interaktywnego blatu barowego, w którym nie trzeba by stosować fototranzystorów. Same LEDy pełniłyby w nim również funkcje fotoelementów (a ściślej: fotoogniw).

    0