Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Almohada Love You

Componentes y suministros

Arduino MKR IoT Bundle
× 1

Aplicaciones y servicios en línea

Telegram

Acerca de este proyecto

Nota:este tutorial podría estar desactualizado, vaya aquí para una versión más actual.

Todos sabemos que estar sin esa persona especial en tu vida puede ser difícil, pero ¿y si pudieras enviar amor y afecto de forma remota a través de Internet con solo abrazar una almohada?

Ahora, realmente no podemos enviar abrazos ... pero lo que podemos enviar es un dulce emoji a través de una aplicación de mensajería, que se activa cuando le das un abrazo a una almohada.

Cuando abrazas la almohada te amo oirá el sonido de un latido procedente del timbre del interior. Dependiendo de la duración de tu abrazo, se enviará un emoji diferente desde un Telegram Bot al chat que elijas.

¡Manténgase en contacto con su ser querido con este dispositivo que se puede abrazar!

En pocas palabras

En este experimento, usaremos papel de aluminio para crear un sensor capacitivo de bricolaje que se usará para detectar abrazos.

Para crear nuestro dispositivo de envío de abrazos, necesitaremos los siguientes componentes:

  • Timbre
  • Papel de aluminio
  • 1 resistencia de 5 M ohmios
  • Protoboard
  • Cables

Objetivos de aprendizaje

  • Presentamos Telegram Bots
  • Gestión de sensores capacitivos
  • Telegram Bots y chats grupales #ProTips
  • Prácticas recomendadas de WiFi #ProTips

Consejos profesionales son pasos útiles pero no estrictamente necesarios que agregan una capa de complejidad al proyecto.

¿Quiere saber más?

Este tutorial es parte de una serie de experimentos que lo familiarizarán con MKR1000 e IoT. Todos los experimentos se pueden construir utilizando los componentes incluidos en el MKR IoT Bundle.

  • Almohada Te Amo
  • Caja de rompecabezas
  • El gato de Pavlov
  • El empollón
  • Comunicador de plantas

Presentamos Telegram Bots

Telegram es una aplicación de mensajería popular tanto para dispositivos móviles como para computadoras de escritorio. ¡Además de permitirnos chatear con nuestros amigos, también nos permite crear prácticos y poderosos chat-bots!

Un chat-bot no es más que un contacto con el que puedes chatear, sino una persona detrás de él, hay una máquina que responde en consecuencia al código que escribiste.

La biblioteca TelegramBot para Arduino nos brinda una manera fácil de implementar la lógica detrás del chat-bot.

Crea tu bot

¡Crear un bot es muy fácil!

Simplemente siga estos sencillos pasos o eche un vistazo a la documentación aquí.

Configurar el tablero

En primer lugar, asegúrese de que tengamos todas las bibliotecas necesarias.

Aquí está la lista de todas las bibliotecas que necesitaremos:

  • WiFi101
  • TelegramBot
  • ArduinoJson
  • Sensor capacitivo

Puede instalarlos fácilmente siguiendo esta sencilla guía.

Para utilizar la API de Telegram, primero debemos cargar los certificados en el MKR1000. ¡Esto se aplica a la mayoría de API y servicios en línea!

Cargue el ejemplo del actualizador de firmware de la biblioteca WiFi101 y agregue api.telegram.org a los dominios.

Si está utilizando Arduino Web Editor, esta función aún no está implementada y debe hacerlo a través del Aplicación de escritorio Arduino.

¡Deja que suceda la magia!

Abra el ejemplo de EchoBot de la biblioteca de TelegramBot, complete sus credenciales de WiFi y el token de API que recibió de BotFather y cárguelo.

Acaba de crear un bot que se hace eco de todos sus mensajes.

EchoBot y Emoji

¡Los emojis están en todas partes! Los usaremos para enviar nuestro cariño y abrazos. Usar el ejemplo de EchoBot es una manera fácil de ver cómo los bots leen tu emoji.

Lamentablemente, la forma en que el bot recibe los emoji no es la misma que se utiliza para enviarlos. Para enviar un emoji, necesitaremos usar UNICODE personajes.

Por ejemplo, para enviar un emoji de corazón usaremos: \ U00002764

Puede ver la lista completa de códigos emoji Unicode aquí. Para crear un bot que responda a un emoji de corazón con otro emoji de corazón, usaremos un código como este:

  void loop () {mensaje m =bot.getUpdates (); // Leer mensajes nuevos if (m.chat_id! =0) {// Verificar si hay actualizaciones Serial.println (m.text); // imprime el mensaje recibido if (m.text =="u2764ufe0f") {// verifica si recibió un emoji de corazón bot.sendMessage (m.chat_id, "\ U00002764"); // Responde al mismo chat con el emoji de corazón}}}  

El resultado será:

Sensor capacitivo

¡Suficiente con Telegram, comencemos a construir nuestro sensor capacitivo de bricolaje!

La biblioteca CapacitiveSensor convierte dos o más pines Arduino en un sensor capacitivo, que puede detectar la capacitancia eléctrica del cuerpo humano. Todo lo que requiere la configuración del sensor es una resistencia de valor medio a alto y un trozo de papel de aluminio.

En su punto más sensible, el sensor comenzará a detectar una mano o un cuerpo a centímetros del sensor y a través de diferentes tipos de materiales . ¡Ocultaremos nuestro sensor dentro de la almohada!

Cargue el boceto de ejemplo, conecte los cables y vea el resultado en la consola:

  #include  CapacitiveSensor foil =CapacitiveSensor (5,4); // Resistencia de 10M entre los pines 5 y 4, el pin 4 es el pin del sensor, agregue un cable o foilvoid setup () {foil.set_CS_AutocaL_Millis (0xFFFFFFFF); // desactivar autocalibrar Serial.begin (9600); } bucle vacío () {inicio largo =milis (); long sensor_value =foil.capacitiveSensor (30); Serial.print (millis () - inicio); // verifica el rendimiento en milisegundos Serial.print ("\ t"); // carácter de tabulación para el espaciado de ventanas de depuración Serial.print (sensor_value); // imprime la salida del sensor Serial.println ("\ t"); // imprimir sensor salida 3 delay (500); // retraso arbitrario para limitar los datos al puerto serie}  

Cableado y resultados

Usaremos sensor_value como umbral para detectar abrazos!

El latido del corazón

Cuanto más te abrazas, más latidos oyes. Cuanto más late el corazón, más amor envías (y también diferentes emojis).

Emularemos el sonido de un latido usando un timbre y algunas líneas simples de código.

  int Buzzer =8; // Pin adjunto al zumbador void setup () {} void loop () {HeartBeat (); retraso (1000); } void HeartBeat () {tono (Buzzer, 31, 200); // tono (Pin, Nota, Duración); retraso (200); tono (Buzzer, 31, 400); retraso (200); noTone (zumbador); retraso (1000); }  

Para un uso más complejo del zumbador y la función de tono, eche un vistazo a los ejemplos del menú desplegable y busque Digital> ToneMelody

#ProTip:ID de chat y chat grupal

Para enviar mensajes, un bot necesita un chat-id.

El ID de chat es el identificador único de un chat entre alguien y un bot. Para que el bot envíe mensajes a una persona específica, primero necesita que esa persona envíe un mensaje de texto al bot y guarde la identificación del chat de ese chat específico.

En este proyecto, el bot responderá solo a la última persona que le envíe un mensaje de texto, sin importar quién sea.

Los bots son públicos, ¡todos pueden enviar mensajes de texto a un Bot!

Si desea incluir el bot en un chat grupal, debe deshabilitar el modo de privacidad permitiendo que el bot lea todos los mensajes; de lo contrario, solo podría detectar comandos que comiencen con /:

#ProTip:prácticas recomendadas de WiFi

El WiFi puede ser complicado. A veces, simplemente se apaga durante unos segundos sin aparentemente ningún motivo. Esto podría ser un problema para su Arduino ya que la mayoría de las veces ejecutamos la función de conexión WiFi solo al comienzo del boceto.

Los servicios en línea también pueden ser complicados. Cuando Arduino envía una solicitud a un servidor (Telegram en este caso), espera una respuesta. Por cientos de razones, una respuesta puede no llegar, manteniendo el Arduino en un bucle infinito.

Para que su proyecto sea más estable, puede agregar un perro guardián.

Un perro guardián es un temporizador que debe actualizarse periódicamente; de ​​lo contrario, reiniciará la placa.

Puede usar estas dos bibliotecas para agregar un perro guardián a su proyecto:

  • Adafruit SleepyDog
  • Adafruit ASF Core // debe descargarse e instalarse manualmente desde Github

El ejemplo de EchoBot se verá así:

  #include  #include  #include  #include  // Inicializa la conexión Wifi al router char ssid [] ="xxxx"; // su red SSID (nombre) char pass [] ="yyyy"; // su clave de red // Inicializar Telegram BOT const char BotToken [] ="xxxx"; Cliente WiFiSSLClient; Bot de TelegramBot (BotToken, cliente); configuración vacía () {Serial.begin (115200); while (! Serial) {} retraso (3000); // intenta conectarse a la red Wifi:Serial.print ("Conectando Wifi:"); Serial.println (ssid); while (WiFi.begin (ssid, pass)! =WL_CONNECTED) {Serial.print ("."); retraso (500); } Serial.println (""); Serial.println ("WiFi conectado"); bot.begin (); Watchdog.enable (10000); // establece el temporizador en 10 segundos} void loop () {Watchdog.reset (); // si no se llama a esta función en 10 segundos, la placa se reiniciará por sí misma message m =bot.getUpdates (); // Leer mensajes nuevos if (m.chat_id! =0) {// Verifica si hay actualizaciones Serial.println (m.text); bot.sendMessage (m.chat_id, m.text); // Responder al mismo chat con el mismo texto} else {Serial.println ("no hay mensaje nuevo"); }}  

Código

Bosquejo completo

Esquemas


Proceso de manufactura

  1. 9 pasos para forjar un cuchillo:todo lo que necesitas saber
  2. ¿Cómo se planifica una lista de materiales (BOM)?
  3. ¿Dónde deberías construir?
  4. Las 3 formas principales de marcado de piezas que debe conocer
  5. ¿Qué es Micrómetro? | ¿Cómo se lee un micrómetro?
  6. El equipo de mecanizado horizontal que puede necesitar
  7. ¿Por qué necesita un herrero mecánico?
  8. Todo tipo de unidad de desbarbado para usted
  9. ¿Has oído hablar del hierro fundido blanco?
  10. Todo lo que necesita saber sobre la electroerosión por inmersión
  11. ¿Por qué necesita una servoprensa pequeña?