Tabla de contenido:
- Paso 1: mira el video completo
- Paso 2: ACTUALIZACIÓN IMPORTANTE [16/7/18]
- Paso 3: ingredientes:
- Paso 4: Descargas
- Paso 5: Configuración del HC-06
- Paso 6: El circuito incompleto para la prueba
- Paso 7: Instalación de Amarino y Amarino Toolkit
- Paso 8: configuración de Bluetooth
- Paso 9: Amarino
- Paso 10: omitir el código
- Paso 11: Asignación de datos del acelerómetro
- Paso 12: mapeo de los datos del acelerómetro
- Paso 13: ¡Hora del circuito
- Paso 14: Configuración del entrenador
- Paso 15: Conclusión
Video: Controle su avión RC con el acelerómetro de su teléfono: 15 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
¿Alguna vez ha querido controlar su avión RC mediante la inclinación de un objeto? Siempre tuve la idea en el fondo de mi cabeza, pero nunca la perseguí hasta la semana pasada. Mis pensamientos iniciales fueron usar un acelerómetro de triple eje, pero luego tuve una idea…
La mayoría de ustedes tiene teléfonos inteligentes, ¿verdad? Y otra gran mayoría de ustedes, muchachos electrónicos, usan Androids debido a su flexibilidad. Quiero decir, me encanta el iPhone, pero no es tan versátil en lo que respecta a conectarlo a través de Bluetooth o cableado a un Arduino u otro microcontrolador. Entonces, ¿por qué no solo el acelerómetro del teléfono? Así que tomé la idea y la seguí. ¡Dos semanas después les presento este proyecto!
Lo sentimos, usuarios de IOS, este proyecto solo pertenece a usuarios de Android.
Ahora bien, este proyecto no tiene control sobre el timón o el acelerador. Si nota que agregué un código para que use un potenciómetro en el pin A1 para controlar el acelerador, aunque yo mismo no lo usaré. Solo voy a usar el acelerador de mi transmisor.
Si desea completar este proyecto, le sugiero que vea el video completo antes de comenzar a trabajar. Las habilidades electrónicas requeridas para este proyecto son mínimas, pero la parte difícil es trabajar con el código. Así que toma tu soldador y Arduino y ponte en marcha.
Costo del proyecto: (gratis, bajo, medio, arriba, ¿en serio?)
Dificultad del proyecto: (Ventoso, Fácil, Medio, Difícil, Experto, Maestro)
Tiempo del proyecto: (Más de una taza de café, mediana, más de una taza de café, varios días)
¡A continuación se muestra un vuelo rápido que tuve antes cuando hacía un poco de viento!
Paso 1: mira el video completo
El video y el texto cubren prácticamente lo mismo, excepto que el texto no incluye el proceso paso a paso para construir el caso del proyecto y conectar todo. El texto analfabeta un poco más algunos de los códigos involucrados.
Paso 2: ACTUALIZACIÓN IMPORTANTE [16/7/18]
De hecho, comencé a hacer este proyecto unos años después y tuve que volver a esto para obtener información: D
De todos modos, descubrí que hay un pequeño error con el código, y te mostraré cómo solucionarlo en solo unos segundos. Si descarga el código, no se compilará. Debes entrar y cambiar una pequeña línea.
Cuando compila, la línea 20 le da un error.
int ppm [chanAmount];
Simplemente cámbielo a:
int ppm [2];
¡Y ahí tienes! Disfruta del resto del tutorial, y si hiciste este proyecto, desplázate hacia abajo hasta la parte inferior del i'ble y haz clic en el botón "Lo logré" y sube una imagen.
Paso 3: ingredientes:
¿Qué necesita toda buena receta? Ingredientes Desafortunadamente, es posible que deba ir a otro lugar que no sea el supermercado de la esquina para comprarlos.
Ingredientes:
- Teléfono Android
- Arduino (Uno, Nano, Micro, realmente no importa)
- Fuente de energía para Arduino. Voy a usar una pequeña LiPo de 500 mAh de 2 celdas.
- Módulo Bluetooth HC - 05 o HC-06
- Placa de conexión FTDI (se puede hacer con Arduino, pero no te mostraré cómo)
- Enchufe de audio mono macho de 3,5 mm. ¡Un conector estéreo NO funcionará! ¡He intentado!
- 2x LED y resistencias correspondientes
- Recinto del proyecto
- Cable de 2 núcleos (el cable de altavoz funciona muy bien o un cable USB largo)
- Cinta aislante o termocontraíble
- Encabezados de clavija hembra (para el escudo Arduino si elige hacer uno)
- Placa de rendimiento (para Arduino Shield si decide hacer una.
Instrumentos:
- Soldador
- Pelacables
- Tijeras
- Taladrar con varias brocas
- Pistola de silicona
Paso 4: Descargas
Si desea descargar un archivo.zip de todo lo que necesitará para este i'ble, puede encontrarlo aquí. De lo contrario, lea a continuación.
En primer lugar, debe descargar la aplicación Amarino y el kit de herramientas Amarino y ponerlo en su teléfono. Puede hacer esto con una micro SD o simplemente usar su sitio web de alojamiento de archivos favorito, como Google Drive.
En segundo lugar, debe descargar la biblioteca MeetAndroid para el IDE de Arduino. Para instalar la biblioteca, siga los pasos cuidadosamente.
PARA PC:
- Cierre el IDE de Arduino.
- Descomprima la carpeta MeetAndroid. Ahora debería tener una carpeta MeetAndroid_4 descomprimida. Abra esta carpeta y corte la carpeta dentro llamada MeetAndroid.
- Navegue a C: / Archivos de programa (x86) Arduino / libraries y péguelo en MeetAndroid. Si hizo todo correctamente, debería verse como la primera imagen.
- Vuelva a abrir el IDE de Arduino y debería ver en las bibliotecas en 'Contribuido' la biblioteca MeetAndroid.
PARA MAC
- Cierre el IDE de Arduino.
- Descomprime la carpeta MeetAndroid. Ahora debería descomprimir la carpeta MeetAndroid_4. Abra esta carpeta y copie la carpeta dentro llamada MeetAndroid.
- Navegue a la aplicación Arduino, haga clic con el botón derecho del mouse en mostrar el contenido del paquete y luego en Contenido / Java / bibliotecas y péguelo en la carpeta MeetAndroid.
- Vuelva a abrir el IDE de Arduino y debería ver en las bibliotecas en 'Contribuido' la biblioteca MeetAndroid.
Por último, descargue mis dos bocetos de Arduino que se adjuntan al final de este paso (incluidos en el.zip).
Paso 5: Configuración del HC-06
Su módulo Bluetooth HC-06 no viene listo para usar en este proyecto. Necesitamos cambiar solo una cosa simple: la velocidad en baudios. Dependiendo de a quién le compre, el suyo puede configurarse a diferentes velocidades en baudios. Conseguí dos HC-06 de dos vendedores diferentes, y cada uno funcionaba a una velocidad de transmisión diferente. Necesitamos cambiarlo a 115200 bits por segundo. Realice las siguientes conexiones:
HC-06 ------- Tablero de conexiones FTDI
| -------------- |
TIERRA ----- TIERRA
VCC ------ 3,3 V
TX -------- RX (o DRX)
RX -------- TX (o DTX)
- Conecte la placa de conexiones FTDI a su computadora.
- Abra el IDE de Arduino. Seleccione el puerto com que esté disponible. (asegúrese de que no haya ningún Arduino ni ningún otro dispositivo conectado a la computadora).
- Abra Serial Monitor (¡no necesita código!)
- Seleccione 9600 para la velocidad en baudios en la parte inferior derecha de la ventana com. Escriba "AT" (TIENE que ser mayúsculas) y presione enviar. Si no recuperas nada, está bien. Esto significa que su dispositivo está configurado a una velocidad en baudios diferente. Pruebe una velocidad en baudios de 115200 y escriba "AT". Si aún no obtiene nada, pruebe todas y cada una de las velocidades en baudios y escriba "AT" en todas hasta que obtenga una respuesta. Si no obtiene una respuesta, lo más probable es que no haya conectado correctamente el HC-06. Verifique las conexiones.
- Si obtiene la respuesta "OK", ¡genial! Si obtiene esa respuesta en cualquier otra velocidad en baudios que no sea 115200, debe cambiarla a 115200. Para hacer esto, escriba "AT + BUAD8". Obtendrá la respuesta "OK115200". Tendrá que cambiar la velocidad en baudios a 115200 para continuar hablando con Bluetooth. Luego puede hacer cosas como cambiar el nombre escribiendo "AT + NAMERANDOM" al azar siendo el nombre que desea. Ahora puede cerrar el monitor en serie.
Paso 6: El circuito incompleto para la prueba
Este circuito es bastante simple. Necesita alimentar el Arduino (a través de USB ya que vamos a necesitar cargar algunas cosas en él), luego conectar el HC-06. Simplemente conecte, siga las conexiones a continuación.
HC-05/6 --------- Arduino
|=============|
TIERRA ------------ TIERRA
VCC ------------- 5v
TX -------------- RX
RX -------------- TX
Paso 7: Instalación de Amarino y Amarino Toolkit
Ya debería haber descargado y transferido su aplicación Amarino y su kit de herramientas a su teléfono. Pero antes de instalarlo, debe cambiar una configuración en su teléfono. Su teléfono no le permitirá instalar la aplicación al principio porque no es una aplicación certificada de la tienda de juegos de Android. Por lo tanto, tendremos que permitir que el teléfono instale aplicaciones no certificadas. Esto es muy sencillo.
- Navegue a Configuración / Seguridad y desplácese hacia abajo. Debería ver un cuadro que dice Fuentes desconocidas y un pequeño cuadro al lado. Toque la casilla y habilite. Aparecerá un cuadro de diálogo que le indicará lo arriesgado que es esto; suena bien ¿verdad? Así que toca ese botón Aceptar. Vea las imágenes 1, 2 y 3.
- Ahora puede abrir su aplicación Amarino y seguir las instrucciones en pantalla. No es demasiado difícil, solo dale a sí.
- Instale Amarino Toolkit. Tampoco es demasiado difícil.
Paso 8: configuración de Bluetooth
Con su proyecto encendido (el chip Bluetooth está encendido) busque la configuración de Bluetooth de su teléfono. Necesita emparejar su teléfono con el chip Bluetooth. Toque buscar dispositivos y su dispositivo debería aparecer como HC-05 o HC-06 a menos que lo haya nombrado antes. Le pedirá un número PIN y será 1234. (Sé que soy un genio para hackear el dispositivo y encontrar la contraseña ultrasecreta). Vea las imágenes 1, 2 y 3. Asegúrese de que está emparejado con el dispositivo y está listo para el siguiente paso. NOTA: ¡la luz del dispositivo Bluetooth no se iluminará de forma fija cuando se empareje con su teléfono! Descubrí que en mi teléfono tenía que reiniciarlo después de este proceso para que apareciera en la aplicación Amarino, así que adelante, reinicia tu teléfono.
Paso 9: Amarino
Es hora de abrir Amarino. Se le presentarán las notas de la versión y toque Aceptar. Gracias Bonifaz Kaufman por crear esta maravillosa aplicación. Los números a continuación se corresponden con el número de la imagen, p. Ej. paso 1 = imagen 1.
- Pantalla de bienvenida. Toque en "Agregar dispositivo".
- Su dispositivo debería estar ahora en la lista; tócalo. Si no aparece, intente reiniciar su teléfono y asegúrese de que el dispositivo Bluetooth esté conectado al teléfono.
- Ahora debería llegar a esta pantalla. Toca "Conectar". Esto puede tardar unos pocos segundos.
- Si se conecta, la luz del dispositivo Bluetooth se encenderá y verá en la parte superior "Conexiones activas: 1. Ahora toque el nombre del dispositivo y NO desconecte."
- Toca "Mostrar eventos".
- No debería haber eventos. Toca "Agregar evento".
- Aparecerá una lista y querrá seleccionar el acelerómetro. Tenga en cuenta estos otros sensores que están integrados en su teléfono. ¡Pueden ser útiles algún día para un proyecto posterior!
- Aquí hay algunos ajustes para el acelerómetro. Asegúrese de que el control deslizante esté en "muy rápido" y que el visualizador de datos esté en "Texto". Luego toque guardar.
- Si ve números a la derecha del "Sensor de acelerómetro", entonces está bien. Puedes dejar tu teléfono solo ahora. Si no ve los números, mantenga presionado el área gris para que aparezca un menú.
- Seleccione "Forzar habilitación".
- ¡Bingo! ¡Números! Inclina tu teléfono y siente cómo se corresponden los números con el acelerómetro.
- ¡Ahora puede colocar su teléfono en una superficie plana y prepararse para comenzar a codificar!
Paso 10: omitir el código
Entonces, si no quiere ensuciarse las manos con el código y solo desea cargarlo y listo, es posible que tenga un pequeño problema. Solo he usado mi teléfono hasta ahora, así que no sé si los teléfonos de otras personas son iguales. Si descarga la aplicación SensoDuino y hace clic en la pestaña "Sensores integrados", debería poder encontrar su acelerómetro. Si su acelerómetro es un MPU6050, entonces ese es el mismo sensor que tengo, y probablemente no necesite editar el código. Si tiene el mismo sensor, simplemente pruebe con el código cargado en este paso.
Si no es así, probablemente tendrá que seguir los siguientes pasos.
Paso 11: Asignación de datos del acelerómetro
Ahora llegamos a la parte divertida, ¡jugando con el boceto de Arduino! Si su boceto no se compila, vea el último paso de este instructivo.
En este punto, ahora debería tener su Arduino conectado correctamente a su HC-06 y debería tener Amarino enviando números a su Arduino a través de Bluetooth. Verifique dos veces para asegurarse de que el HC-06 todavía esté encuadernado y cargue el siguiente boceto en el Arduino. (Adjunto a este paso).
NOTA: Al cargar bocetos al Arduino, deberá desconectar el TX y el RX del HC-06 del Arduino. El Arduino no se puede cargar mientras RX y TX están conectados a algo.
Después de cargar este boceto en Arduino, abra el monitor serial. Debería ver tres números mezclados separados por un cuadro (□). Ejemplo: [0.01 □ 0.02 □□ 9.21] Los dos primeros números son balanceo y cabeceo. Ni siquiera intenté averiguar cuál era el tercero: D. Su teléfono puede o no ser similar a esto. Para saber qué números están listando y qué números son lanzados son para su teléfono, siga estos pasos.
- Coloque su teléfono sobre una superficie plana. Oriente su teléfono de modo que la cámara / altavoz del oído apunte hacia la izquierda y el micrófono apunte hacia la derecha. (imagen 2).
- Incline el lado izquierdo del teléfono hacia arriba (imagen 3) (a lo largo del eje Z, vea el eje en la imagen 1) a 45 grados. Tenga en cuenta qué número cambia drásticamente en el monitor de serie. Este número será tu rollo.
- Incline el teléfono hacia usted (imagen 4) (a lo largo del eje X, vea el eje en la imagen 1) a 45 grados.. Cualquier número que cambie drásticamente es tono. Grabe esto.
Ahora que sabemos qué dos conjuntos de números son de balanceo y cabeceo, podemos ir y cambiar el código. Echaremos un vistazo a la sección 2.
tono = datos [0];
rollo = datos [1];
Si miró anteriormente en el código, notará que los datos del acelerómetro se colocan en una matriz. La matriz "datos" tiene tres "puntos" llamados "índices" para números, índice 0, índice 1 e índice 2. Ahora que sabe qué números representan el cabeceo y el balanceo, puede asignar el "tono" y el "balanceo" enteros a los números correctos en la matriz. Ejemplo: si el tercer conjunto de números cambió cuando inclinó su teléfono hacia la izquierda / derecha, que es roll, entonces cambiaríamos el código a esto:
rollo = datos [2];
Y es tan simple como eso. Si su teléfono es similar al mío, entonces el primer número será el tono, el segundo número será el rollo y el tercer número será algún otro aspecto de las tres dimensiones.
Paso 12: mapeo de los datos del acelerómetro
Una vez que haya asignado "balanceo y" inclinación "a los números correctos en los datos de la matriz, podemos continuar. Mire la imagen 1 completamente a la izquierda. Estos son los datos sin procesar de su acelerómetro. Pero no podemos usar estos números directamente necesitamos reasignarlos a un valor entre 1000 y 2000 con un punto medio de 1500. Para escalar los números, multiplicaremos "roll" y "pitch" por 1000. Esto eliminará todos los decimales y Danos una resolución decente. Ahora, si miras los números en la segunda columna, puedes ver los números "nuevos". ¡Establezcamos algunos puntos de entrada y salida!
- Incline su teléfono hacia la izquierda 45 grados (ruede) y registre este número.
- Incline su teléfono a la derecha 45 grados (ruede) y registre este número.
- Incline su teléfono hacia adelante 45 grados (inclinación) y registre este número.
- Incline su teléfono hacia atrás 45 grados (inclinación) y registre este número.
Si los dos números son aproximadamente iguales cuando inclinó el teléfono 45 grados en ambas direcciones, puede deshacerse del segundo número y usar el primero. Crea un segundo número tomando el negativo del primer número.
Ejemplo: incline el teléfono 45 grados a la derecha. El número que se muestra para el rollo es 5500. Para el segundo número, utilice -5500. Estos serán nuestros puntos de entrada y salida. No queremos que nuestro TX registre nada más que esos puntos. Luego, necesitamos reasignar esos valores a 1000-2000. En mi caso, -5500 a 5500 fueron los números que obtuve al inclinar mi teléfono 45 grados y al girarlo 45 grados. Entonces utilicé el siguiente código: NOTA: Ahora es el momento de eliminar / * y * / en la sección 4 para habilitar este código. También elimine toda la sección 3.
pitchval = map (paso, -5500, 5500, 1000, 2000) -12;
rollval = mapa (rollo, -5500, 5500, 1000, 2000) + 7;
Ahora, el -12 y el +7 son ajustes para llevar "pitchval" y "rollval" a un centro de 1500. Asegúrese de que su teléfono esté sobre una superficie plana cuando realice estos ajustes. Si su centro no está en 1500, entonces su avión puede desviarse en una dirección aunque tenga su teléfono nivelado.
Necesitamos restringir rollval y pitchval. ¡No queremos que vayan más allá de 2000 o menos de 1000 o las cosas empezarán a estropearse! Entonces escribimos esto…
pitchval = restringir (pitchval, 1000, 2000);
rollval = restringir (rollval, 1000, 2000);
Lo último que debemos hacer con estos números es asegurarnos de que se correspondan correctamente con la forma en que inclinamos nuestro teléfono. Verifique si su teléfono está boca arriba con su cámara a la izquierda y el micrófono a la derecha.
- Cuando mueva su teléfono hacia la izquierda, el valor de rollval debería disminuir a 1000.
- Cuando gire a la derecha, debería aumentar a 2000.
- Cuando inclina su teléfono hacia atrás, el valor de tono debería disminuir a 1000.
- Cuando lanza su teléfono hacia adelante, debería aumentar a 2000.
- Ambos centros deben estar en 1500 cuando coloque su teléfono en una superficie plana.
Si cuando mueves tu teléfono hacia la izquierda y el valor de rollo aumenta en lugar de disminuir, cambia los 1000 por los que multiplicaste "rollo" a -1000 (en la sección 2). Lo mismo ocurre con el "tono" si los números están invertidos.
Código de ejemplo para la fijación del rollo en el ejemplo anterior.
tono = (tono * -1000); // multiplica por 1000 para eliminar los decimales
rollo = (rollo * -1000);
Entonces, si todo está funcionando bien, ¡podemos agregar esto al código final!
- Abra el boceto ReadRawAccel. Copie todo lo que esté debajo del creador de page1.
- Abra el boceto TiltTX_Final. Desplácese hasta la parte inferior donde dice "pegue la página 1 aquí" y reemplace todo el código debajo.
- Sube el boceto de TiltTX_Final a tu arduino.
Paso 13: ¡Hora del circuito
Ahora que hemos terminado con la parte difícil es el momento de hacer el circuito. Puede optar por no hacer un escudo para ahorrar tiempo y piezas, pero siempre me gusta hacer mis proyectos con escudos en caso de que necesite usar ese Arduino con otro proyecto. Para este proyecto usaré mi Arduino Nano porque quiero que todo esto quepa en una pequeña caja. Pero podrías usar cualquier otro Arduino, desde un Mega hasta un LilyPad. ¡Así que estudie el esquema, mire el video y comience a soldar! No publicaré toda la imagen aquí porque te muestro paso a paso cómo hacerlo en el video.
Paso 14: Configuración del entrenador
Ahora que ha terminado con el circuito, enciéndalo, conéctelo a su teléfono y enchufe el conector mono en el puerto de entrenamiento en la parte posterior de la radio. Establezca el multiplicador en 1,3 y coloque su teléfono sobre una superficie plana. Luego calibre.
Tenga en cuenta que el canal 0 es el acelerador, el canal 1 es el balanceo y el canal 2 es el tono.
Si desea cambiarlos, ingrese al código aquí:
ppm [0] = acelerador;
ppm [1] = valor de rollo; ppm [2] = valor de tono;
Paso 15: Conclusión
Algunas personas han tenido el problema de que el código no se compila. Por qué no lo sé porque funciona bien para mí en mis dos plataformas, pero si recibe el mensaje de error (error no definido en este ámbito), entonces necesita colocar la línea 1 después del bucle de error nulo.
1. MeetAndroid meetAndroid (error); // Lo del bluetooth de Android. No toques this.void error (bandera uint8_t, valores uint8_t) // más cosas de bluetooth. {Serial.print ("Error:"); Serial.println (bandera); }
Cuando termines, debería verse así:
error de vacío (bandera uint8_t, valores uint8_t) // más cosas de bluetooth.
{Serial.print ("Error:"); Serial.println (bandera); } MeetAndroid meetAndroid (error); // Lo del bluetooth de Android. No toques esto.
Realmente espero que hayas encontrado este instructivo interesante y fresco. Traté de asegurarme de que sea fácil de seguir. Si se confunde con algo que el video entra en un poco más de detalle que el instructivo. Si tiene algún problema, comuníquese conmigo y estaré encantado de ayudarlo siempre que su pregunta sea relevante. Por favor, vote este instructivo y publique una imagen a continuación para su réplica, y si hizo un video, ¡publique un enlace! ¡Asegúrate de dejar comentarios a continuación!
HavocRC, ~ AJ
Recomendado:
¡Controle el diseño de su tren modelo con su teléfono móvil !: 11 pasos (con imágenes)
¡Controle el diseño de su tren modelo con su teléfono móvil !: Controlar el diseño de un tren modelo con un acelerador con cable y controladores de desvío puede ser un buen comienzo para los principiantes, pero plantean un problema de no portabilidad. Además, los controladores inalámbricos que vienen en el mercado pueden controlar solo algunas locomotoras
Control remoto inalámbrico con módulo NRF24L01 de 2.4Ghz con Arduino - Receptor transmisor de 4 canales / 6 canales Nrf24l01 para Quadcopter - Helicóptero Rc - Avión Rc usando Arduino: 5 pasos (con imágenes)
Control remoto inalámbrico con módulo NRF24L01 de 2,4 Ghz con Arduino | Receptor transmisor de 4 canales / 6 canales Nrf24l01 para Quadcopter | Helicóptero Rc | Avión Rc usando Arduino: Para operar un coche Rc | Quadcopter | Drone | Avión RC | Barco RC, siempre necesitamos un receptor y transmisor, supongamos que para RC QUADCOPTER necesitamos un transmisor y receptor de 6 canales y ese tipo de TX y RX es demasiado costoso, así que haremos uno en nuestro
Adaptar un auricular de teléfono a un teléfono celular: 7 pasos (con imágenes)
Adaptación de un auricular telefónico a un teléfono celular: por Bill Reeve ([email protected]) Adaptado para instructables por Mouse ([email protected]) Exención de responsabilidad: el procedimiento descrito aquí puede no funcionar para usted; ese es un riesgo que tiene tomar. Si no funciona, o si rompes algo, no es m
Controle Arduino usando un teléfono inteligente a través de USB con la aplicación Blynk: 7 pasos (con imágenes)
Controle Arduino usando un teléfono inteligente a través de USB con la aplicación Blynk: En este tutorial, aprenderemos cómo usar la aplicación Blynk y Arduino para controlar la lámpara, la combinación será a través del puerto serie USB. El propósito de este instructivo es mostrar el La solución más simple: controlar remotamente su Arduino o c
Controle los electrodomésticos desde su teléfono inteligente con la aplicación Blynk y Raspberry Pi: 5 pasos (con imágenes)
Controle los electrodomésticos desde su teléfono inteligente con la aplicación Blynk y Raspberry Pi: en este proyecto, aprenderemos a usar la aplicación Blynk y Raspberry Pi 3 para controlar electrodomésticos (cafetera, lámpara, cortina de ventana y más … Componentes de hardware: Raspberry Pi 3 Relay Lamp Breadboard Wires Aplicaciones de software: Blynk A