Paso 2: Preparar el Hardware
El principal problema que enfrenté en el desarrollo de este proyecto estaba procesando la entrada utilizando el Arduino para entender lo que ha dicho el usuario. El usuario, por defecto, puede realizar 2 funciones: para encender o apagar un dispositivo. El código por defecto soporta 4 dispositivos pero puede ser extendido. El programa básicamente encuentra en la oración las palabras clave "on" o "off" y los nombres de los dispositivos y ejecuta esa función. Usted puede controlar hasta 2 dispositivos al mismo tiempo (cada dispositivo o una combinación de "on" y "off"). Usé este método porque le permite decir nada siempre y cuando la oración contiene las palabras clave. Por ejemplo se podría simplemente decir "Encender todas las luces" o incluso "amigo OK, hacer un favor encender todas las luces" y ambas estas frases tendrán el mismo efecto, es decir que se encienden las luces. Usé la función de Arduino string.indexOf("value") para localizar las palabras clave en la oración. He incluido el diagrama del circuito para conectar los LEDs. No se recomienda para conectar todos los 4 LEDs directamente a la Arduino como su salida no es lo suficientemente potente como para manejar los 4 a la vez. Revise la hoja de datos del transistor para saber las configuraciones de pin a veces difieren de un fabricante a otro. Los pines de Arduino son las siguientes:
LED 1 (correspondiente a la luz) = 13
LED 2 (correspondiente al ventilador) = 12
LED 3 (correspondiente al TV) = 8
LED 4 (correspondiente al cargador) = 4
Aquí luz, ventilador, televisión, cargador son las palabras claves necesarias para activar los pines.
EDIT: El circuito ha cambiado un poco según la sugerencia.
El código fue escrito en prisa para no comentar ni hacer el código más fácil de entender. Voy a hacer el código más eficiente y limpio en cuanto tengo algo de tiempo. Cualquier voluntarios sería genial!