ultimo aggiornamento 15 dicembre 2012

JLCPCB - 2$ per prototipi di PCB, di qualsiasi colore. Produzione in 24 ore!
L'Azienda di prototipi PCB più popolare, con oltre 700.000 clienti in tutto il mondo!
Recati presso la JLCPCB, riceverai regali e coupon gratuiti
presso Maker Faire Rome il 18-20 ottobre


Il sensore per telecomando cui presentato è formato principalmente su un ricevitore IR dotato di un filtro ottico che non permette il passaggio della luce eccetto che a quella di 980 nm di lunghezza d’onda al suo sensore a fotodiodo interno. Il rivelatore infrarosso ha anche un filtro elettronico che permette il passaggio solamente a segnali con una frequenza di 38 kHz.

In altre parole, è sensibile solamente ad infrarossi con lunghezza d’onda di 980 nm e con una frequenza di 38.000 pulsazioni al secondo.
Questo previene le interferenze IR da sorgenti di infrarossi come la luce solare e l’illuminazione domestica.
La luce solare è vista come un’interferenza in corrente continua (0 Hz), e l’illuminazione domestica tende a lampeggiare a 100 Hz. Poiché 100 Hz è al di fuori della banda passante del filtro elettronico tale frequenza è completamente ignorata dal rivelatore IR.
Il sensore è il tipo TSOP1836, e come detto e come visibile nella tabella è appunto sensibile al picco di 38 kHz, ma esistono anche sensori con frequenze che vanno dai 20 ai 40 kHz.

OurPCB, your most reliable PCB and PCBA supplier.

Focusing on PCB Prototype and PCB Assembly Turnkey Services.

One-Stop Wire Harness & Cable Assemblies Solution

OurPCB, your most reliable PCB and PCBA supplier.

Focusing on PCB Prototype and PCB Assembly Turnkey Services.

One-Stop Wire Harness & Cable Assemblies Solution

Photo Modules for PCM Remote Control Systems tipo TSOP 1836

1-OUT  2-GND 3-Vcc
Piedinatura Datasheet Foto del sensore

 


Schema Formato EAGLE

 
Elenco componenti
R1 100 Ώ1/4W
C1 4,7 μF 10 Vl
IC1 TSOP1836
JP1 pin strip maschio 3x90°

Descrizione

Il circuito del sensore è molto semplice in quanto tutta la parte di lettura e trattamento del segnale IR p effettuata all'interno dell'integrato IC1. L'amplificatore interno all'integrato è impostato su un guadagno molto elevato. Pertanto il sistema tende a iniziare ad oscillare molto facilmente, per questo motivo è presente la resistenza R1 e il condensatore C1 in modo da disaccoppiare la linee di alimentazione.

Realizzazione

Per la costruzione della scheda si procederà alla realizzazione del circuito stampato con il metodo della fotoincisione o del trasferimento termico.

Si passerà quindi alla foratura e al successivo posizionamento e saldatura dei componenti seguendo il layout visibile sotto.

Collaudo del sensore

Per provare il sensore occorrerà prima di tutto scaricare l'apposita libreria dai siti  http://www.pjrc.com/teensy/td_libs_IRremote.html, e https://github.com/shirriff/Arduino-IRremote quindi collegare il sensore alla scheda Arduino, e caricare per esempio lo sketch IRrecDemo che si trova tra gli esempi della libreria IRremote.
Nel programma occorrerà eventualmente modificare il numero della porta a cui è collegati il sensore int RECV_PIN = 11, a questo punto attivando il monitor seriale si potrà vedere il numero di codice del comando inviato dal telecomando.

Comandi disponibili in Ricezione

IRrecv irrecv(receivePin)
irrecv.enableIRIn()
irrecv.decode(&results)
irrecv.resume()
irrecv.blink13(true)

Comandi disponibili in ricezione

IRsend irsend;
irsend.sendNEC(IRcode, numBits);
irsend.sendSony(IRcode, numBits);
irsend.sendRC5(IRcode, numBits);
irsend.sendRC6(IRcode, numBits);
irsend.sendRaw(rawbuf, rawlen, frequency);

Programma d'esempio

 
/*
 * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
}

 

Elenco revisioni
15/12/2012 Inserito programma di prova
16/03/2012 Emissione preliminare