Telecomando IR e fotodiodo

Ciao a tutti, sto cercando di utilizzare un telecomando infrarosso con il mio Arduino. Sono riuscito a collegare correttamente l'Arduino con i vari componenti(LED e fotodiodo) infatti il led lampeggia se premo un pulsante del telecomando puntandolo al fotodiodo.
Il problema è riconoscere quale pulsante è stato premuto: ho provato una libreria(la più famosa, chiamata IRemote) ma non funziona. Ho testato via seriale l'output del diodo e ho notato che mi ritorna massimo 200/1023 il che non è sufficiente a produrre HIGH sul pin 11 che la libreria richiede.
Qualcuno ha una soluzione al mio problema? Grazie mille :slight_smile:

Non funziona perché il ricevitore non deve essere un fotodiodo ma un demodulatore. Il segnale viene modulato con 38kHz per poterlo distinguere da altre fonti di luce. I ricevitori adatti sono della serie TSOPxxx38 dove al posto dei xxx ci sono diversi numeri. Il 38 é la frequenza di modulazione /demodulazione.
Ciao Uwe

Grazie per il consiglio Uwe, cosa posso fare ora che mi trovo un fotodiodo IR tra le mani? Qualche progetto interessante? A cosa servono?

Grazie ancora :slight_smile:

Forse come rivelatore di fascio interrotto...

Che esattamente sarebbe :D?

Con un diodo IR in funzione di TX ed un fotodiodo in funzione di RX, costantemente alimentati, crei un fascio invisibile (appunto all'infrarosso), che mantiene il pin di Arduino ad uno stato logico fisso. Se un qualsiasi oggetto o persona o animale attraversa il fascio lo stato sul pin di Arduino cambia e quindi tu puoi attivare una determinata azione. Potrebbe essere un buon sensore perimetrale, p.es., o un antifurto per la Nutella :grin:

Typo:

Con un diodo IR in funzione di TX ed un fotodiodo in funzione di RX

:slight_smile:

In realtà per avere una maggiore immunità ai disturbi invece di uno stato costante è meglio trasmettere una sequenza nota di bit, o stati. In soldoni: mando uno stato alto, leggo e mi aspetto che entro tot millisecondi (pochi) il diodo RX leggerà uno stato alto. Idem per uno stato basso. Questa cosa va ripetuta ad una certa velocità. Assomiglia molto ad un test di loopback per la seriale...
Nel momento in cui un certo numero di bit o byte sono diversi tra l'invio e la ricezione, deduco che un ostacolo ha attravesato il fascio.
Questa è la tecnica adottata dalle barriere ad infrarossi commerciali (o perlomeno quelle che ho montato io).

Oltre ad una certa immunità all'irraggiamento solare, si evita che il semplice puntare una luce infrarossa sul ricevitore possa neutralizzare l'antifurto.

Ovviamente era un refuso, grazie per la segnalazione, ho corretto il termine :slight_smile:
Sul resto del discorso concordo, però io stavo parlando di un'applicazione leggera, la Nutella non la tieni al sole :grin:
Scherzi a parte se vogliamo pensare a soluzioni con una reale discreta immunità non possiamo pensare ad un fotodiodo, ma piuttosto ad un sensore IR, in tal modo intanto si limita fortemente la banda di attivazione e la comunicazione ha una garanzia maggiore. Un fotodiodo pilotato a 38KHz in coppia con un sensore TSSOP34838 (o similari), garantisce ottime portate e buone insensibilità ai vari disturbi indotti non solo dalla luce solare, ma anche da quella ambientale interna. Inoltre questi sensori esistono con que tipologie di comportamento diverse all'interruzione del fascio: il cambio di stato (è il caso del TSSOP) o l'impulso (p.es. un IR38DM), con l'opportuno software (oppure hardware, se vogliamo operare in ambiente NON micro) l'efficienza ed efficacia aumentano esponenzialmente.

Grazie per l'infornata di interessanti dettagli :slight_smile:

Interessante XD XD

Capisco che è abbastanza inutile, lo userò per (sbattere la testa per) controllare la velocità di una velocità con un fotodiodo e diodo in coppia(come un encoder?)...
Grazie mille a tutti per le preziosi informazioni :slight_smile:

Oppure rilevare il passaggio di un oggetto e far scattare un flash (per foto "acrobatiche").

tuxduino:
Typo:

Con un diodo IR in funzione di TX ed un fotodiodo in funzione di RX

:slight_smile:

In realtà per avere una maggiore immunità ai disturbi invece di uno stato costante è meglio trasmettere una sequenza nota di bit, o stati. In soldoni: mando uno stato alto, leggo e mi aspetto che entro tot millisecondi (pochi) il diodo RX leggerà uno stato alto. Idem per uno stato basso. Questa cosa va ripetuta ad una certa velocità. Assomiglia molto ad un test di loopback per la seriale...
Nel momento in cui un certo numero di bit o byte sono diversi tra l'invio e la ricezione, deduco che un ostacolo ha attravesato il fascio.
Questa è la tecnica adottata dalle barriere ad infrarossi commerciali (o perlomeno quelle che ho montato io).

Oltre ad una certa immunità all'irraggiamento solare, si evita che il semplice puntare una luce infrarossa sul ricevitore possa neutralizzare l'antifurto.

Una fotocellula la fai meglio con un tsop e il LED pilotato con un segnale pulsato a 38kHz. Il tsop ha integrato un amplificatore regolato, un filtro che taglia i 50Hz e un demodulatore. Puoi costruire Fotocellule che funzionano in piena luce solare.

Ciao Uwe

Grazie per la spiegazione.

Non sapevo di questi modulini ir integrati. Cercando TSOP ho trovato questa pagina, che trovo interessante, almeno per farsi un'dea (spero non contenga castronerie :slight_smile: )

http://digilander.libero.it/beamweb/prossimita2.htm

I sensori sono proprio loro, hanno riportato lo schema a blocchi omettendo la R ed il C esterni, però poi consigliano il C nelle note. Nella barriera ad infrarossi che ho pubblicato lo scorso anno su Elettronica In, anch'io ho usato un NE555 per generare i 38KHz per pilotare il DIODO IR, mentre la logica di gestione del ricevitore l'ho fatta con un tiny85, un circuito molto simpatico rivolto principalmente ai ferromodellisti, che ho usato per spiegare l'applicazione della tecnica ISP mediante Arduino.
Quel link mi sembra valido, in definitiva, poi se hai bisogno di chiarimenti chiedi tranquillamente.