Table des matières:

Waiter Please Bot : 6 étapes (avec photos)
Waiter Please Bot : 6 étapes (avec photos)

Vidéo: Waiter Please Bot : 6 étapes (avec photos)

Vidéo: Waiter Please Bot : 6 étapes (avec photos)
Vidéo: TEACHING SHUFFLE ⭐️ LITTLE KIDS DANCING 😱🔥 TUZELITY SHUFFLE ❤️‍🔥 2024, Juillet
Anonim
Image
Image

Qu'est-ce qui peut mal se passer avec une sonnerie d'appel de serveur déclenchée par un servo dans un espace de bureau ouvert ?

- je ne sais pas:D

Les gens ont tendance à détester les alarmes ou même les interruptions, alors c'est peut-être une bonne idée de le rendre un peu amusant (au moins pendant un certain temps). C'est ce que je visais à réaliser. Alertez rapidement les ingénieurs des incidents critiques d'une manière acceptable.

C'est mon premier projet Arduino fabriqué à partir d'un blindage Ethernet, d'un contrôle infrarouge, d'un Micro Servo SG90 9g et de matériaux recyclés.

L'action de gifler déclenchée via WebHook ou la télécommande. La télécommande sert aussi pour affiner l'angle du bras.

Étape 1: Comment ça marche ?

Comment ça fonctionne?
Comment ça fonctionne?

Il écoute sur le récepteur infrarouge et récupère une adresse HTTP pour un mot clé donné. Le contrôleur infrarouge peut être utilisé pour un réglage fin de l'angle du bras et peut également être utilisé pour le déclenchement. La réponse HTTP ne peut être utilisée que pour déclencher la cloche. (Dans le cas actuel, j'ai créé une petite application Web pour attraper le webhook de Slack et gérer un drapeau. - Non inclus dans cette instructable)

Fondamentalement, j'ai utilisé le contrôleur infrarouge uniquement à des fins de débogage. La 1ère fois, j'ai fait une erreur en laissant le contrôleur rester à côté de la machine à gifler, mais les gens étaient assez curieux pour déclencher la gifle plusieurs fois, alors je trouve l'appareil déconnecté:)

Dans la vraie vie, il vérifie périodiquement une adresse Web codée en dur qui a une réponse similaire comme:

Si le mot-clé anyslap suivi d'un entier alors il fait autant de mouvements de bras.

Étape 2: Composant requis

Composant requis
Composant requis
Composant requis
Composant requis
Composant requis
Composant requis

Composants electroniques:

  • Arduino Uno R3
  • UNO Shield Ethernet Shield W5100 R3
  • Kit de module de télécommande sans fil infrarouge IR
  • Servomoteur (SG90)
  • Circuit imprimé universel 4x6cm
  • 5 LED
  • Résistance 5x220 Ohm
  • Fil de silicone 30AWG

Matériaux recyclés:

  • Flacon de shampooing
  • Cartons
  • Main jouet (venez avec un achat de deux croissants obtenez une main gratuite:)

Étape 3: Combinez les didacticiels Arduino

La plupart du temps, je viens de suivre les exemples intégrés Arduino, les exemples de bibliothèque et combinés en un seul projet.

Cours recommandés

  • Clignotement sans délai - Utilisé pour les indicateurs LED; fonction millis () pour vérifier HTTP périodiquement et désactiver le servo s'il n'est pas utilisé.
  • Fonctions de sortie série ASCIITable - Utilisées pour le débogage.
  • Structures de contrôle, telles que: itération de boucle, cas de commutation, instruction If, boucle While
  • Client Web Ethernet avec bail DHCP - Utilisé pour recevoir des déclencheurs du point de terminaison
  • Leçon de servo - utilisé pour le mouvement des bras (rotation).
  • Récepteur infrarouge - utilisé pour un contrôle supplémentaire et affiner l'angle du bras.

Étape 4: recherche d'un mot-clé dans la réponse HTTP et autres problèmes d'EthernetClient

L'assemblage du Waiter Please Bot était assez simple, à l'exception des éléments Ethernet.

Des difficultés

  1. Tout appel EthernetClient, en particulier le bail DHCP, est un processus unique. Cela fonctionne comme un délai avec rand ce qui met le programme en pause.
  2. Oubliez JSON dans l'API et les chaînes WebHook Arduino sont de toute façon diaboliques.

1. - Processus unique

J'abandonne pour que le programme fasse du multi-processus. Je google quelques solutions possibles mais aucune d'entre elles n'était simple. Je voulais garder le code aussi petit et facile à lire que possible.

2. - Analyser la réponse

La stabilité et la capacité de travailler sans entretien sont des exigences clés. J'évite donc d'utiliser un objet String en raison d'une éventuelle fuite de mémoire.

EthernetClient repose sur la classe de base Stream et sa fonction de recherche permet de rechercher des mots clés. C'est un peu compliqué et occupe de nombreuses lignes de code, mais ça marche.

Étape 5: Esquisse et source

Esquisse et source
Esquisse et source

Référentiel:

Étape 6: Construisez le matériel

Construire le matériel
Construire le matériel
Construire le matériel
Construire le matériel
Construire le matériel
Construire le matériel

Le bras

  1. Il y a quatre protections d'angle dans la boîte expédiée du Macbook. Je l'ai utilisé comme support.
  2. Découpez une petite forme adaptée au servo.
  3. Collez ensemble le support et le servo avec un pistolet à colle thermofusible.
  4. A pris un tuyau d'un flacon de shampoing usagé et vissé au servo.
  5. Tirez la main du jouet sur le tuyau.

Le controlle

  1. Réalisation d'un prototype sur maquette.
  2. Copiez le prototype de la maquette sur la carte de circuit imprimé universelle.
  3. J'ai utilisé des en-têtes détachables pour toutes les connexions de circuits filaires.
  4. Découpez la boîte en papier.
  5. Collez ensemble le devant de la boîte et le circuit imprimé.
  6. Mettez la carte Arduino, le blindage Ethernet et une éponge dans la boîte.

Terminé.

Conseillé: