Pages: [1]   Go Down
Author Topic: Riconoscimento tasti di un telecomando  (Read 454 times)
0 Members and 1 Guest are viewing this topic.
Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Molti di voi sapranno che mi sto dannando con questi cavolo di infrarossi smiley-grin
Seguendo l'esempio riportato da molti utenti nel forum vorrei creare un qualcosa di utile dal riconoscimento dei vari tasti di un telecomando.
Il mio ricevitore dovrebbe essere un pna, dico dovrebbe perchè vedo scritto 99m4 e sul retro "MN".
I collegamenti a partire da sinistra sono out, gnd,vcc. Sono sicuramente giusti perchè solo con questa combinazione ottengo risultati e non corto circuiti.
Il problema dei risultati è che utilizzando questo codice ottengo solo uno "0"
Code:
#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
  }
}
A quanto so dovrei ottenere dei valori tipo "33480735" o roba del genere, ma niente.
Cosa c'è di sbagliato ?
Logged

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi scuso ma reinstallando la libreria sono riuscito a far funzionare la parte di ricezione !
Tuttavia non riesco a capire la parte di trasmissione. Premendo il tasto 5 ad esempio ottengo il codice 1931099650(non l'ho passato in HEX). Lui usa:
Code:
for (int i = 0; i < 3; i++) {
      irsend.sendSony(0xa90, 12); // Sony TV power code
      delay(100);
    }
dove irsend sta per un led che deve essere per forza attaccato al pin 3. Il ciclo credo che non faccia parte del segnale in se stesso quindi si potrebbe evitare(?), ma provando a mettere il mio codice al posto di 0xa90 non succede niente.
La funzione sendsony mi fa confondere, anche perchè se ci fosse una funzione per ogni marca di televisore non saprei come fare perchè vorrei usarlo anche con una videocamera di cui ho già preso il segnale.
Qualcuno che mi sa spiegare questa punzione di send ?
Logged

Germany
Offline Offline
Edison Member
*
Karma: 1
Posts: 1355
Here we go!!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora....ti posso dare un consiglio?

Io mi trovavo in alto mare come te fino a quando non sono capitato su questa guida. Basta un pò di inglese e un pò di voglia e capisci tutto:
http://www.ladyada.net/learn/sensors/ir.html#testing_your_ir_detector

dai una lettura veloce fino al paragrafo:
Reading out IR codes from an Arduino

Poi impegnati un pò di più da lì in poi!!!

Fammi sapere,
Fabrizio.
Logged

L'impossibile...richiede solo piu' tempo!

Castelletto Sopra Ticino, IT
Offline Offline
Full Member
***
Karma: 0
Posts: 169
Yes we can!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,
Io posso suggeristi questo, in italiano.
http://blog.lampugnani.org/arduino/mappare-un-telecomando-ir/

Ciao t30
Logged

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sinceramente ci ho capito ben poco ! con la parte di ricezione ci sono ma da quella di invio sono ancora lontano.
Proverò a leggere più attentamente le guide un altro giorno e vi farò sapere.
Ma comunque è possibile che si debba fare tutto quel casino per stampare su un led il codice 731A3E02 ?
Comunque sia vi ringrazio molto per le guide, mi sembrano ben fatte !
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

qualcuno usa il creative Irda key ?

era abbinato ad un cdrom 24x e poi ad un 48x
e' molto carino come estetica, piccolo, tascabile

oggi lo si trova nelle bancherelle per 5..6 euro (non male)

e' supportato anche da lirc (software di riconoscimento telecomandi per linux/gnu
ottima fonte di informazione se si vuole studiare un po' la faccenda)







p.s.
mi piace l'approccio "empirico" di chi ha scritto l'articolo in inglese
Quote
"IR is not a precision-timed protocol so having to make the FUZZINESS 20% or more is not a bad thing "

che prevede il riconoscimento dei patterns da un confronto temporale diretto, senza alcuna decodifica

l'ipotesi di partenza di quell'articolo infatti era: si tratta di modulazione pvm
in realta' si tratta di http://it.wikipedia.org/wiki/Codifica_Manchester
« Last Edit: June 16, 2011, 08:55:00 am by flameman » Logged

Pages: [1]   Go Up
Jump to: