Control de luces por comandos de voz y teclas


En este tutorial veremos como crear un dispositivo de control de luces por comandos de voz, con un módulo de geeetech, diseñado para tal fin. Veremos como armar, este dispositivo en un pcb fabricado por PCBWay. Analizaremos los comandos hexadecimales, para su configuración, y el código fuente. Finalmente vamos a probar su funcionamiento.


Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas

SUSCRIBETE A NUESTRO CANAL DE YOUTUBE, TUTORIALES GRATIS


Componentes electrónicos

Arduino Nano

El Arduino Nano es una placa pequeña, completa y compatible con la placa de pruebas basada en el ATmega328 (Arduino Nano 3.x). Tiene más o menos la misma funcionalidad del Arduino Duemilanove, pero en un paquete diferente. Solo carece de un conector de alimentación de CC y funciona con un cable USB Mini-B en lugar de uno estándar.

Microcontrolador ATmega328
Arquitectura AVR
Tensión de funcionamiento 5 V
Memoria flash 32 KB de los cuales 2 KB utiliza el gestor de arranque
SRAM 2 KB
Velocidad de reloj 16 MHz
Pines analógicos IN 8
EEPROM 1 KB
Corriente CC por pines de E / S 40 mA (pines de E / S)
Voltaje de entrada 7-12 V
Pines de E / S digitales 22 (6 de los cuales son PWM)
Salida PWM 6
El consumo de energía 19 mA
Tamaño de PCB 18 x 45 mm
Peso 7 g

Diagrama de pines


Módulo de reconocimiento de voz

modulo_voice

Comando del módulo de reconocimiento de voz

  • 0x00–>Entra en modo de espera de algún comando
  • 0x01 –>Eliminar las instrucciones del grupo 1
  • 0x02 –>Eliminar las instrucciones del grupo 2
  • 0x03 –>Eliminar las instrucciones del grupo 3
  • 0x04–>Eliminar las instrucciones de los 3 grupos
  • 0x11–>Comienza a grabar instrucciones del grupo 1
  • 0x12–>Comienza a grabar instrucciones del grupo 2
  • 0x13–>Comienza a grabar instrucciones del grupo 3
  • 0x21–>Importar grupo 1 para la utilización de los comandos de voz
  • 0x22–>Importar grupo 2 para la utilización de los comandos de voz
  • 0x23–>Importar grupo 3 para la utilización de los comandos de voz
  • 0x24–>Consulta los grupos grabados
  • 0x31–>Cambia la velocidad a 2400 bps
  • 0x32–>Cambia la velocidad a 4800 bps
  • 0x33–>Cambia la velocidad a 9600 bps
  • 0x34–>Cambia la velocidad a 19200 bps
  • 0x35–>Cambia la velocidad a 38400bps
  • 0x36–>Cambia a modo común
  • 0x37–>Cambia a modo compacto
  • 0xbb–>Información de la versión del módulo

Parámetros

  • Voltaje: 4.5-5.5V
  • Corriente: <40mA
  • Interfaz digital: 5V TTL
  • Interfaz análoga: conector del micrófono mono-canal de 3.5mm + interfaz pin del micrófono
  • Tamaño: 30m mx 47.5m m

KIT

Este kit está compuesto de un módulo de reconocimiento de voz, un módulo usb serial, cables y un micrófono.

voice


Pines macho


Ocho Pulsadores


Pines Hembra


Cables dupont hembra macho


Micrófono Electret


Módulo relay de 8 canales

Características

Permite controlar el encendido/apagado de equipos de alta potencia (electrodomésticos). Funciona perfectamente con Arduino, Pic o cualquier otro sistema digital.

Dentro de la gran variedad de proyectos que podemos realizar con Arduino, podemos llegar a desear controlar componentes de alto voltaje o alto amperaje, como bombillas o bombas de agua, los cuales no pueden ser manejados directamente con Arduino. En estos casos es necesario utilizar Relays o Reles, estos dispositivos permiten controlar cargas de alto voltaje con una señal pequeña.

El modulo posee 8 Relays de alta calidad, capaces de manejar cargas de hasta 250V/10A. Cada canal posee aislamiento eléctrico por medio de un optoacoplador y un led indicador de estado. Su diseño facilita el trabajo con Arduino, al igual que con muchos otros sistemas como Raspberry Pi, ESP8266 (NodeMCU y Wemos), Teensy y Pic. Este modulo Relay activa la salida normalmente abierta (NO: Normally Open) al recibir un “0” lógico (0 Voltios) y desactiva la salida con un “1” lógico (5 voltios). Para la programación de Arduino y Relays se recomienda el uso de timers con la función “millis()” y de esa forma no utilizar la función “delay” que impide que el sistema continue trabajando mientras se activa/desactiva un relay.

Entre las cargas que se pueden manejar tenemos: bombillas de luz, luminarias, motores AC (220V), motores DC, solenoides, electroválvulas, calentadores de agua y una gran variedad de actuadores más. Se recomienda realizar y verificar las conexiones antes de alimentar el circuito, también es una buena práctica proteger el circuito dentro de un case.

Datos técnicos

8 canales independientes

8 Relevadores (Relays) de 1 polo 2 tiros

El voltaje de la bobina del relé es de 5 VDC

Led indicador para cada canal (enciende cuando la bobina del relé esta activa)

Activado mediante corriente: el circuito de control debe proveer una corriente de 15 a 20 mA

Puede controlado directamente por circuito lógicos

Terminales de conexión de tornillo (clemas)

Terminales de entrada de señal lógica con headers macho de 0.1″.

Puede controlado directamente por circuito lógicos

 

Alimentación y consumo

La forma mas sencilla de alimentar este módulo es desde Vcc y GND de la placa Arduino, manteniendo el Jumper en su lugar, con lo que JD-Vcc = Vcc. Esta conexión tiene dos limitaciones importantes:

Se pierde la aislación eléctrica que brindan los optoacopladores, lo que aumenta la posibilidad de daño al Arduino si hay algún problema con las cargas de los relés.

La corriente consumida por las bobinas de los relés debe ser provista por la placa Arduino. Cada bobina consume unos 90 mA y las cuatro juntas suman 360 mA. Si a esto le sumamos los consumos que pueden tener otras salidas, estamos muy cerca de los 500 mA que puede suministrar un puerto USB. En este caso se debería alimentar al Arduino con una fuente externa, lo que aumenta el limite de corriente a 1 A (en el caso de la Arduino UNO).

La forma mas segura es remover el jumper y alimentar la placa de relés con dos fuentes: la de la placa Arduino conectada a Vcc y una segunda fuente, con el positivo a JD-Vcc y el negativo a GND, sin estar éste unido a la placa Arduino. Esta conexión tiene como ventajas:

Hay completa aislación entre la carga y el Arduino.

Todo el consumo de los relés es tomado de la segunda fuente y no del Arduino o el puerto USB.

Entradas

Las entradas a la placa pueden conectarse directamente a las salidas digitales de la placa Arduino. La única precaución a tener en cuenta es que cuando Arduino arranca al ser alimentado, los pines se configuran como entradas automáticamente y puede ocurrir que, por un brevísimo lapso de tiempo entre el arranque y la correcta configuración de estos pines como salidas, las entradas de control al módulo de relé queden en un estado indeterminado. Esto se puede evitar conectando en cada entrada un pull-up con una resistencia de 10K a Vcc, lo que asegura un estado ALTO durante el arranque.


PCB

Descargar PCB –> control de luces de 8 canales por bluetooth


Circuito


Código fuente

La velocidad del puerto serial está seteada a 9600bps, es esta la velocidad a la cual viene configurado el módulo de reconocimiento de voz.

Con

Serial.write(0xAA);
Serial.write(0x37);

Enviamos el comando serial AA 37 y cambiamos el módulo al modo compacto.

Con

Serial.write(0xAA);
Serial.write(0x21);

Enviamos el comando AA 21 y elegimos el grupo para trabajar en el módulo, recuerden que hay 3 grupos de 5 comandos de voz pero sólo se puede trabajar un grupo a la vez.

color(255,102,0); llamamos a la función color y le pasamos 3 parámetros que serán utilizados para dar la el voltaje a los 3 pines pwm conectados al les pwm.



PROYECTO RECOMENDADO

Deja una respuesta