Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Oreiller Love You

Composants et fournitures

Arduino MKR IoT Bundle
× 1

Applications et services en ligne

Telegram

À propos de ce projet

Remarque :Ce tutoriel est peut-être obsolète, veuillez y aller ici pour une version plus récente.

Nous savons tous qu'être sans cette personne spéciale dans votre vie peut être difficile, mais et si vous pouviez envoyer de l'amour et de l'affection à distance sur Internet en serrant simplement un oreiller dans vos bras ?

Maintenant, nous ne pouvons pas vraiment envoyer de câlins... mais ce que nous pouvons envoyer, c'est un doux emoji via une application de messagerie, déclenché par le fait que vous fassiez un câlin à un oreiller.

Lorsque vous étreignez l'oreiller Je t'aime vous entendrez le son d'un battement de cœur provenant du buzzer à l'intérieur. Selon la durée de votre étreinte, un emoji différent sera envoyé d'un Telegram Bot à la discussion de votre choix.

Restez en contact avec votre bien-aimé avec cet appareil câlin !

En bref

Dans cette expérience, nous utiliserons du papier d'aluminium pour créer un capteur capacitif DIY qui sera utilisé pour détecter les câlins.

Afin de créer notre appareil d'envoi de câlins, nous aurons besoin des composants suivants :

  • Sonnerie
  • Feuille d'aluminium
  • 1 résistance 5M ohm
  • Planche à pain
  • Fils

Objectifs d'apprentissage

  • Présentation des Telegram Bots
  • Gestion des capteurs capacitifs
  • Telegram Bots et discussions de groupe #ProTips
  • Bonnes pratiques Wi-Fi #ProTips

Conseils de pro sont des étapes utiles mais pas strictement nécessaires qui ajoutent une couche de complexité au projet.

Vous voulez en savoir plus ?

Ce tutoriel fait partie d'une série d'expériences qui vous familiarisent avec le MKR1000 et l'IoT. Toutes les expériences peuvent être construites à l'aide des composants contenus dans le MKR IoT Bundle.

  • Je t'aime oreiller
  • Boîte à énigmes
  • Le chat de Pavlov
  • Le nerd
  • Communicateur d'usine

Présentation de Telegram Bots

Telegram est une application de messagerie populaire pour mobile et ordinateur de bureau. En plus de nous permettre de discuter avec nos amis, cela nous permet également de créer des chatbots pratiques et puissants !

Un chat-bot n'est rien d'autre qu'un contact avec lequel vous pouvez discuter, mais à la place une personne derrière lui, il y a une machine qui répond en conséquence au code que vous avez écrit.

La bibliothèque TelegramBot pour Arduino nous offre un moyen simple d'implémenter la logique derrière le chat-bot.

Créez votre robot

Créer un bot est si simple !

Suivez simplement ces quelques étapes simples ou consultez la documentation ici.

Configurer le tableau

Tout d'abord, assurez-vous que nous avons toutes les bibliothèques nécessaires.

Voici la liste de toutes les bibliothèques dont nous aurons besoin :

  • WiFi101
  • TelegramBot
  • ArduinoJson
  • CapacitifCapteur

Vous pouvez facilement les installer en suivant ce guide simple.

Pour utiliser l'API de Telegram, nous devons d'abord télécharger les certificats sur le MKR1000. Cela s'applique à la plupart des services en ligne et des API !

Téléchargez l'exemple Firmware Updater de la bibliothèque WiFi101 et ajoutez api.telegram.org aux domaines.

Si vous utilisez l'éditeur Web Arduino, cette fonctionnalité n'est pas encore implémentée et vous devez le faire via le Application de bureau Arduino.

Que la magie opère !

Ouvrez l'exemple EchoBot de la bibliothèque TelegramBot, remplissez vos identifiants WiFi et le jeton API que vous avez reçu du BotFather et téléchargez !

Vous venez de créer un bot qui fait écho à tous vos messages.

EchoBot et Emoji

Les émojis sont partout ! Nous les utiliserons pour envoyer notre amour et nos câlins. L'utilisation de l'exemple EchoBot est un moyen simple de voir comment les robots lisent vos emoji.

Malheureusement, la façon dont le bot reçoit les emoji n'est pas la même que celle utilisée pour les envoyer. Pour envoyer un emoji, nous devrons utiliser UNICODE caractères.

Par exemple pour envoyer un emoji coeur nous utiliserons :\U00002764

Vous pouvez voir la liste complète des codes emoji unicode ici. Afin de créer un bot qui répond à un emoji de cœur avec un autre emoji de cœur, nous utiliserons un code comme celui-ci :

void loop() { message m =bot.getUpdates(); // Lire les nouveaux messages if ( m.chat_id !=0 ){ // Vérifier s'il y a des mises à jour Serial.println(m.text); // imprime le message reçu if(m.text =="u2764ufe0f"){ // vérifie s'il a reçu un emoji bot.sendMessage(m.chat_id, "\U00002764"); // Répondre au même chat avec l'emoji coeur } } }  

Le résultat sera :

Capteur capacitif

Assez avec Telegram, commençons à construire notre capteur capacitif DIY !

La bibliothèque CapacitiveSensor transforme deux ou plusieurs broches Arduino en un capteur capacitif, qui peut détecter la capacité électrique du corps humain. Tout ce dont la configuration du capteur a besoin est une résistance de valeur moyenne à élevée et un morceau de papier d'aluminium.

À son niveau le plus sensible, le capteur commencera à détecter une main ou un corps à quelques centimètres du capteur et à travers différents types de matériaux . Nous allons cacher notre capteur à l'intérieur de l'oreiller !

Téléchargez l'exemple de croquis, connectez les fils et voyez le résultat sur la console :

#include  CapacitiveSensor foil =CapacitiveSensor(5,4) ; // Résistance de 10M entre les broches 5 et 4, la broche 4 est la broche du capteur, ajoutez un fil et/ou une configuration foilvoid() { foil.set_CS_AutocaL_Millis(0xFFFFFFFF); // désactiver l'autocalibrage Serial.begin(9600); } void loop() { long start =millis(); long sensor_value =foil.capacitiveSensor(30); Serial.print(millis() - démarrer); // vérifie les performances en millisecondes Serial.print("\t"); // caractère de tabulation pour l'espacement de la fenêtre de débogage Serial.print(sensor_value); // imprime la sortie du capteur Serial.println("\t"); // imprime le délai de sortie 3 du capteur (500); // délai arbitraire pour limiter les données au port série }  

Câblage et résultats

Nous utiliserons sensor_value comme seuil pour détecter les câlins !

Le battement de coeur

Plus vous étreignez longtemps, plus vous entendez de battements de cœur. Plus le cœur bat, plus vous envoyez d'amour (ainsi que différents emoji).

Nous allons émuler le son d'un battement de cœur à l'aide d'un buzzer et de quelques lignes de code simples.

int Buzzer =8 ; // Pin attaché au buzzer void setup(){} void loop(){ HeartBeat(); retard(1000); } void HeartBeat(){ tone(Buzzer, 31, 200); // tone(Pin, Note, Durée); retard (200); tonalité (Buzzer, 31, 400); retard (200); pas de tonalité (Buzzer) ; retard(1000); }  

Pour une utilisation plus complexe du buzzer et de la fonction Tone, jetez un œil aux exemples du menu déroulant et recherchez Digital> ToneMelody

#ProTip :ID de chat et chat de groupe

Pour envoyer des messages, un bot a besoin d'un chat-id.

L'identifiant du chat est l'identifiant unique d'un chat entre quelqu'un et un bot. Pour que le bot envoie des messages à une personne spécifique, vous devez d'abord que cette personne envoie un SMS au bot et enregistre l'identifiant de discussion de cette discussion spécifique.

Dans ce projet, le bot ne répondra qu'à la toute dernière personne qui lui a envoyé un texto, peu importe qui c'était.

Les bots sont publics, tout le monde peut envoyer un SMS à un Bot !

Si vous souhaitez inclure le bot dans une discussion de groupe, vous devez désactiver le mode de confidentialité permettant au bot de lire tous les messages, sinon il ne pourra détecter que les commandes commençant par /:

#Astuce de pro :Bonnes pratiques Wi-Fi

Le Wi-Fi peut être délicat. Parfois, il s'éteint juste pendant quelques secondes sans aucune raison apparente. Cela pourrait être un problème pour votre Arduino car la plupart du temps, nous exécutons la fonction de connexion WiFi uniquement au début du croquis.

Les services en ligne peuvent également être délicats. Lorsque l'Arduino envoie une demande à un serveur (Telegram dans ce cas), il attend une réponse. Pour des centaines de raisons, une réponse peut ne pas arriver, gardant l'Arduino dans une boucle infinie.

Pour rendre votre projet plus stable, vous pouvez ajouter un chien de garde.

Un chien de garde est un minuteur qui doit être mis à jour périodiquement, sinon il redémarrera la carte.

Vous pouvez utiliser ces deux bibliothèques pour ajouter un chien de garde à votre projet :

  • Adafruit SleepyDog
  • Adafruit ASF Core // doit être téléchargé et installé manuellement depuis Github

L'exemple EchoBot ressemblera alors à ceci :

#include  #include  #include  #include  // Initialise la connexion Wifi au routeur char ssid[] ="xxxx"; // votre réseau SSID (nom) char pass[] ="yyyy"; // votre clé réseau // Initialise Telegram BOT const char BotToken[] ="xxxx"; Client WiFiSSLClient ; Bot TelegramBot (BotToken, client); void setup() { Serial.begin(115200); while (!Serial) {} delay(3000); // tentative de connexion au réseau Wifi :Serial.print("Connexion Wifi :"); Serial.println(ssid); while (WiFi.begin(ssid, pass) !=WL_CONNECTED) { Serial.print("."); retard (500); } Serial.println(""); Serial.println("Wi-Fi connecté"); bot.begin(); Chien de garde.enable(10000) ; // règle le minuteur sur 10 secondes } void loop() { Watchdog.reset(); // si cette fonction n'est pas appelée dans les 10 secondes, la carte se réinitialisera message m =bot.getUpdates(); // Lire les nouveaux messages if ( m.chat_id !=0 ){ // Vérifie s'il y a des mises à jour Serial.println(m.text); bot.sendMessage(m.chat_id, m.text); // Répondre au même chat avec le même texte } else { Serial.println("pas de nouveau message"); } }  

Code

Esquisse complète

Schémas


Processus de fabrication

  1. 9 étapes pour forger un couteau :tout ce que vous devez savoir
  2. Comment planifier une nomenclature (BOM) ?
  3. Où construire ?
  4. Les 3 meilleures façons de marquer les pièces que vous devez connaître
  5. Qu'est-ce qu'un micromètre ? | Comment lire un micromètre
  6. L'équipement d'usinage horizontal dont vous pourriez avoir besoin
  7. Pourquoi avez-vous besoin d'un ferronnier mécanique ?
  8. Toutes sortes d'unités d'ébavurage pour vous
  9. Avez-vous entendu parler de la fonte blanche ?