Witam, potrzebuję stworzyć tablicę wyświetlającą wpisane trzy wartości trzycyfrowe, wpisywanie powinno odbywać się z pilota rc5. Ma to być coś w rodzaju tablicy z kantoru takiej z kursami walut, ale tylko trzy pozycje.
Narysowałem schemat blokowy i zastanawiam się w jaki sposób podłączyć wyświetlacze, czy wszystkie segmenty do CD4543 i z portów uP sterować anody czy ma ktoś inny pomysł na rozwiązanie.
Sterowanie myślę zrobić z pilota na zasadzie :
naciskam MENU -mruga(lub gaśnie) pierwszy wyświetlacz
wpisujemy numerycznie np.123
naciskam ponownie MENU-przechodzę do drugiego wyświetlacza
wpisujemy np.234
po wpisaniu trzeciego wyniku naciskamy kolejny raz menu i następuje zapis i wyjście.
Jaki zastosować procesor ?
Jak już będę wiedział co i jak połączyć wtedy wrzucę schemat i zabiorę się za program.
może coś takiego, w razie zastosowania większych wyświetlaczy zawsze można dołożyć ULN2003, PH w CD4543 podciągnąć do GND i bez zmiany kodu wszystko działa dalej.
Odp. Tablica informacyjna
Można męczyć procesor multipleksowaniem, ale jak czytam to dane będą dość statyczne bo wprowadzasz je rzadko pilotem.
Gdyby wyświetlaczy było tylko osiem to polecałbym układ który sam rozwiązuje sprawę multipleksowania MAX7219.
Wysyłasz mu dane dla tych ośmiu wyświetlaczy raz kiedy chcesz coś zmienić i potem on się sam zajmuje resztą.
Kiedy jednak wyświetlaczy jest 9 to dałbym pod kazdy jakiś tani rejestr przesuwny. Już robiłeś kiedyś projekt na tych matrycach LED. Dziewięć tanich rejestrów i wysyłasz dziewięć bajtów trzema przewodami. Wtedy taki projekt to nawet Tiny13 uciągnie :D
Wszystko zależy co chcesz osiągnać.
Mógłbyś pomyśleć o tym by ten moduł wyświetlaczy był uniwersalny czyli własnie z własnymi driverami.
Te 74HC595 to już trochę leciwe, ale proste.
Przyznam się że dostałem całą rolkę 74HC164 i je używam bo mam, ale sa też takie drivery ktore automatycznie regulują prąd diod i nie ma potrzeby montowania rezystorów go ograniczających.
Tak więc chciałbym podsumować. Mamy rok 2016 i już nie wszystko musi być robione partyzancko :D
Ceny części zmalały i warto używać specjalizowane układy.
Dla 9 wyświetlaczy pod kazdym dałbyś po jednym rejestrze przesuwnym za złotówkę i masz tylko 9 bajtów do wysłania trzema przewodami...
Prawdopodobnie są drivery 7segment LED o większej ilości obsługiwanych cyfr. Trzeba tylko poszukać.
BARTek
Moja strona
Tablica informacyjna
Chyba zostanę przy swoim,obawmiam się że będę miał więcej problemów z ogarnięciem rejestrów niż z multpleksowaniem anod wyświetlaczy,a procesor i tak nie ma wiele do roboty ,także będzie miał się czym zająć .Układ nie musi być uniwersalny ,ma tylko to jedno przeznaczenie.Muszę to tylko złożyć (no niestety na styk?wce nie da rady) i wtedy powalczę z programem.
Odp. Tablica informacyjna
Okay. Pamiętaj że RC5 wykorzystuje Timer0
Jeśli przyjąć że na jeden wyświetlacz przyda się odświeżanie conajmniej 50Hz to przy dziewięciu sprawa dojdzie do 450-500Hz (przerwanie co taki period)
W razie czego mogę Ci na email wysłać kilka projektów z ośmioma multipleksowanymi wyświetlaczami :D
BARTek
Moja strona
Tablica informacyjna
Super, to ja bym poprosił, będzie możliwość popatrzeć jak to powinno wyglądać fachowo.
Trochę mi zejdzie zanim zmontuję płytkę do testów ale już będę miał zarys w jaki sposób to ogarnąć.
tablica informacyjna
witam, wstawiam już finalny schemat oraz wstępny program ,wyświetlanie działa prawidłowo ,mam na razie problem z dodaniem RC5 (wszystko zaczyna mrugać),ale pokombinuję chyba że macie jakiś gotowy pomysł.
Całość RC5 ma działać na zasadzie ,że wciskamy w pilocie np. MENU i ustawiamy przyciskami numerycznymi Liczba_01 (trzycyfrowa),następnie MENU Liczba_02 , MENU Liczba_03 i wyjście z zapisem.
I teraz pytanie - czy to się tak da za pomocą pilota.
Re: tablica informacyjna
Zrób osobny podprogram gdzie po naciśnięciu pilota wejdziesz, zapętlisz i nie wyjdziesz póki nie skończysz wprowadzać danych.
Moja strona w powijakach
Re: tablica informacyjna
Tak też zamierzam to zrobić ale na razie próbuję dodać prawidłowo odbieranie RC5.Coś mi wiesza wyświetlacze po naciśnięciu pilota.
Re: tablica informacyjna
No dobra, tylko ja u Ciebie nie widzę miejsca gdzie występuje procedura
GETRC5
Moja strona w powijakach
tablica informacyjna
Właśnie to ćwiczę, ale coś słabo mi to hula. Muszę jeszcze zbudować na szybko czytnik do RC5 bo nie mam pewności co nadaje mi pilot.
Jutro wrzucę co mam.
tablica informacyjna
To jest kod z obsługą RC5,przy nadawaniu pilotem wyświetlacze mrugają ,także coś tam odbiera jednak nic się nie wykonuje
Odp. Tablica informacyjna
Proszę.
Wpisywanie inicjuje się naciskając Vol+ lub Vol- Wtedy pierwszy wyświetlacz gaśnie.
Kiedy wpiszesz trzy cyfry to zgaśnie następny ;)
Można by tu jeszcze kilka rzeczy poprawić, ale nie wiem co Ci się przyda a co nie.
Niemniej IR działa bezbłędnie ;)
Życzę udanego wieczoru
BARTek
Moja strona
Tablica informacyjna
Naprawdę jestem pod wrażeniem Twoich programów , jest się od kogo uczyć.
Program działa prawie bezbłędnie, problem jest z ostatnią dziewiątą cyfrą ,nie wpisuje nic (pozostaje ciemna). Musiałem kombinować z pilotami bo te co mam w domu nadają coś innego ,ale i tak muszę zrobić czytnik RC5 to sobie z nimi poradzę. Mam jeszcze pytanie gdzie dodać zapis cyfr do eeprom po wpisaniu ostatniej cyfry. Na dzisiaj starczy, dopiero niedawno wróciłem, zostawię to sobie na wolne dni, mam jeszcze parę pytań ale to już na spokojnie, najpierw dobrze przyjrzę się temu co mi tu dałeś.
Dzięki
Odp. Tablica informacyjna
Heheh :D To tak zawsze jest i błąd sie ukryje jak nie sprawdzisz a miałem tylko sześć wyświetlaczy to tylko sześć podłączyłem.
Myślę, że błąd jest w zapisie "If Displ < 9 Then" i wystarczy napisać "If Displ <= 9 Then"
BARTek
Moja strona
Tablica informacyjna
"If Displ <= 9 Then" załatwiło problem z dziewiątą cyfrą i działa wg opisu.
Jak zrobić aby wpisanie kolejnej cyfry odbywało się dopiero po puszczeniu przycisku i kolejnym wciśnięciu, w tej chwili jak trzymam przycisk to to wpisuje wszystkie wyświetlacze po kolei?
Odp. Tablica informacyjna
Zobacz tak. Może to załatwi sprawę ;) Nie mam teraz jak sprawdzić :D
Liczę na to że nawet po puszczeniu przycisku dokonywany jest jeszcze jeden odczyt, ale to nie musi się sprawdzić :D
Dodałem też początkowa wartość dla zmiennej Displ - taki odkryty bug :D
BARTek
Moja strona
Tablica informacyjna
No i znowu działa ,jest super, jutro postaram się dodać zapisy i odczyty cyfr. Jak jeszcze wpadnie mi coś do głowy to napiszę .
Z ciekawości możesz napisać mi czy przerobiłeś u siebie odbiór i komendy tych pilotów NEC po około 6 pln z allegro do arduino?
Tak na przyszłość ,jestem ciekawy czy można by go podmienić w sterowniku Mirka.
Dzięki
Tablica informacyjna
Witam, jednak nie jestem w stanie zrobić zapisu, to co jest wyświetlane za pomocą pilota nie jest modyfikacją
i niestety nie mogę tego wyodrębnić do zapisu.
próbowałem robić zapis za pomocą przycisku Menu (case 59), czy to przy takim wpisywaniu cyft da radę zrobić?
Odp. Tablica informacyjna
Jest wiele sposobów żeby to zrobić.
Najprościej w momencie kiedy wyświetlacz gaśnie..
Liczba(1) = Command * 100
W następnym kroku Pomocnicza_zmienna = Command * 10 : Liczba(1) = Liczba(1) + Pomocnicza_zmienna.
Na końcu Liczba(1) = Liczba(1) + Command
Dla przykładu 042 byłoby to 0x100 + 4x10 + 2
Oczywiście to tylko jedna z możliwości a nazw zmiennych użyłem takich żeby było wiadomo o co mi chodzi.
BARTek
Moja strona
Tablica informacyjna
No niby to jest jasne , ale po wielu kombinacjach i tak nie ogarnąłem ,nawet nie jestem pewny gdzie to dopisać.
Odp. Tablica informacyjna
No to łap.
Możliwe, że gdybym od początku myślał o zapisie w Eeprom to może dałby się to zrobić bardziej elegancko ;)
Teraz to dopisałem to do istniejącego kodu.
Przy okazji chciałem pokazać, że dla większej ilości wyświetlaczy polubiłem dedykowane układy.
Nie sa skomplikowane w obsłudze a same multipleksują wyjścia. Max7219 potrafi multipleksować 8 na raz,
a HT16K33 do 16 na raz :P Takie rozwiązanie odciąża procesor i możesz sobie robić inne rzeczy.
Ten projekt oczywiście tego nie wymaga, ale możesz zobaczyć co namodziłem niedawno :D Link do filmu
Kod z zapamietywaniem w Eeprom - not tested.
BARTek
Moja strona
Tablica informacyjna
No powiem szczerze ,nigdy bym tego nie dopisał tak aby ten zapis zadziałał. W Twoim wykonaniu jest wszystko ok.
Obejrzałem filmik i jestem pod wrażeniem jak to fajnie działa. Podeślesz schemat i program, czy też na chwilę obecną za świeży temat , z chęcią bym to sobie poćwiczył.
Dzięki za pomoc.