Wyświetlanie na wyświetlaczu 7seg - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Wyświetlanie na wyświetlaczu 7seg (/watek-wy%C5%9Bwietlanie-na-wy%C5%9Bwietlaczu-7seg) |
Wyświetlanie na wyświetlaczu 7seg - ksizik - 10-06-2017 Witam, zaczynam swoją przygodę z Arduino i programowaniem, zrobiłem kilka prostych przykładów z forbota, jednak chcę zrobić coś "swojego". Na płytce stykowej mam wyświetlacz 7 segmentowy oraz klawiaturę membranową. Przejrzałem kilka tematów o wyświetlaczu i kilka o klawiaturze, ale nie do końca chce mi wypalić mix obu programów. Chciałbym najzwyczajniej w świecie wyświetlić wybrana na klawiaturze liczbę na wyświetlaczu... Wyświetlacz podłączony do pinów 2, 3, 4, 5, 6, 7, 8 natomiast klawiatura wiersze do 9, 10, 11 a kolumny do 12 i 13. Kod: #include "Keypad.h" Po wgraniu powyższego kodu na wyświetlaczu od razu wyświetla mi się 0, jednak po wciśnięciu przycisku zapala się pozioma kreska segmentu g. Wyświetlacz mam anodą podłączony bezpośrednio do +5V, i nie wiem co wpisać w digitPins, bo wyczytałem, że tego używa się dla sterowania przez tranzystor a nie mogę tego wywalić bo się nie kompiluje... Naprowadzi ktoś na dobrą drogę co jest nie tak? Pozdrawiam, ksizik. RE: Wyświetlanie na wyświetlaczu 7seg - adix - 12-06-2017 bo ty z klawiatury nie odczytujesz np. numer zero tylko 49 ,1>>50,2>>51, to kod ascii musisz go przekonwertować na przykład użyć switch: Kod: switch(klawisz){ RE: Wyświetlanie na wyświetlaczu 7seg - Robson Kerman - 14-06-2017 Kolego Adix, klawiatura membranowa to zwykła matryca przycisków i nie wysyła ona żadnych kodów ASCII. Instrukcja makeKeymap(keys) pobiera dwuwymiarową tablicę keys, która to nomen omen jest tablicą znaków char zdefiniowaną przez Ksizika. Problem polega na tym, że funkcja setNumber oczekuje liczby, a dostaje char. Do wyświetlania znaków char lub stringów służy funkcja setChars(char str[]) Pamiętać należy jedynie, że muszą być to znaki alfanumeryczne, minus i spacja. RE: Wyświetlanie na wyświetlaczu 7seg - adix - 15-06-2017 Wybacz nie zauważyłem makeKeymap(keys) tej instrukcji w takim przypadku musi to działać. klawisz- Czy tu masz poprawne wpisy z klawiatury spróbuj wydrukować to w terminalu, ogólnie ma to działać poprawnie. RE: Wyświetlanie na wyświetlaczu 7seg - Robson Kerman - 15-06-2017 No zadziała gdy linię liczba.setNumber(klawisz) ; zamienimy na liczba.setChars(klawisz); RE: Wyświetlanie na wyświetlaczu 7seg - adix - 15-06-2017 Czyli źle konwertuje zrób to na piechotę. A jeśli wyślesz twardo np.6,7,3 to poprawnie wyświetla? |