Skocz do zawartości

Wyświetlanie znaków numerycznych na wyświetlaczu 7-segmentowym


michalk121

Pomocna odpowiedź

Piszesz o Pythonie, roboczo przenoszę do działu z programowaniem ale jakbyś mógł napisać czego tyczy się to i co chcesz zrobić? Czy jest to z Raspberry Pi, czy coś w stylu Micro Python i np. micro-bit albo ESP?

53 minuty temu, michalk121 napisał:

Czy ktoś z Was ma pomysł na wyświetlanie liczb, na wyświetlaczu 7-segmentowym?

Jeżeli pytasz o sam sposób dekodowania liczby, to są np. takie 2 etapy: pierwsze rozbicie liczby na cyfry - jest to operacja, w której odejmujesz jedności i dzielisz liczbę przez 10 i tak aż zostanie z liczby 0, operacja ta może być wykonywana rekurencyjnie.

Następnie mając cyfry możesz napisać funkcję, która wysteruje piny doprowadzone do wyświetlacza.

Funkcja może być bardzo prosta, gdy potraktujesz cyfrę jako liczbę (a stąd indeks w tablicy) i umieścisz informację o 0 i 1 w tablicy. Te 0 i 1 oznaczają jakie piny mają być w stanie 0 lub 1 żeby pojawiła się liczba, która jest indeksem tablicy. W ten sposób nie będzie żadnych ifów.

Multipleksowanie to przełączanie pewnych pinów, które "otwierają" dany segment, w zależności od aktualnie wyświetlanej pozycji. Może to się odbywać w pętli, a rozbijanie liczby na cyfry będzie sporadycznie wykonywane i wynik zapamiętywany.

Link do komentarza
Share on other sites

Ja proponuje użycie sprintf i wrzucić to tablicy char w ten sposób dostęp do każdego znaku jest ułatwiony. Dodatkowo jeśli zajdzie potrzeba wysłania wyniku po Uarcie to już jest połowa pracy wykonana. Bardzo łatwo zamienić Ascii 5 w cyfrę 5. wystarczy odjąć znak '0'

 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.