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



Teraz jest 4 gru 2021, o 00:01


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 19 paź 2021, o 12:54 
Offline
Użytkownik
Avatar użytkownika

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

Hej. Przegrzebałem internet i najmniejszy procek w jakim zrobiono odbiór i sterowanie IR to Atiny45, być może za słabo szukałem więc wybaczcie i dajcie linka, a póki co, że tak powiem rękawicę podniosłem 8-) :mrgreen:

Taka mała zajawka...


_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 paź 2021, o 13:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 26598
Lokalizacja: Szczecin
Pomógł: 1018

no i TAKIE podejście to mi się podoba! Jak najwięcej wycisnąć z JAK najmniejszego ! ;) No! ale SylwekK to już znana marka - nie ma że to tamto ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 paź 2021, o 13:33 
Offline
Użytkownik
Avatar użytkownika

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

Dzięki Mirek :) Jednak są już podobne urządzenia (jak szukałem swojego w YT to mi się też inne wyświetliły) tylko nie wiem czy działają na każdego pilota czy tylko na wybrane konkretne modele (za słaby jestem z obcych języków :) )
Kod w C zajmuje około 900B. Jeden podstawowy kanał z całą obsługą to 570B, każdy dodatkowy to jakieś 120-150B. Nie bawiłem się już optymalizację pod koniec (bezczelnie kopiowałem istotny fragment nauki kodu), bo dużo miejsca jeszcze tam było i po prostu nie opłacało się rzeźbić :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lis 2021, o 22:51 
Offline
Użytkownik
Avatar użytkownika

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

Wróciłem do tematu sterowania po paru dniach i postanowiłem troszkę algorytm czytnika pilotów IR zmodyfikować. W tiny13 program miał tylko włączać i wyłączać konkretne wyjścia przez co nawet nie starałem się robić odczytu przelotowego. Funkcja nie była też wyzwalana przerwaniem z racji, że to mały ubogi procek i jednorazowy projekt, a timer też był potrzebny do innych rzeczy w algorytmie.
Kiedy podliczyłem wszystkie poniewierające się w domu piloty to pomyślałem, że może by jednak coś w kierunku bardziej uniwersalnym pójść i wykorzystać część tego elektrozłomu w przyszłości :)
Tak oto zrobiłem dziś (na razie wersja testowa) programik, a właściwie funkcję (nawet jej w bibliotekę nie ubierałem jeszcze) z jak mi się wydaje poprawionym algorytmem odczytu większości popularnych pilotów, które udało mi się zidentyfikować między innymi NEC, X-Sat, Sony SIRC, JVC, Denon i oczywiście RC5 bez bitu toggle, które to ku mojej uciesze usunęło się przez przypadek przy tworzeniu nowego algorytmu ;) Niektóre bardziej egzotyczne piloty dają z kolei tylko jeden kod, albo wcale... Zaznaczę tu od razu, że NIE jest to dekoder tylko jak już go nazwałem wcześniej CZYTNIK pilotów podczerwieni. Wynik, który otrzymujemy jest 16-bitową liczbą nie mającą NIC wspólnego z oryginalnym kodem pilota opartą o mój algorytm napisany tak, aby były jak najmniejsze szanse powtórki. Ze względu na prostotę jego transmisji znowu pokrzywdzony jest RC5 - co udało mi się znaleźć to, np. wspólny kod dla klawiszy CH- i [kursor w dół] oraz jeszcze jakaś inna para. W każdym razie gdyby komuś na tym zależało to bibliotek do pilotów RC5 jest mnóstwo w sieci, a mnie akurat na nim najmniej zależy, bo nie posiadam (oprócz pilota uniwersalnego, który do testów wykorzystałem) żadnych urządzeń pod ten standard.
Zależało mi przede wszystkim na objętości programu i aby bez przeszkód można było wykorzystać w KAŻDYM procku. Cała funkcja odczytu zajmuje 254 bajty i wywoływana jest cyklicznie w przerwaniach (na Atmega32 16Mhz zabiera w porywach 1-3us czasu). Ten sposób pracy ma swoje wady, ale też i zalety - z Attiny13 można cuda robić ;-)
Dziś chciałbym wam dać do testowania programik i prosić o opinie jak wam się takie rozwiązanie podoba i czy algorytm daje radę. Może trzeba go będzie jeszcze zmodyfikować nieco.
Do uruchomienia potrzebna Atmega32 z kwarcem 16MHz. Na PB0 wpinamy się z czujnikiem IR, PB1 wyjście na LED kontrolny (względem masy). Wyświetlacz pod portem C. Dane z nagłówka LCD poniżej:

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


Obrazek


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.

_________________
http://www.sylwekkuna.com



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

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