LED i DUŚ na jednym pinie procesora

Jeśli informacja nie pasuje do żadnego działu, a musisz się nią podzielić - zrób to tutaj.

Moderatorzy: gsmok, tszczesn, Romekd

Awatar użytkownika
Tomasz Gumny
1875...2499 postów
1875...2499 postów
Posty: 2301
Rejestracja: pn, 1 stycznia 2007, 23:18
Lokalizacja: Trzcianka/Poznań

LED i DUŚ na jednym pinie procesora

Post autor: Tomasz Gumny »

Gwoli wyjaśnienia - ów "duś" to przełącznik monostabilny, normalnie otwarty.
Jest sobie pin procesora, który może być wyjściem cyfrowy (w stanie niskim i wysokim), wejściem cyfrowym (o wysokiej impedancji lub z podciągnięciem do zasilania przez ~50k) lub wejściem "analogowym" (odczytywanym przez przetwornik analogowo-cyfrowy).
Zadanie :D polega na podłączeniu do niego "dusia" i LED-a w taki sposób, żeby mikrokontroler mógł niezależnie odczytywać dusia i zapalać LEDa a najlepiej, żeby naciśnięcie dusia nie wpływało na stan LED-a, ale to nie jest najważniejsze.
Jakieś błyskotliwe :D propozycje?
Tomek
Krzysiek16
375...499 postów
375...499 postów
Posty: 497
Rejestracja: pn, 24 listopada 2008, 11:27
Lokalizacja: Tarnów/Kraków

Re: LED i DUŚ na jednym pinie procesora

Post autor: Krzysiek16 »

Zakładam, że tryb pracy owego pinu będzie z dużą częstotliwością przełączany między wyjściem na LEDa, a wejściem podciągniętym do jedynki.
Nie chce mi się rysować schematu, to go opiszę. Do pinu jest podłączony LED przez swój opornik i równolegle z LEDem i opornikiem duś przez swój własny opornik. LED i duś idą do masy. Teraz, wszystkie przypadki:
- LED zgaszony, duś zwolniony. Dioda zasilana z 5V przez opór >50k będzie raczej słabo świecić, albo i nie zapali się wcale.
- LED zgaszony, przycisk wciśnięty. Jeżeli opornik przy przycisku będzie rzędu kilku kiloomów, napięcie na diodzie i wejściu spadnie poniżej 1V, dioda będzie zgaszona, a procesor powinien uznać stan 0.
- LED świeci, przycisk zwolniony. Dioda świeci, bo co ma innego robić?
- LED świeci, duś wciśnięty. Wyjście procesora ma raczej mały opór, więc wciśnięcie przycisku nie powinno powodować ściemniania LEDa.
A gdyby się okazało, że LED ma za małe napięcie przewodzenia i procesor cały czas uznaje, że duś jest wciśnięty, to z LEDem trzeba dać szeregowo jakąś inną diodę. Tylko nie bijcie, jak się gdzieś pomyliłem.
Awatar użytkownika
Tomasz Gumny
1875...2499 postów
1875...2499 postów
Posty: 2301
Rejestracja: pn, 1 stycznia 2007, 23:18
Lokalizacja: Trzcianka/Poznań

Re: LED i DUŚ na jednym pinie procesora

Post autor: Tomasz Gumny »

Coś w tym jest, ale muszę to sobie rozrysować. Spadek napięcia na LED nie jest istotny, bo mogę to wejście odczytywać przetwornikiem analogowo-cyfrowym.
Tomek
traxman

Re: LED i DUŚ na jednym pinie procesora

Post autor: traxman »

Ale Kolega jest uparty, mówiłem LED na HC138, i osiem klawiszy, ostatni wyłączy wszystko :evil:
Awatar użytkownika
Tomasz Gumny
1875...2499 postów
1875...2499 postów
Posty: 2301
Rejestracja: pn, 1 stycznia 2007, 23:18
Lokalizacja: Trzcianka/Poznań

Re: LED i DUŚ na jednym pinie procesora

Post autor: Tomasz Gumny »

To by oznaczało dodatkową kość i zero finezji. :D Chcę jak najlepiej wykorzystać zasoby procesora bez niepotrzebnego rozbudowywania układu.
Tomek
traxman

Re: LED i DUŚ na jednym pinie procesora

Post autor: traxman »

To zrób tak:
Schowek01.png
Podłączone to jest do pinu analogowego (ADC), w skanuj klawiaturę konfigurując jako wejście ADC, jeżeli odczytasz >>0V to znaczy że nic sensownego się nie dzieje, LED zgaszony, skanujesz następny klawisz. Jeżeli ktoś pstryknie, to zaświeci leda, a ty masz czas na przeskanowanie ADC i sprawdzenie czy jest tam coś bliskiego 0V, jeżeli tak to przełączysz pin na cyfrowe wyjście, zaświecając Leda. W następnym cyklu, znowu przełączasz się na odczyt ADC, nikt nie zauważy, że dioda nie świeci, a masz czas na odczytanie klawiatury i tak w kółko.
Trochę zagmatwane, ale nie chciałeś prostego rozwiązania.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
Tomasz Gumny
1875...2499 postów
1875...2499 postów
Posty: 2301
Rejestracja: pn, 1 stycznia 2007, 23:18
Lokalizacja: Trzcianka/Poznań

Re: LED i DUŚ na jednym pinie procesora

Post autor: Tomasz Gumny »

I ten układ wykorzystam(y). Rezystor R1 będzie trochę mniejszy, żeby zwykły LED też zaświecił. R2 jest zbędny, bo pin nigdy nie będzie ustawiany jako wyjście w stanie wysokim. Odczyt przez ADC nie będzie konieczny, bo próg przełączania wynosi około 1.6V (+/-0.1V histerezy). Tutaj masa będzie "czysta" a stan wysoki ~3V lub nawet więcej, jeśli załączę wewnętrzne podciągnięcie. Dzięki!
Nagrody nie będzie, bo to do Twojego urządzenia. :D
Tomek
Krzysiek16
375...499 postów
375...499 postów
Posty: 497
Rejestracja: pn, 24 listopada 2008, 11:27
Lokalizacja: Tarnów/Kraków

Re: LED i DUŚ na jednym pinie procesora

Post autor: Krzysiek16 »

A nie będzie przypadkiem tak, że S1 ma wpływ na stan diody? Kiedy procesor chce zgasić diodę, podaje na wyjście 5V. Wtedy, kiedy przycisk jest zwolniony, jest ok, ale wciśnięcie przycisku spowoduje podanie masy na katodę diody i jej zapalenie...
traxman

Re: LED i DUŚ na jednym pinie procesora

Post autor: traxman »

Nie, procesor nigdy nie wystawia "1" na wyjściu dopuszczalne są tylko dwa stany wyjście otwarty dren i wejście z podwieszeniem. Jeżeli dioda świeci - wyjście wybrane, naciśnięcie przycisku nic nie zmienia, jeżeli dioda jest zgaszona, a naciśniesz przycisk to zaświeci, a procesor ma to wychwycić i podtrzymać. Trochę jest z tym zabawy programowej...
Krzysiek16
375...499 postów
375...499 postów
Posty: 497
Rejestracja: pn, 24 listopada 2008, 11:27
Lokalizacja: Tarnów/Kraków

Re: LED i DUŚ na jednym pinie procesora

Post autor: Krzysiek16 »

a procesor ma to wychwycić i podtrzymać
Aaa, chyba, że tak. W temacie było napisane tylko, że najlepiej, żeby przycisk i dioda nie wpływały na siebie.
Awatar użytkownika
Tomasz Gumny
1875...2499 postów
1875...2499 postów
Posty: 2301
Rejestracja: pn, 1 stycznia 2007, 23:18
Lokalizacja: Trzcianka/Poznań

Re: LED i DUŚ na jednym pinie procesora

Post autor: Tomasz Gumny »

Krzysiek16 pisze:[...]W temacie było napisane tylko, że najlepiej, żeby przycisk i dioda nie wpływały na siebie.
Zgadza się, ale napisałem też, że "to nie jest najważniejsze". Gdyby faktycznie duś nie mógł wpływać na LED, to zastosowałbym Twoją propozycję, ale skoro nie ma to większego znaczenia, można zaoszczędzić trochę rezystorów - w układzie będzie 7 takich zestawów LED+duś.
Tomek