logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega8][C][RC5] Odbiornik/nadajnik- IR, brak komunikacji

don-angelo 17 Cze 2012 16:18 4893 12
REKLAMA
  • #1 11010889
    don-angelo
    Poziom 9  
    Posty: 11
    Witam ,

    Mam problem z uruchomieniem odbiornika/nadajnika RC5, mianowicie zbudowałem pilot i odbiornik, ale po wielu próbach nie udało mi się uzyskać założonego efektu.. Czy ktoś wie jaki jest błąd?

    Nadajnik :

    Schemat:
    [Atmega8][C][RC5] Odbiornik/nadajnik- IR, brak komunikacji

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod



    Odbiornik:

    [Atmega8][C][RC5] Odbiornik/nadajnik- IR, brak komunikacji

    Jedyna zmiana to kondensator 10uf zamiast 4,7uf i TSOP1736. Podpięte do portu PB0 uC, natomiast do portu D , 7 diod LED - Sześć diod pokaże numer przycisku, a siódma - toggle bit.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #4 11011767
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    LordBlick napisał:
    _delay_ms() przyjmuje tylko liczby całkowite za argument.
    http://www.nongnu.org/avr-libc/user-manual/group__util__delay.html

    No ale właśnie przyjmuje takie argumenty, jeśli to na etapie kompilacji to zostanie to ładnie zamienione i tak na stałą liczbę cykli pętli opóźniającej. Poza tym argument tej funkcji to właśnie double.

    LordBlick napisał:
    Poza tym radzę użyć timera, zamiast takich cudów.

    A co do tego to oczywista oczywistość - że lepiej timera użyć do tych celów.
  • REKLAMA
  • #5 11011799
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    don-angelo napisał:
    Schemat:
    [Atmega8][C][RC5] Odbiornik/nadajnik- IR, brak komunikacji

    Uwagi do schematu:
    1. T1 zmień na NPN,
    2. Źle podłączone gniazdo programatora ISP (odwrócone gniazdo).
    3. Nie łącz 5V z programatora z 5V z zasilania (złącze WEJ) chyba, że masz po drodze (np. w programatorze), jakąś zworkę rozłączającą.
  • #6 11029102
    don-angelo
    Poziom 9  
    Posty: 11
    Niestety.. znów po wielu próbach nie udało sie uruchomić
    zastosowałem sie do waszych porad , zamieniłem tranzystor , zmieniłem wartość na 890, ale nic z tego.

    Tak wiem o źle podłączonym gnieździe ISP, robiłem na szybko i nie zwróciłem uwagi, dopiero po wytrawieniu i wlutowaniu... no ale to tylko prototyp


    zastanawiam sie czy odbiornik TSOP1738 nie jest uszkodzony..
    Może jest to spowodowane brakiem zewnętrznego generatora kwarcowego 8Mhz?
  • REKLAMA
  • #7 11029186
    Krauser
    Poziom 26  
    Posty: 508
    Pomógł: 124
    Ocena: 12
    1. Przy rysowaniu schematów do łączenia elementów używaj Net, a nie Wire
    2. Sprawdź fusebity. Zmień taktowanie na takie jak masz w programie CKSEL3..0
  • #8 11029214
    don-angelo
    Poziom 9  
    Posty: 11
    fusebity sprawdziłem.. E4 i D9

    CKSEL0..1
    CKSEL1..1
    CKSEL2..0
    CKSEL3..1
    oscylator 8MHz
  • REKLAMA
  • #10 11542714
    rozekk
    Poziom 11  
    Posty: 16
    Pomógł: 2
    może odkopię jakiegoś dinozaura, ale:
    a) z tego co widzę to kolega 2x wrzucił kod nadajnika
    b) prawdopodobnie problem jest w używanych pinach odbiornika. Nie można sobie ot tak zamienić pinów z portu D na B bo tak wygodniej, gdyż PD2/PD3 to INT0 i INT1 które są zazwyczaj używane w tego typu aplikacjach do odbioru sygnału.

    pozdrawiam
  • #11 11543468
    Morcinek92
    Poziom 14  
    Posty: 424
    Ocena: 16
    Witam,
    Tak masz racje, są to te same kody.. aczkolwiek problem juz został rozwiązany. Tak jak piszesz, nie pozmieniałem pinów, były to inne przerwania, ale po poprawieniu działa jak należy
    Pozdrawiam
    Marcin
  • #12 12001477
    THoTH
    Poziom 16  
    Posty: 270
    Pomógł: 8
    Ocena: 23
    Drogi kolego, moglbys podeslac kod programu ? Chetnie bym troche odpatrzyl i dostosowal w mojej konstrukcji.
    Jakie zmiany wprowadziles ?

Podsumowanie tematu

✨ Użytkownik ma problem z uruchomieniem odbiornika/nadajnika RC5 na mikrokontrolerze Atmega8. Po wielu próbach i zastosowaniu porad dotyczących zmiany opóźnienia z _delay_ms(0.89) na _delay_us(890) oraz wymiany tranzystora, problem nadal występuje. Użytkownik podejrzewa uszkodzenie odbiornika TSOP1738 oraz brak zewnętrznego generatora kwarcowego 8MHz. Wskazówki dotyczące poprawy schematu obejmują zmianę tranzystora na NPN, sprawdzenie podłączenia gniazda ISP oraz fusebitów. Ostatecznie problem został rozwiązany poprzez poprawne przypisanie pinów do przerwań INT0 i INT1.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA