Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 3 kwi 2025, o 16:49


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 20 lut 2023, o 13:24 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 mar 2014
    Posty: 197
    Lokalizacja: Kielce
    Pomógł: 3

    Cześć,

    mam takie zadanie do zrealizowania: Odczytanie stanu przycisków z klawiatury matrycowej.

    Problem jaki mam to, że do każdego przycisku w szeregu jest dołączona dioda prostownicza. Dodaje zdjęcie dla uproszczenia z jednym przyciskiem.

    Obrazek

    Po przeanalizowaniu schematu uznałem, żeby odczytać stan klawisza należy PC0 ustawić jako wyjście z podciągnięciem pod VCC i monitorować stan PB0. PB0 ustawiłem jako wejście. W momencie naciśnięcia S1 pojawia się stan wysoki na PB0.
    Problem jest taki, że jeśli ustawię PIN PB0 jako wejście to panuje na nim jakiś dziwny stan. Jest tam coś około 1V więc jeśli zrobię warunek sprawdzenia stanu wysokiego to bez wciśnięcia procesor odczytuje, że jest wciśnięty klawisz. Nie za bardzo wiem jako to ogarnąć :o

    Poniżej mój kod:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    plik nagłówkowy .h
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    key.c


    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    _________________
    BlueBook



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2023, o 16:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 mar 2015
    Posty: 323
    Lokalizacja: Rybnik
    Pomógł: 23

    Jeżeli chodzi o jeden przycisk, to ja bym to zrobił tak:
    Pin PB0 ustawiłbym jako wyjście w stanie niskim.
    Pin PC0 ustawiłbym jako wejście z podciągnięciem do VCC.
    Wtedy nie będziesz miał dziwnego stanu 1V czyli HI-Z (tzw. stan nieokreślony).
    Cała ta moja uwaga dotyczy tylko jednego przycisku a jak ty masz klawiaturę matrycową, to wtedy realizuje się to w całkiem inny sposób.


    Autor postu otrzymał pochwałę

    _________________
    http://www.avrboss.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2023, o 21:10 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    Przy całościowym podłączeniu było by to lepiej widać, a tak to można pogdybać. Pomysł kolegi @mario2015 jak najbardziej do zrealizowania, a można też po prostu ściągnąć do masy każdy port w stanie hi-z rezystorem, np. 4.7k-10k

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2023, o 10:26 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 mar 2014
    Posty: 197
    Lokalizacja: Kielce
    Pomógł: 3

    O właśnie o to mi chodziło, czemu ja na to nie wpadłem :D :lol: :lol:

    Dziękuje bardzo za pomoc ;)

    _________________
    BlueBook



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2023, o 17:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 mar 2015
    Posty: 323
    Lokalizacja: Rybnik
    Pomógł: 23

    Rafal9018 napisał(a):
    O właśnie o to mi chodziło, czemu ja na to nie wpadłem :D :lol: :lol:

    Dziękuje bardzo za pomoc ;)


    Ale o co ci chodziło, bo nie piszesz?

    _________________
    http://www.avrboss.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO