Gieneq Listopad 18, 2019 Udostępnij Listopad 18, 2019 Pomijając kwestię ekspandera i innych okołotematów, skoro kod biblioteki działa to znaczy że układ jest działający i póki co nie ma co drążyć innych tematów. @jare72 czy to co podesłał @Elvis działa? Jeżeli dalej będziesz miał problem, możesz przeanalizować kod biblioteki, która działa. Znajdziesz ją w dokumentach w katalog Arduino. 1 Cytuj Link do komentarza Share on other sites More sharing options...
jare72 Listopad 18, 2019 Autor tematu Udostępnij Listopad 18, 2019 (edytowany) Projekt jeszcze nie mam złożony, więc dlatego testowałem na zwykłej klawiaturze 4x4. Głównie w poście chodziło mi o zasadę działania klawiatury bez bibloteki keypad, ale dzięki wszystkim, że mogłem się dowiedzieć tylu rzeczy i co mogę jeszcze poprawić, bo dopiero zaczynam programować. W projekcie będzie jeszcze wyświetlacz LCD i moduł Ethernet 🙂 @Gieneq Na razie jestem w pracy, ale jak wrócę to przetestuję. Co do biblioteki keypad zaglądałem do środka, ale musiałbym nad tym dłużej posiedzieć, bo jest tam sporo funkcji do rozszyfrowania jak np. debouncing. 😃 Edytowano Listopad 18, 2019 przez jare72 Cytuj Link do komentarza Share on other sites More sharing options...
Gieneq Listopad 18, 2019 Udostępnij Listopad 18, 2019 No na spokojnie, jak coś chętnie pomożemy. 🙂 Analiza kodu bibliotek może być bardzo przydatna, pomijając rozwiązanie konkretnego problemu, ale zawsze można podpatrzeć sposób w jaki może podejść do niektórych problemów. 2 Cytuj Link do komentarza Share on other sites More sharing options...
jare72 Listopad 19, 2019 Autor tematu Udostępnij Listopad 19, 2019 Witam ponownie, mam już program który mi działa poprawnie, ale jak odłączę zasilanie i podłączę jeszcze raz to przestaje działać i pomaga jedynie jeśli wgram jakiś inny program, zresetuje Arduino i dopiero wgram ten program, który będzie znów działał poprawnie. Kod doślę później, bo nie mam teraz dostępu do komputera. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Gieneq Listopad 19, 2019 Udostępnij Listopad 19, 2019 A coś takiego działo się też gdy używałeś biblioteki, o której wcześniej pisałeś, że działa? Cytuj Link do komentarza Share on other sites More sharing options...
jare72 Listopad 19, 2019 Autor tematu Udostępnij Listopad 19, 2019 Nie, biblioteka działa normalnie po odłączeniu programu i podłączeniu ponownie. Jeśli jedna nóżka switcha wejścia pullup jest ustawiona standardowo na wysoki, a druga do wyjścia niskiego i nacisnę przycisk to na wejściu będzie niski stan już do końca działania programu? Czy też muszę ustawiać ponownie jaki był stań przed naciśnięciem przycisku tak jak w przypadku wyjścia? Cytuj Link do komentarza Share on other sites More sharing options...
Gieneq Listopad 19, 2019 Udostępnij Listopad 19, 2019 17 minut temu, jare72 napisał: Jeśli jedna nóżka switcha wejścia pullup jest ustawiona standardowo na wysoki, a druga do wyjścia niskiego i nacisnę przycisk to na wejściu będzie niski stan już do końca działania programu? No nie, nie masz żadnej pamięci w tym układzie, ale chyba wiem co jest problemem. Masz pewnie jakiś return i gdy ustawiasz odczyt: ekspander.digitalWrite(ROWS[x], LOW); W programie wszystko jest ok, kolumny ustawiasz na PULLUP (wejście, HIGH), przesłuchujesz wiersze sprawdzając czy jak dasz LOW na wyjściu to czy nie zaciągnie któregoś PULLUPa. Ale w sytuacji gdy tak się stanie to może coś się zawiesić, gdy dasz return. Bo w ten sposób przerywasz przesłuchiwanie i nie ustawiasz pinu z powrotem na HIGH. Dlatego musisz albo dodać zmienną pomocniczą trzymającą wynik działania funkcji, albo przed return ustawić piny z powrotem na HIGH. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!