Arduino – Capítulo final – Hackeando botones

AVISO: Si estás haciendo este capítulo es que no eres un principiante. Vamos a abrir un aparato electrónico y a modificarlo. Vamos a eliminar la garantía de dicho aparato y si no tenemos cuidado, podemos estropearlo. Debemos de estar seguros de que estamos familiarizados con todos los conceptos electrónicos comentados en los capítulos anteriores antes de empezar con este. Es recomendable empezar con elementos baratos y estropear nuestros primeros proyectos, hasta que hayamos adquirido la experiencia y confianza necesarias.

Mientras que Arduino puede controlar gran cantidad de cosas, algunas veces es más fácil utilizar herramientas que han sido creadas para un uso concreto. Quizás quieras controlar una televisión o un reproductor de música, o conducir coche por control remoto. La mayoría de los aparatos electrónicos disponen de un panel de control con botones, y muchos de esos botones pueden ser hackeados para que los podamos “pulsar” con nuestro Arduino. Controlar un sonido ya grabado es un buen ejemplo. Si queremos grabar y reproducir dicho sonido, nos llevará mucho esfuerzo conseguir que Arduino realice dicha tarea. Es mucho más fácil coger un pequeño dispositivo que sea capaz de grabar y reproducir sonido, y reemplazar sus botones por salidas controladas por Arduino.

Para este proyecto utilizaremos un elemento nuevo: el optoacoplador. Los optoacopladores son circuitos integrados que nos permiten controlar un circuito desde otro diferente sin ninguna conexión eléctrica entre ambos. Dentro de un optoacoplador hay un led y un sensor de luz. Cuando el led que hay dentro del optoacoplador se enciende por orden de nuestro Arduino, el sensor de luz cierra un interruptor interno. El interruptor está conectado a dos pines de salida (patillas 4 y 5) del optoacoplador. Cuando el interruptor está abierto, dichas patillas no están conectadas. De esta manera, es posible cerrar interruptores en otros dispositivos sin tener que conectarlos con nuestro Arduino.

Optoacoplador

En este ejemplo, los esquemas están pensados para controlar un módulo de grabación digital que nos permite grabar y reproducir 20 segundos de sonido, pero las premisas básicas son las mismas para cualquier dispositivo que tenga un interruptor al que tengamos acceso. Como es posible utilizar este ejemplo sin tener que soldar ningún cable, hace que las cosas sean mucho más fáciles.

Montando el circuito

Para montar el circuito de este proyecto necesitamos los siguientes componentes:

– 1 Resistencia de 220Ω.

– 1 Optoacoplador 4N35.

Una vez tenemos los componentes necesarios, debemos seguir los pasos siguientes:

1 – Lo primero de todo será conectar la tierra de nuestro Arduino a la protoboard.

2 – Colocamos el optoacoplador sobre la línea central que recorre la protoboard, dejando la marca indicadora al lado izquierdo.

3 – Seguidamente, unimos el pin 1 del optoacoplador al pin 2 del Arduino en serie con la resistencia de 220Ω.

4 – Conectamos el pin 2 del optoacoplador a tierra.

5 – En la placa del módulo de sonido hay toda una serie de componentes eléctricos, incluido un botón de reproducción. Para controlar el pulsador, tenemos que quitar el botón. Giraremos la placa del circuito y buscaremos la lengüeta o pestaña que mantienen al botón sobre el pulsador. Con cuidado, doblaremos las pestañas y sacaremos el botón de la placa del circuito.

6 – Bajo el mencionado botón, existen dos pequeñas placas metálicas. Este patrón de placas es muy típico de los dispositivos electrónicos con pulsadores. Las dos “horquillas” de dicho patrón son los dos terminales del pulsador. Una pequeña lámina metálica dentro del mismo conecta ambas horquillas cuando pulsamos el botón.

7 – Cuando las dos horquillas se unen, el pulsador queda cerrado. Nosotros nos encargaremos de cerrarlo mediante el optoacoplador.

Éste método de cerrar un pulsador utilizando un optoacoplador, solo funciona si uno de los dos lados del pulsador está conectado a masa en nuestro dispositivo. Si no estamos seguros, cogeremos un multímetro y mediremos la tensión entre una de las horquillas y la masa del dispositivo. Ésta medición debemos llevarla a cabo con el dispositivo encendido, por lo que tendremos que prestar mucha atención en no tocar nada más de la placa.

Una vez que ya sabemos que la horquilla está conectada a tierra, desconectamos la alimentación de nuestro dispositivo.

8 – A continuación, conectamos un cable a cada una de las horquillas. Si los vamos a soldar, tenemos que tener cuidado para no unir ambas partes del pulsador. Si por el contrario, optamos por unirlos con una cinta, debemos asegurarnos de que la sujeción sea firme, o de lo contrario el pulsador no se cerrará. Tenemos que asegurarnos de que ninguno de los dos cables toca ninguna otra horquilla, o nuestro pulsador siempre estará cerrado.

9 – El siguiente paso será conectar los dos cables anteriores a los pines 4 y 5 del optoacoplador. El lado del pulsador que está conectado a tierra lo uniremos al pin 4 del optoacoplador y el otro al pin 5.

Terminado de montar el circuito, deberíamos de tener algo parecido al mostrado en la siguiente figura.

Diseño de protoboard

El esquema eléctrico correspondiente sería:

Esquema de conexiones

 

El código

Comencemos por comentar paso a paso el código fuente con el que vamos a programar nuestro Arduino.

La parte más divertida de este proyecto se encuentra en el circuito y en el optoacoplador. El código es similar al utilizado en el primer proyecto realizado con Arduino (Interfaz de una nave espacial). Vamos a reproducir un sonido cada 20 segundos dándole al pin 2 un valor HIGH. Así que lo primero que haremos es crear una constante para el pin de control del optoacoplador.

const int optoPin = 2;

En la función setup(), definiremos el pin del optoacoplador como salida.

void setup(){

    pinMode(optoPin, OUTPUT);

}//Fin de la función setup.

A continuación, entramos en la función loop(). Dicha función establece el valor de optoPin en HIGH durante unos milisegundos, tiempo suficiente para que el optoacoplador cierre el pulsador del dispositivo. A continuación, optoPin tomará el valor LOW.

void loop(){

    digitalWrite(optoPin, HIGH);
    delay(15);
    digitalWrite(optoPin, LOW);

Para finalizar, esperamos 21 segundos para que el sonido se reproduzca y el bucle loop() comience de nuevo.

    delay(21000);

}//Fin de la función loop.

 

Puesta en marcha

Para empezar, conectemos la batería al grabador de sonido y pulsamos el botón de grabación del dispositivo. Mientras estamos presionando el mencionado botón, podemos grabar sonido a través de su micrófono. Podemos utilizar nuestra voz, un gato, o los botes de la cocina para hacer ruido, pero sobretodo mucho cuidado con el gato.

Una vez hemos conseguido grabar sonido de forma satisfactoria, alimentaremos nuestro Arduino con el cable usb. Nuestra grabación empezará a sonar. Si hemos grabado los 20 segundos, el sonido volverá a empezar unos momentos después de que haya acabado.

 

Conclusión

En este proyecto hemos aprendido a controlar un dispositivo electrónico mediante un optoacoplador conectando ambos lados de un pulsador. Con ello, hemos reproducido un sonido a intervalos regulares. Pero…, ¿Cómo podríamos incorporar entradas de proyectos anteriores y así controlar el momento en que ha de reproducirse el sonido? ¿Qué otros dispositivos electrónicos tenemos por casa que podamos controlar con nuestro Arduino?

 

 

Espero que os haya gustado.

Un saludo y muchas gracias por leer este artículo.  ^_^

 

Referencias

– Artículo basado en el capítulo “Project 15 – Hacking Buttons” del libro “Arduino Projects Book” distribuido por Arduino.cc junto con su “The Arduino Starter Kit“.

– Más información sobre optoacopladores en Wikipedia: https://es.wikipedia.org/wiki/Optoacoplador

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s