Arduino Polska Forum

Pełna wersja: Odbiornik podczerwieni słabo działa z ProMini
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam

Mam taki problem, może ktoś już się z tym spotkał.
Przygotowałem sobie projekt układu standby, wszystkie testy prowadziłem na arduino nano, żeby łatwiej debugować.
Gotowy projekt przeniosłem na ProMini i wszystko działa prawidłowo oprócz obsługi odbiornika IR.
Na nano sygnał z pilota jest odbierany prawidłowo z każdej odległości i kąta, natomiast na promini pilot działa z max 0,5m.
Używam tsop31238 i tsop31236, na obu efekt jest w zasadzie taki sam. Próbowałem też na innych odbiornikach z wylutu ze starego sprzętu i na jednym z nich udało mi się osiągną lepszy efekt, bo pilot działa z większej odległości, ale ma problemy z kątami.
Co jeszcze ciekawe ten problem występuje wyraźniej jeżeli używam pilota uniwersalnego, który wysyła sygnał skopiowany z innego pilota, kiedy użyję tego starego pilota(dawcę sygnału) to problem prawie nie ma. Na nano wszystko działa prawidłowo z obydwoma pilotami. Ten uniwersalny pilot działa również prawidłowo z TV, DVD i innym sprzętem, na który go zaprogramuję.
Może ktoś ma jakiś pomysł, 

mg
Schemat, kod, poproszę.
[attachment=1009]Obecny testowy kod i schamat podłączenia to w zasadzie najprostrzy z możliwych

#include <IRremote.h>

const int irPin = 7;
IRrecv irrecv(irPin);
decode_results results;
const int ledPin =  LED_BUILTIN;

void setup()
{
  irrecv.enableIRIn();
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
}

void loop() {
  if (irrecv.decode(&results)) {

    if ( 3584887633 == results.value ) {
      digitalWrite(ledPin, LOW);
      delay(500);
      digitalWrite(ledPin, HIGH);
    }
    irrecv.resume();
  }
}
Na jakim napięciu pracuje ProMini?
Pomierzyłeś zasilanie, czy tylko zgadujesz że jest 5V?
Mam ProMini 3,3 i 5V, na obu jest to samo, napięcia pomierzone, są takie jakie powinny.
W międzyczasie dodałem wyświetlacz lcd, żeby zobaczyć co się dzieje i widzę, że sygnał generalnie jest odbierany,
ale z dalszej odległości dekodowane są dziwne kody dla tego samego przycisku pilota, nie jest to za każdym razem inny kod, ale jakby kilka powtarzających się nieprawidłowych kodów
Nie ma takiego czegoś jak praca pro mini na 3,3 i 5v jest tylko 3,3 lub 5v i vcc skoro mierzyłeś i masz 3,3v to jest to pro mini 3,3v to by wyjaśniało twoje błędy.. Testowy program był robiony na 16Mhz a pro mini jest taktowany 8Mhz
Mam dwa moduły promini jeden 3,3v 8MHz a drugi 5v 16MHz, testowałem na obu.
ten 3,3v podłączam przez RAW, a zasilanie dla tsop-a podaję z Vcc czyli po stabilizatorze.
Ten schemat powyżej jest dla wersji 5v
Chyba rozwiązałem problem nie rozwiązując przyczyny. Zaprogramowałem ten uniwersalny pilot przy pomocy wszystkich pilotów jakie znalazłem w domu i w przypadku kodów od jakiegoś bezfirmowego 20 letniego DVD, wszystko działa prawidłowo. Odczyt jest w 100% prawidłowy za każdym razem. Co prawda pilot wysyła jakby 2 kody, tzn najpierw ten właściwy, a potem nazwijmy go "resetujący" , jest on taki sam dla wszystkich przycisków, ale to nie problem i w niczym nie przeszkadza.
Prawdopodobnie problemem jest jakiś sposób kodowania sygnału z którym biblioteka irremote.h sobie nie radzi jeżeli sygnał jest skopiowany do pilota uniwersalnego. Tylko dlaczego Nano to nie przeszkadza, a ProMini do 0,5 m też działa, tego nie wiem, muszę poczytać o sygnale IR, bo nie lubię jak coś nie działa, a ja nie wiem dlaczego.:-)
Na razie zostaje tak jak jest.

Dzięki za chęć pomocy, jak coś jeszcze znajdę to napiszę dla potomnych.

mg