Tabla de contenido:
- Paso 1: Paso 1: Componentes
- Paso 2: Paso 2: Conecte el servomotor
- Paso 3: Paso 3: un poco de comprensión
- Paso 4: Paso 4: Agregar código para probar el servomotor
- Paso 5: Paso 5: Preparación para la comunicación
- Paso 6: Paso 6: Prueba de la comunicación
- Paso 7: Paso 7: Agregar los comandos
- Paso 8: Paso 8: Conecte el dispositivo a sus cortinas (no es necesario)
Video: Servo motor de rotación continua (CRS) con control de telegrama: 8 pasos
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
En este instructivo, le enseñaré cómo controlar un CRS a través de un telegrama. Para este instructable, necesitará un par de cosas. Trabajaré en un NodeMCU 1.0 (Módulo ESP-12E). Esto puede funcionar en otros Bords Arduino, solo necesita encontrar las unidades adecuadas para ello.
El siguiente fue el entorno de configuración para el módulo ESP-12E:
- Windows 10
- Arduino IE 1.8.7 (Tienda Windows 1.8.15.0)
Puede encontrar una guía sobre cómo instalar los controladores y los archivos principales del módulo ESP-12E aquí:
Una vez que hayas hecho esto. ¡Estamos listos para empezar!
Paso 1: Paso 1: Componentes
Para este tutorial necesitará algunos componentes:
- Módulo ESP12-E (ESP8266)
- Servomotor de rotación continua (este es el que usé)
- Cable micro USB
- Una red wifi
- Aplicación de Telegram
- Un Botfather Bot (no te preocupes, llegaremos allí)
Paso 2: Paso 2: Conecte el servomotor
Siga este esquema para conectar el servomotor.
- Negro: GND (tierra)
- Rojo: 3,3 V o 5 V (alimentación)
- Amarillo o blanco: salida digital (señal)
Entonces, si está usando el mismo servomotor que usé y tiene una placa arduino con una salida de voltaje más alto (5V máx.), Puede colocar el cable de alimentación allí. Solo significará que el servomotor producirá más torque. De cualquier manera, 3.3V o 5V están bien.
Paso 3: Paso 3: un poco de comprensión
Antes de comenzar a probar el código y ver si funciona, hay algo que debe comprender sobre este servomotor. Dado que no es un servomotor convencional, que gira en ángulos específicos, el código que debe usar es un poco diferente.
No recomiendo usar el servo a pleno torque, ya que genera mucho calor y puede consumir gran parte de la vida que tiene el producto. Intente permanecer en el área de [60, 120].
bucle vacío {
myservo.write (90); // esto significa que no hay movimiento, el servomotor está parado delay (1000); myservo.write (0); // esto significa un retardo de movimiento en sentido antihorario a toda velocidad (1000); myservo.write (180); // esto significa un retraso de movimiento en el sentido de las agujas del reloj a toda velocidad (1000); }
Paso 4: Paso 4: Agregar código para probar el servomotor
#incluir
Servo myservo; configuración vacía () {myservo.attach (D5); // adjuntar el servo en el pin D5)} void loop () {myservo.write (85); // gira el motor en sentido antihorario a baja velocidad (1000); myservo.write (120); retraso (1000); myservo.write (90); retraso (5000); }
Paso 5: Paso 5: Preparación para la comunicación
Para poder comunicarse con su Arduino, necesitará arreglar un par de cosas. Son bastante fáciles. Dividiremos estas tareas en dos pequeñas secciones.
El bot
- Instale Telegram en su teléfono móvil.
- Crea una cuenta en Telegram.
- Busque el usuario 'Botfather'.
- Crea un nuevo bot usando los comandos que muestra (guarda la clave que te da).
Las tareas de Arduino
- Abra Arduino IE.
- Vaya al 'Administrador de bibliotecas'.
- Agregue la biblioteca 'Universal Telegrambot'.
-
Agregue la biblioteca 'ArduinoJson'.
- No agregue la beta
- Agregue la última compilación 5.x que existe.
Paso 6: Paso 6: Prueba de la comunicación
Casi estámos allí.
- Abra 'echobot' de la biblioteca universaltelegrambot> esp8266.
- Cambie las credenciales de wifi para que coincidan con su red en el lugar donde se encuentra.
- Cambie el BOTtoken que le dio Botfather.
- Agregue esta línea de código en el bucle for que está en el bucle void ();
Serial.println (bot.messages .text);
Ahora estamos listos para probar.
Sube este código a tu Arduino. Verifique en el monitor serial si su NodeMCU se está conectando a su red wifi. Una vez que vea que está conectado, envíe un mensaje a su bot. Debería devolverle exactamente el mismo mensaje.
Paso 7: Paso 7: Agregar los comandos
¡Así que funcionó! Tenemos una conexión entre dispositivos. El siguiente paso es sumar cosas. Entonces vamos a agregar comandos al código de echobot existente. Puede ser una buena idea poner el siguiente código en lugar del último código que le di. Así que evitaremos que tengamos un bot que se comporte como un loro.
Este siguiente fragmento de código debe estar en el bucle for que recorre los mensajes nuevos. Dependiendo de cómo coloque el servomotor, es posible que desee intercambiar los comandos 'Abrir' y 'Cerrar'. Sube esto a tu esp8266 y comprueba si funciona.
// el comando que quieres
if (bot.messages .text == "Abrir") {
// La respuesta que te dará tu bot bot.sendMessage (bot.messages .chat_id, "Estoy abriendo las cortinas por ti.");
// que hará la placa arduino
myservo.write (80); // el servomotor gira en sentido antihorario para abrir las cortinas
}
if (bot.messages .text == "Stop") {// La respuesta que te dará tu bot bot.sendMessage (bot.messages .chat_id, "Deteniendo las cortinas."); // lo que hará la placa arduino myservo.write (90); // el servomotor deja de girar}
if (bot.messages .text == "Close") {// La respuesta que te dará tu bot bot.sendMessage (bot.messages .chat_id, "Estoy cerrando las cortinas por ti".); // lo que hará la placa arduino myservo.write (80); // el servomotor gira en el sentido de las agujas del reloj para cerrar las cortinas}
Paso 8: Paso 8: Conecte el dispositivo a sus cortinas (no es necesario)
¡Yeeeey, has terminado!
Las instrucciones eran sobre cómo conectar un Telegrambot a su Arduino para poder controlarlo desde la distancia. Pero hice esta configuración especial para poder abrir las cortinas de mi estudio sin tener que abrirlas físicamente. Entonces, si desea hacer lo mismo que yo, el último paso es conectar nuestro pequeño dispositivo a sus cortinas y listo.