Webcervices. Con la tecnología de Blogger.
RSS

Unete a nuestro grupo de facebook

Unete a nuestro grupo de facebook
Hola que tal lectores de esta pagina tan maravillosa que es arduino Tec ...Los invito a que amplíen mas sus conocimientos en Arduino y Raspberry Pi Uniéndose a mi grupo Arduino Tec

Multi proyectos 0135

Utilización mando infrarrojos I: Lectura del código y ejemplo

¿Cómo es un sensor de infrarrojos?
Un sensor de infrarrojos (IR) está compuesto básicamente por un LED que emite pulsos de luz infrarroja siguiendo un patrón determinado que permite al dispositivo conocer la función a realizar.
Para poder controlar nuestro Arduino mediante un mando a distancia y un sensor IR, deberemos conocer el protocolo interno de comunicación del mando.


sensor infrarrojos junto con mando compatible

¿Cómo podemos distinguir en cada caso qué botón de nuestro mando estamos pulsando?El mando emite una señal al dispositivo que lo controla, en este caso es un receptor de infrarrojos. Lo hace codificando una orden mediante un led infrarrojo que emite un az de luz que debe ser leído por el dispositivo. Tendremos, por tanto, para cada botón del mando, una codificación distinta, de forma que podemos distinguir cada caso.

Para determinarlo, es necesario utilizar una nueva librería que deberemos incorporar al programa.
Posteriormente, debe ser incluida en el apartado de Librerias del IDE.

Conexiones
Viendo el sensor de frente:
- patilla derecha conectada a 5V (el valor de la tensión puede variar entre 2,5 y 5,5V)
- patilla central conectada a tierra
- patilla izquierda, la que manda datos, con resistencia 220 a un pin digital.

Las conexiones de los elementos son las siguientes:


El sketch para la lectura que emplearemos será el siguiente:

#include
#include
#define IRPIN 8   // pin al que conectamos el receptor de IR
static int aux = 1;
NECIRrcv ir(IRPIN) ;
void setup()
{
  Serial.begin(9600) ;
  Serial.println("NEC IR codigo recepcion") ;
  ir.begin() ;
}
void loop()
{
  unsigned long ircode ;
  while (ir.available()) { 
    ircode = ir.read() ;  
    Serial.println(ircode) ; 
  }
}

Utilizando cualquier mando y, monitorizando los valores que va adquiriendo cada botón mediante la opción Monitor Serial (del IDE), tenemos lo siguiente.

(Disculpen la calidad del vídeo, no tenía mejor cámara a mano)



Ahora que ya tenemos la lectura realizada, con el mismo mando procedemos a mostrar un breve ejemplo.


Encendido/apagado de un LED
Para el mando que hemos utilizado (el que se muestra en la primera foto), la lectura del ON/OFF se corresponde con el valor de 3125149440. 

El sketch será el siguiente: 

#include
#include
#define IRPIN 8   // pin that IR detector is connected to
int led = 7;
static int aux = 1;
NECIRrcv ir(IRPIN) ;
void setup()
{
  pinMode(led, OUTPUT);
  ir.begin() ;
}
void loop()
{
  unsigned long ircode ;
  while (ir.available()) { 
    ircode = ir.read() ;
    if(ircode == 3125149440){  /*en nuestro caso, corresponde con el botón encendido/apagado del mando*/
      if(aux == 0){
        digitalWrite(led, LOW);
        aux = 1;
      }
      else{
        digitalWrite(led, HIGH);
        aux = 0;
      }
    } 
  }
}

Con respecto al montaje del circuito, teniendo en cuenta las conexiones del sensor IR y el ejemplo de la lectura de los códigos, simplemente añadimos la conexión de un LED junto con una resistencia, en el pin 7 (Diodo LED. Introducción y ejemplo), quedando finalmente el resultado siguiente:




Y esto es todo. No dudéis en comentar y en preguntar cualquier duda.
Gracias por la atención.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentarios:

Publicar un comentario

Objetivo Y Reclamaciones

Este blog es un portal en el cual se publican contenidos de diferentes blogs.En los cuales se les anexa al pie de pagina un enlace a su pagina original aquí encontraran toda clase de proyectos de arduino y linux
Espero tengan una gran experiencia en este blog un Gran Saludo
de parte de la organización WebCervices..
objetivo
O del grupo ArduinoTec De arduino
Cualquier reclamación o petición comunicar al Administrador principal o hacer un comentario en la publicación que se sientan inconformes en los correos
electriarias@gmail.com
y para temas de suma importancia mi correo personal
pabioarias@hotmail.com

Siguenos en Twitter

Like

Unete a nuestro grupo de facebook

Hola que tal lectores de esta pagina tan maravillosa que es arduino Tec ...Los invito a que amplíen mas sus conocimientos en Arduino y Raspberry Pi Uniéndose a La mi grupo Arduino Tec

Unete Al Grupo De facebook

Unete Al Grupo De facebook
Amplia tus conocimientos debatiendo temas de Arduino y Raspberry pi