Go Down

Topic: Barrera Infrarroja (Read 2523 times) previous topic - next topic

Kree

Hola a todos, este es mi primer post, soy Kree y vamos a partirnos el culo!! Ejem, lo siento.

Bueno, el tema es que despues de cacharrear un poco con el arduino y hacer algunos ejemplos se me ha ocurrido hacer una barrera IR, he sacado un fototransistor y un led IR de un tdt y he hecho algunas pruebas, con la libreria IR de Ken Shirriff me he asegurado de que funcionasen bien por separado tanto el led como  el fototransistor, con el ejemplo de recepcion que viene puedo leer las señales de los botones de diferentes mandos y con el ejemplo de envio puedo, por ejemplo, apagar la tele.

Pero el caso es que no recibo nada desde el led de la protoboard. Ya que por separado me funcionan bien doy por hecho que el problema lo tengo en el codigo. Al principio probe simplemente poniendo el led IR "HIGH", luego probe creando una señal de 38Khz aunque me parecia que no hacia falta y al final probe directamente mandando un codigo de un mando que si detectaba cuando salia de este pero sigue sin haber respuesta. Y me han surgido algunas dudas:

- ¿Es necesario generar una señal de 38 Khz para que lo detecte o simplemente "encendiendo" el led IR valdria?
- En el caso de tener que generar la señal de 38 Khz ¿Como se haria esto si en el loop se genera la señal antes de poder leer los datos del fototransistor?

Gracias!!

shaktale

Necesitamos que nos pongas el codigo para ver si tienes algo mal.

Teoricamente deberias generar la frecuencia pero solo con encender el led te deberia llegar un minimo de señal.

Kree

Claro! ahi va

Code: [Select]
#include <IRremote.h>

IRsend irsend;

const int Boton=6;
const int IR=13;
const int REC=11;
int Estado=0;
int TR=0;

void setup() {
  Serial.begin(9600);
  pinMode(IR,OUTPUT);
  pinMode(Boton,INPUT);
}

void loop() {
  TR=digitalRead(REC);
  Serial.println(TR);
 
  Estado=digitalRead(Boton);
  if (Estado==HIGH) {
    //digitalWrite(IR,HIGH);
    irsend.sendRC5(0xC, 12);
  }
  else {
    digitalWrite(IR,LOW);
  }
    delay(50);
}


En este ejemplo he incluido la libreria de IR simplemente para probar el envio y para ver si recibia algo. En este caso me parece logico que no lo detecte ya que lee la entrada y luego genera la señal. Tambien he probado poniendo el led IR a +5 pero no pasa nada.

Si es necesario generar la frecuencia de 38 Khz, ¿esta se generaria en el loop y se leeria el resultado en el loop tambien?

Go Up