Mando de infrarojos

El mando de infrarojos nos permite comunicarnos con diversos chips PICAXE. No todos los chips ofrecen esta posibilidad, por ejemplo el 18M no la tiene. El mando tiene muchas teclas, dependiendo de la que se toque se mandará un número diferente al chip que se almacenará en una variable. Es interesante usar la instrucción select case para indicar al programa qué hacer con los diferentes valores de la variable.

Para poder comunicarnos con el chip, necesitamos conectar un receptor de infrarojos a la placa.El receptor de infrarojos debe alimentarse, tiene un cable rojo que conectamos a positivo, uno negro que conectamos a negativo y uno blanco que conectamos a una entrada de infrarojos. Dependiendo del chip, esa entrada puede cambiar

Chip 18M2

El chip 18M2 permite usar varios pines como entrada para infrarojos, pero se recomienda usar la entrada 0 porque esa es la que es asequible para esta tarea en otros chips

irin

El comando irin permite comunicarnos con la placa. Tiene varias sintaxis

Opción 1

irin pin, variable

Cuando se ejecuta este comando, el programa espera hasta recibir una señal de infrarrojos por el pin y mete ese valor en la variable

Ejemplo:

irin c.0, b1

En este caso, el programa esperará a recibir una señal por la entrada 0 (C.0 es el nombre del pin correspondiente a la entrada 0) y cuando lo reciba meterá ese valor en la variable b1

Opción 2

irin [tiempo],pin, variable

Cuando se ejecuta este comando, el programa espera un máximo del tiempo indicado en milisegundos hasta recibir una señal de infrarrojos por el pin y mete ese valor en la variable

Ejemplo:

irin [1000], c.0, b1

En este caso, el programa esperará un máximo de 1000 milisegundos a recibir una señal por la entrada 0 (c.0 es el nombre del pin correspondiente a la entrada 0) y cuando lo reciba meterá ese valor en la variable b1. Si se sobre pasa el límite de 1 segundo, el programa salta a la instrucción siguiente

Opción 3

irin [tiempo, dirección],pin, variable

Cuando se ejecuta este comando, el programa espera un máximo del tiempo indicado en milisegundos hasta recibir una señal de infrarrojos por el pin y mete ese valor en la variable. Si el tiempo de espera se sobrepasa, el programa continuará en donde indique la dirección

Ejemplo:

...
irin [1000, etiqueta], c.0, b1
...
etiqueta:

En este caso, el programa esperará un máximo de 1000 milisegundos a recibir una señal por la entrada 0 (c.0 es el nombre del pin correspondiente a la entrada 0) y cuando lo reciba meterá ese valor en la variable b1. Si se sobre pasa el límite de 1 segundo, el programa salta a la posición indicada en la etiqueta.

Chips 8M, 18X y 18A

Sólo es posible usar la entrada 0 para el receptor.

infrain

Para que la controladora lea la información que se le manda mediante un mando de infrarojos, se usa la instrucción  infrain . Cuando el programa ejecuta esa inrtrucción, se detiene hasta que recibe información procedente de un mando de infrarojos como el de la tele. Entonces, dependiendo de la tecla del mando que se haya pulsado, se introducirá un valor en una variable llamada infra.



Tecla 1 2 3 4 5 6 7 8 9 p+ 0 v+ p- 10+ v- pwr mute
valor de infra 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

 Luego podemos usar el valor de infra para selecionar un camino mediante if o mejor, mediante select case


Ejemplo

ejemplo
Prueba el programa. Veras que si se pulsa la tecla 1 del mando de infrarojos, se enciende la salida 1, si se plusa la 2, se enciende la 2 y si se pulsa la 3, se encende la salida 3.