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 8 kwi 2025, o 21:26


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 14 maja 2013, o 19:15 
    Offline
    Użytkownik

    Dołączył(a): 27 mar 2012
    Posty: 511
    Lokalizacja: Sląsk
    Pomógł: 14

    Witam
    Jest to mój pierwszy projekt który tu prezentuje wiec proszę o wyrozumiałość. :)
    Kiedyś brakowało mi przycisków do sterowania atmegą więc akurat Pan mirek zrobił bibliotekę pod pilot RC5 było to strzał w 10, gdyż pilot posiada sporo przycisków. Jednak ja chciałem zrobić taki edytor na karcie teleVGA i chciałem tam wprowadzać tekst. Przeszukując internet natrafiłem na kilka bibliotek do obsługi klawiatury jednak w komentarzach pisało ze żadna nie działa a jeśli działa to kilka przycisków itp. Postanowiłem taką samemu zrobić. Korzystałem z internetu oraz z książki Pana mirka. Efektem mojej pracy jest w pełni działająca klawiatura która obsługuje klawiatury wraz z dodatkowymi przyciskami

    Biblioteka obsługuje wszystkie przyciski na klawiaturze, robiłem ją kiedyś więc nie ma w niej jeszcze callbacków.
    Do programu dostajemy 2 zmienne oraz 2 funkcje ponieważ litery są zapisywane do jednej zmiennej a pozostałe przyciski do innej to ułatwia prace z programami. Dodatkowo jest to zmienna nieblokująca programu i szybka a jeśli ktoś by chciał zablokować program do czasu naciśnięcia przycisku to jest i taka funkcja. W pliku nagłówkowym .h mamy też możliwość ustalenia czy te zmienne maja się zerować czy nie. Polega to na tym że gdy wciskamy przycisk i ustawimy na zerowanie zmiennych to ta zmienna będzie miała wartość kodu ANSCi lub innych klawiszy funkcyjnych od momentu wciśnięcia klawisza aż do momentu zwolnienia klawisza. Jeśli ustawimy żeby zmienne się nie zerowały to wtedy w programie musimy ją zerować. Wygląda to na mętlik niepotrzebny ale mi to się przydaje. Nazwy klawiszy funkcyjnych są zdefiniowane nazwy w pliku .h
    Biblioteka posiada oczywiście przyjazny wybór portu jednak !uwaga! program działa na INTx więc bibliotekę przystosowałem automatycznie do zmiany tego inta w pliku .h Gdy naciśniemy shift i jakąś literę to ta litera będzie duża a bez shifta mała, to samo dotyczy znaków <,>,:,", i pozostałe. Jest to automatycznie ustawiane oraz nie posiada polskich znaków. Od lini DATA jak i CLK należy dać rezystor do +5V ok 4,7kom
    Jeśli coś by nie chciało chodzić to pisać chętnie odpowiem i pomogę.
    Jeszcze takie 2 małe uwagi czasami klawiatura przestaje działać żaden przycisk nie chodzi, tego niestety nie wiem jak naprawić ale dzieję się to rzadko i w określonych sytuacjach np. gdy zmieniamy wartość zmiennej to może się zaciąć. Mi tylko wtedy się zacina. Kolejna uwaga to przed inicjalizacją biblioteki należy dać opóźnienie ok 2s może mniej. gdyż klawiatura nie zdąży się zainicjować.
    A teraz biblioteka. Przykładowego programu nie podaję ale jeśli ktoś by miał kłopot to wtedy ewentualnie napiszę. biblioteka napisana na atmega32 i wewnętrzny oscylator 8Mhz. To chyba nie ma znaczenia bo timerów nie ma więc powinna chodzić przy wyższej częstotliwości
    Powiem tyle że w warunku if sprawdzamy czy ta zmienna przyjmuje np. literę lub liczbę dla klawiszy funkcyjnych. A w main musimy tylko ja zainicjować i biblioteka jest gotowa do pracy
    Jak widać nie jestem dobry w opisywaniu więc może ciężko to zrozumieć. :)

    keyboard.c
    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.


    keyboard.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.

    _________________
    Programowanie to styl życia :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 maja 2013, o 20:40 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 kwi 2013
    Posty: 88
    Pomógł: 1

    Tego właśnie szukałem... Dzięki ;)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 maja 2013, o 20:56 
    Offline
    Użytkownik

    Dołączył(a): 27 mar 2012
    Posty: 511
    Lokalizacja: Sląsk
    Pomógł: 14

    O jednej rzeczy tylko zapomniałem. Klawiatura musi posiadać złącze PS/2 ale dzięki przejściówce może podłączyć klawiaturę z USB sprawdzałem i działa.
    I przy okazji udało mi się znaleźć schemat podłączeniowy klawiatury do uC. Chciałem zrobić schemat ale niestety jestem dopiero po formacie komputera i nie mam programu do tego. http://radzio.dxp.pl/pckeyboard/kbd_schemat.png Dodam ze części mojej biblioteki nie pochodzą z tej strony :)

    _________________
    Programowanie to styl życia :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 maja 2013, o 21:37 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    JAk chcesz to STMA to jest na mojej stronie

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 maja 2013, o 21:58 
    Offline
    Użytkownik

    Dołączył(a): 27 mar 2012
    Posty: 511
    Lokalizacja: Sląsk
    Pomógł: 14

    Co do zawieszenia się to chodzi oto że normalnie ona chodzi dobrze cały czas ale to zależy od programu w którym ona pracuje. Ja zamontowałem ja do odtwarzacza plików dźwiękowych wave. Z książki mirka do modulacji głosu to nie kiedy jak się coś źle nacisnęło za szybko czy jak to zacięła ale to może wina programu.

    _________________
    Programowanie to styl życia :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sty 2016, o 10:54 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2015
    Posty: 548
    Pomógł: 27

    Witam a czy jest możliwość zrobienia takiej jak by przejściówki że mikrokontroler emuluje klawiaturę podłączoną do PC (podłączam mikrokontroler pod usb lub PS2 oczywiście przez jakąś przejściówką a komputer wykrywa to jako klawiaturę.)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sty 2016, o 18:05 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2015
    Posty: 548
    Pomógł: 27

    DZIĘKI.



    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: 7 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO