IoT. Encendido de dos focos mediante comandos de voz utilizando Arduino.
PROCESAMIENTO DE LOS COMANDOS DE VOZ EN LA APLICACIÓN IoTBys
Los comandos
de voz serán receptados a través de un smartphone con sistema operativo Android
utilizando la aplicación IoTBoys (Ver figura 6) que cumple la función de
detectar el comando de voz y procesarlo mediante un convertidor analógico
digital incorporado en el teléfono, esto se lleva a cabo debido a que se van ha
enviar datos en ondas eléctricas.
SIMULACIÓN
La simulación del sistema de comunicación se lo
realiza en el software Proteus usando la tarjeta de desarrollo Arduino y el
módulo Bluetooth HC-05. En este caso se simula directamente con dos módulos
bluetooth debido a que el software Proteus no soporta la simulación de un
smartphone.
En la figura 7 se observa cómo se
vera el entorno del proyecto ya aplicado en la vida real, en donde el modulo
HC1 actúa como el smartphone que capta la señal de voz y la procesa hasta
transmitir al módulo Bluetooth HC-05 que recibirá los datos y envía la
información al Arduino para que sea ejecutad a la acción correspondiente.
En la figura 8 se muestra como es la
recepción de los comandos de voz, esto es simulado mediante un terminal virtual
en donde indica los comandos que se ejecutara para prender y apagar el foco
led.
En la figura 9 se muestra la
recepción del comando para prender el led que es simulado presionando la tecla
s. También se puede observar que efectivamente el led se enciende.
En la figura 10 se muestra
la recepción del comando para apagar el led que es simulado presionando la
tecla w.
IMPLEMENTACION
1.
REALIZAR CODIGO EN EL SOFTWARE
ARDUINO IDE
Para
realizar el código se debe tener en cuenta que necesitamos dos salidas que en
este caso son RED y YELLOW, además la entrada de datos va ha ser de forma
serial teniendo en cuenta que se va ha transmitir la voz desde el teléfono, una
vez que este se haya muestreado y codificado. Para ejecutar alguna acción se
hace una comparación utilizando la instrucción IF, entre la palabra declarada
en el código y los datos que ingresen por el puerto serial.
String
voice;
int
RED = 2;
int
YELLOW = 3;
void
RedOn(){
digitalWrite
(RED, LOW);
}
void
RedOff(){
digitalWrite
(RED, HIGH);
}
void
YellowOn(){
digitalWrite
(YELLOW, LOW);
}
void
YellowOff(){
digitalWrite
(YELLOW, HIGH);
}
void
allon() {
digitalWrite
(RED, LOW);
digitalWrite
(YELLOW, LOW);
}
void
alloff() {
digitalWrite
(RED, HIGH);
digitalWrite
(YELLOW, HIGH);
}
void
setup() {
Serial.begin(9600);
pinMode(RED,
OUTPUT);
pinMode(YELLOW,
OUTPUT);
digitalWrite
(RED, HIGH);
digitalWrite
(YELLOW, HIGH);
}
void
loop() {
while(Serial.available())
{
delay(10);
char
c=Serial.read();
if(c=='#')
{
break;
}
voice
+= c;
}
if
(voice.length() > 0) {
Serial.println(voice);
if
(voice == "prender" || voice== "prender todo")
{
allon()
;
}
else
if (voice == "Apagar" || voice=="Apagar todo")
{
alloff()
;
}
else
if(voice =="sala" || voice =="prender sala"){
RedOn();
}
else
if(voice =="Apagar sala"){
RedOff();
}
else
if(voice =="dormitorio" || voice =="prender dormitorio"){
YellowOn();
}
else
if(voice =="Apagar dormitorio"){
YellowOff();
}
voice="";
}
}
2. CONECIONES DE DISPOSITIVOS BLUETOOTH Y MODULO RELAY CON EL ARDUINO
En la figura 11 se observa
como se conecta el Arduino con el bluetooth y el modulo relay, se debe tener en
cuenta que el pin de recepción RX en el Arduino va conectado al pin TX del
Bluetooth HC-05.
3.
PRUEBA DE FUNCIONAMIENTO
Una vez se haya compilado el codigo en el Arduino se procede a realizar
las pruebas, en las cuales se verifico el correcto funcionamiento del proyecto.
CONCLUSIONES Y RECOMENDACIONES
Ø Se estudio cual es el proceso que realiza la tecnología
Bluetooth para establecer una comunicación entre dispositivos.
Ø La
simulación se realizo en el software Proteus utilizando la tarjeta de
desarrollo Ardunio Uno y los módulos HC-05
Ø De
acuerdo con el estudio realizado se concluye que Bluetooth puede considerarse
una tecnología para comunicaciones inalámbricas pequeñas.
Ø Los
protocolos están normalizados en todos los dispositivos Bluetooth es por eso
que es compatible con todas las marcas que hay en el mercado.
Ø Bluetooth
es un estándar muy flexible al momento de implementarlo ya que puede trabajar
con varias topologías de red.
Ø Se debe emparejar los dispositivos antes de
empezar una comunicación para que puedan transportar datos.
Ø Se debe tener en cuenta que hay diferencia
entre mayúsculas y minúsculas, por lo que es necesario configurar este apartado
en el código de Arduino.
Ø Utilizar una versión de Android 8 o inferior
debido a que la aplicación IoT Boys no es compatible con versiones superiores.
Ø Se pudo realizar el prendido y apagado de un
foco mediante instrucciones de voz ejecutadas por un smarphone.
BIBLIOGRAFIA
Ø [1]Goodrich,
Ryan. "The Process Used by Bluetooth to Create a Connection."
Synonym,
https://classroom.synonym.com/process-used-bluetooth-create-connection-15175.html.
Accessed 27 November 2018.
Ø [2] Jean-François Pillou.
(2011). Redes Inalámbricas. 3/12/2018, de CCM Sitio web:
https://es.ccm.net/contents/818-redes-inalambricas
Ø Khanna, A., & Ranjan, P. (2015,
April). Solar-powered android-based speed control of DC motor via secure
bluetooth. In Communication Systems and Network Technologies (CSNT), 2015 Fifth
International Conference on (pp. 1244-1249). IEEE.
Ø [4]Lletí, F. B. (2015). Comunicación
Bluetooth entre Arduino UNO y Android aplicado a un detector de mentiras
(Doctoral dissertation).
Ø [5]Vega, J. I., Salgado,
G., Lagos, M. A., Tapia, V. N., & Sánchez, F. J. (2014). Monitoreo de
temperatura y humedad en un campo de cultivo utilizando el protocolo bluetooth.
Centro de Ciencias Aplicadas y Desarrollo Tecnológico, 29, 2.
Ø (2018).
Retrieved from http://www2.elo.utfsm.cl/~elo341/ComDig06_HC.pdf?fbclid=IwAR2E1EHeQxR8hdkb_kZaYrRroAs_awHbJWYKfSQ7j5NfdK_vc2psDQ6cjWI
Ø [3] Configuración del módulo
bluetooth HC-05 usando comandos AT. (2018). Retrieved from
https://naylampmechatronics.com/blog/24_configuracion-del-modulo-bluetooth-hc-05-usa.html?fbclid=IwAR1R_p7hf8oQ0BN9SIpz_amioaGKhoWwlL9JAQkXionv8dMmpELwQPeje4s
ANEXOS:
Comments
Post a Comment