Recientemente me he comprado un nuevo juguete, un Arduino.
Arduino es una plataforma electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.
Así que me he puesto a trastear un poco con el y este es mi primer programa:
// Este es el pin donde esta conectado // el receptor de infrarrojos #define rxPin 8 // Codigo para el modelo RM-ED036 de SONY char* codigos[] = { "111111121111", // Boton 1 "211111121111", // Boton 2 "121111121111", // Boton 3 "221111121111", // Boton 4 "112111121111", // Boton 5 "212111121111"}; // Boton 6 void setup() { pinMode(rxPin, INPUT); Serial.begin(9600); } void loop() { int i,j; char codigo[40]; // Si detectamos una nueva pulsacion if (digitalRead(rxPin)==LOW) { // Esperamos a que termine el pulso inicial while (digitalRead(rxPin)==LOW); // Leemos y descartamos los primeros 20 bits for (i=0;i<20;i++) { pulseIn(rxPin,LOW,600*5); } // Leemos los siguientes 40 bits for (i=0;i<40;i++) { // Calculamos si es un 0 = 600us o un 1 = 1200us codigo[i] = (pulseIn(rxPin,LOW,600*5) / 600) + 48; } // Se envia el mismo codigo repetido varias veces // cada vez que se pulsa un boton asi que comparamos // dos de los codigos recibidos para descartar errores for (i=0;i<20;i++) { if (codigo[i]!=codigo[i+20]) { // Si no son iguales los descartamos return; } } // Comparamos el codigo recibido con los // guardados en el array for (i=0;i<6;i++) { for (j=0;j<12;j++) { // Si este no es el codigo que buscamos if (codigo[j]!=codigos[i][j]) { // Continuamos con el siguiente break; } } // Si hemos encontrado el codigo if (j==12) { // Lo enviamos por el puerto serie Serial.print("Has pulsado el: "); Serial.println(i+1); break; } } } }
Básicamente recibe la señal de un sensor de infrarrojos a través de unos de sus pines y decodifica el botón que se ha pulsado en el mando a distancia. El control remoto que utilizo es el de una televisión Sony , concretamente el modelo es RM-ED036.
No es gran cosa, pero por algo hay que empezar.
Comentarios
Me parece de los más
Me parece de los más interesante. Lo desconocía y es algo que me interesa desde hace tiempo.
Sería genial, dado que es algo hardware que pusieras alguna foto o esquema para refrescarnos la memoria.
Un saludo.
Pues el esquema es de lo mas
Pues el esquema es de lo mas sencillo, ya que el receptor de infrarrojos ya lleva todo integrado y solamente hay que conectarlo al Arduino.
Pero una imagen vale mas que mil palabras:
El receptor de infrarrojos es el componente en la parte superior de la fotografía y sus patillas esta conectadas de la siguiente manera a los conectores de la placa(de izquierda a derecha):
1- Con un cable azul al pin8
2- GND
3- 5V
Muy interesante... entonces
Muy interesante... entonces con este kit puede uno diseñar, digamos, un autómata?
saludox
Puedes hacer lo que quieras,
Puedes hacer lo que quieras, hay gente que ha hecho cosas increíbles.
Solamente con darte una vuelta por google veras cientos de proyectos, desde robots hasta instrumentos musicales, controles remotos, videojuegos, etc ...
Saludos