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



Teraz jest 15 sty 2025, o 00:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
Autor Wiadomość
 Tytuł: Problem z RC-5
PostNapisane: 25 cze 2013, o 18:32 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Witam

Postanowiłem w końcu zabrać się za przykłady z książki i na tapetę wziąłem przykład z pilotem RC-5. Miałem w szafce pilot Philipsa http://lirc.sourceforge.net/remotes/philips/RC0786_01
Także jak dobrze widzę nadawał bysie do naszych eksperymentów. Użyłem w całości kodu z płytki bez zmian poza oczywiście zmianą portów na LCD. na pokładzie ATB 1.04 jest Atmega32 taktowana wewnętrznie 8Mhz.

Sam kod programu:

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


Biblioteki IR_decode nie publikuje bo w niej nic nie zmieniałem.

A problem dotyczy tego że na ekranie mam ciagle komunikat "Kody pilota RC5", tak jakby wogóle uC nie odbierał przerwania na PD6.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 18:36 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

A możesz zrobić Clean potem Build i wkleić co tam pojawiło się w konsoli (Console) ?

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 18:39 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Kod:
**** Build of configuration Release for project 11_RC5_decode ****

make all
Building file: ../LCD/lcd44780.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=8000000UL -MMD -MP -MF"LCD/lcd44780.d" -MT"LCD/lcd44780.d" -c -o "LCD/lcd44780.o" "../LCD/lcd44780.c"
Finished building: ../LCD/lcd44780.c
 
Building file: ../IR_DECODE/ir_decode.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=8000000UL -MMD -MP -MF"IR_DECODE/ir_decode.d" -MT"IR_DECODE/ir_decode.d" -c -o "IR_DECODE/ir_decode.o" "../IR_DECODE/ir_decode.c"
Finished building: ../IR_DECODE/ir_decode.c
 
Building file: ../main.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=8000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
Finished building: ../main.c
 
Building target: 11_RC5_decode.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,11_RC5_decode.map -mmcu=atmega32 -o "11_RC5_decode.elf"  ./LCD/lcd44780.o  ./IR_DECODE/ir_decode.o  ./main.o   
Finished building target: 11_RC5_decode.elf
 
Invoking: AVR Create Extended Listing
avr-objdump -h -S 11_RC5_decode.elf  >"11_RC5_decode.lss"
Finished building: 11_RC5_decode.lss
 
Create Flash image (ihex format)
avr-objcopy -R .eeprom -O ihex 11_RC5_decode.elf  "11_RC5_decode.hex"
Finished building: 11_RC5_decode.hex
 
Create eeprom image (ihex format)
avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex 11_RC5_decode.elf  "11_RC5_decode.eep"
Finished building: 11_RC5_decode.eep
 
Invoking: Print Size
avr-size --format=avr --mcu=atmega32 11_RC5_decode.elf
AVR Memory Usage
----------------
Device: atmega32

Program:    1566 bytes (4.8% Full)
(.text + .data + .bootloader)

Data:         29 bytes (1.4% Full)
(.data + .bss + .noinit)


Finished building: sizedummy
 

**** Build Finished ****


Wydaje mi sie że tutaj jest wszystko w porządku, chyba że dla mojego taktowania musiałbym coś zmienić w bibliotece ir_decode



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 18:55 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Sprawdź 4 rzeczy:
1) Czy pilot nadaje. Podczerwień nie jest widoczna gołym okiem, ale jak masz komórkę z aparatem to już możesz zobaczyć mruganie diody nadawczej.
2) Czy zworka IR_OUT jest założona na oba piny.
3) Wyjmij kwarc z podstawki i zobacz czy działa.
4) Sprawdź czy pracujesz na 8MHz czy 1MHz uruchamiając ćwiczenie 01_DiodaLED

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 18:56 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

1. Pilot nadaje sprawdzone aparatem
2. zworka IR założona
3 i 4 używam wewnętrznego taktowania 8Mhz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 19:10 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

5) Sprawdź czy odbiornik odbiera dane i czy trafiają one do procesora. W tym celu dodatkowym kabelkiem łączysz PD6 z dowolną LED na zestawie. Jak wciskasz przycisk na pilocie LED powinna migać. Można również podłączyć LED tylko do wyjścia odbiornika (lewy pin zworki IR-OUT)


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 19:14 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Test wykonany i dioda podłączona do PD6 miga w momencie naciskania przycisku na pilocie, wiec czujnik wygląda ok. Coś wydaje mi się że problem leży w tych przerwaniach.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2013, o 19:26 
Offline
Moderator
Avatar użytkownika

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

Wilu88 napisał(a):
Coś wydaje mi się że problem leży w tych przerwaniach.


Jakby problem leżał w przerwaniach w tym kodzie to nikomu by nie działał ;) a jednak wszystkim działa ....

a jeśli nie to 99% takich wątków kończy się w ten sam sposób - wiesz jak ?

"że pilot który ktoś ma i wydaje mu się że jest w standardzie RC5 wcale nie nadaje w RC5" .... nie twierdzę że u ciebie na 100% to jest ten powód ale mówię z autopsji i na podstawie częstotliwości zadawanych mi pytań akurat o ten kod ;)

poza tym jak myślisz - dlaczego sprzedajemy w naszym sklepie piloty RC5 ??? no właśnie dlatego ..... żeby mieć jednego przynajmniej pewnego pilota RC5 pod ręką

a ja jeszcze do porad kolegi Krausera dodam jedną.

1. podłącz sobie dowolną diodę LED do dowolnego pinu procka
2. ustaw ten pin jako wyjście
3. zgaś diodę przy starcie programu
4. a w przerwaniu ICP zapal ją ....

wtedy zobaczysz że przerwanie działa - a po prostu ramka nie jest rozpoznawana i upewnisz się że nie masz pilota RC5 - obstawiam taki scenariusz na 99% niestety


Autor postu otrzymał pochwałę

_________________
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: 25 cze 2013, o 20:34 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Ok wychodzi że wina pilota, bo po podesłaniu projektu do Krauser u niego działa. Trzeba poszukać innego pilota, dzięki wszystkim ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 cze 2013, o 09:04 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Czy ten pilot ma selektor z czym ma działać (TV, Video itp.)?
A jeżeli tak, to czy jesteś pewien że wybrałeś TV (adres = 0), bo Play to raczej TV nie obsługują, a jeżeli już to pewnie i tak na innym adresie?

Najlepiej na początek wywal sprawdzanie adresu:
Np. zamiast !address wstaw 1.

No i testuj na klawiszach przeznaczonych dla TV (np. volume), bo inne funkcje mogą działać w innych standardach np. RC6.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 cze 2013, o 09:26 
Offline
Moderator
Avatar użytkownika

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

#ciamciak# napisał(a):
Najlepiej na początek wywal sprawdzanie adresu:


bardzo cenna uwaga ;) ....

_________________
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: 26 cze 2013, o 10:09 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Hmm.. o tym nie pomyślałem. To jest pilot z radia CD i wygląda tak: http://www.replacementremotes.com/store/images/TN-RC-0786.jpg

Jak wrócę z roboty to zastosuje się do tej porady i zobaczymy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 cze 2013, o 10:10 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

No to na 99% kwestia adresu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 cze 2013, o 10:34 
Offline
Moderator
Avatar użytkownika

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

Wilu88 napisał(a):
To jest pilot z radia CD i wygląda tak: http://www.replacementremotes.com/store ... C-0786.jpg


;) eeeeh od tego trzeba było zacząć wątek .... ale dobrze, że kolega #ciamciak# to wychwycił ;)

_________________
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: 26 cze 2013, o 11:16 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Czyli jak dobrze rozumiem z noty katalogowej:
Kod:
Known system adresses:
# ----------------------
#   0x00      TV
#   0x02      Teletext
#   0x05      VCR1
#   0x14      CD-Player
#   0x16      Preamp
#   0x17      Receiver / Tuner
#   0x18        Tape


adres mojego pilota to 14?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 cze 2013, o 11:34 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Tak jak masz w kodzie wyświetlanie komendy, tak dopisz sobie wyświetlanie adresu, jeszcze przy okazji możesz też toggle (wszystko z pominięciem warunków if( !address )).
Wtedy będzie miał skaner RC5 i będziesz mógł sobie sam sprawdzać ;)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 cze 2013, o 12:01 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

No tak najprostsze rozwiązanie a ja tyle czasu zmarnowałem :) Dzięki jeszcze raz :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 cze 2013, o 16:42 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

No i wszystko gra. Pilot pracuje na 3 adresach 16,17 i 20.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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