Table des matières:

Robot lanceur de bonbons avec Arduino, pièces recyclées et Dlib. : 6 étapes
Robot lanceur de bonbons avec Arduino, pièces recyclées et Dlib. : 6 étapes

Vidéo: Robot lanceur de bonbons avec Arduino, pièces recyclées et Dlib. : 6 étapes

Vidéo: Robot lanceur de bonbons avec Arduino, pièces recyclées et Dlib. : 6 étapes
Vidéo: Les poules peuvent vivre sans tête ! Le Saviez-vous ? 2024, Novembre
Anonim
Robot lanceur de bonbons avec Arduino, pièces recyclées et Dlib
Robot lanceur de bonbons avec Arduino, pièces recyclées et Dlib

Avec quelques pièces recyclées, un bouclier moteur Arduino + et le logiciel informatique Dlib, vous pouvez créer un lanceur de bonbons à détection de visage fonctionnel.

Matériaux:

  • Cadre en bois
  • Ordinateur portable/ordinateur (de préférence un plus puissant qu'un Raspberry Pi !).
  • Arduino (de préférence Uno, ou celui qui correspond à votre bouclier moteur.)
  • Bouclier moteur Arduino (j'ai utilisé l'ancien bouclier Adafruit, comme il est toujours vendu ici)
  • Toute webcam standard
  • Petite rondelle

Pièces recyclées:

  • Boîtier (l'ancienne boîte en métal fonctionne bien.)
  • Moteur pas à pas, moteur à courant continu de l'ancienne imprimante démontée.
  • Ancienne alimentation de l'imprimante
  • Distributeur de bonbons (Grand contenant de yaourt).

Les entrailles du produit fini ressembleront un peu à l'aperçu ci-joint.

Avertissement

Assurez-vous de débrancher l'alimentation de l'Arduino/de la configuration du moteur avant le câblage/le câblage. Assurez-vous de brancher l'alimentation dans la bonne polarité !

Il s'agit d'un projet de niveau intermédiaire utilisant Arduino et un logiciel que vous devez installer ou compiler sur votre ordinateur. Les instructions peuvent varier et ont été testées sur Ubuntu.

Vous devrez peut-être ajuster le code Arduino au bouclier moteur que vous utilisez, si vous n'utilisez pas l'ancien bouclier moteur Adafruit.

Étape 1: percer, connecter et monter le moteur

Percez, connectez et montez le moteur
Percez, connectez et montez le moteur
Percez, connectez et montez le moteur
Percez, connectez et montez le moteur

Percez des trous dans le boîtier, fixez le moteur pas à pas pour que la webcam puisse se déplacer en haut et que le distributeur puisse tourner en bas.

Les moteurs pas à pas peuvent se déplacer par petits incréments (4 fils), contrairement aux moteurs à courant continu (2 fils) qui fonctionnent en arrière/avant, pas par étapes.

Le moteur à courant continu a 2 fils (fonctionne dans les deux sens), le moteur pas à pas en option aura 4 bobines sur deux (testez avec un multimètre de résistance pour voir où les bobines sont câblées, comme décrit ici.)

Si vous utilisez l'ancien bouclier Adafruit comme dans mon exemple, vous devez connecter le moteur de la centrifugeuse à bonbons CC au moteur n° 3 et le moteur pas à pas aux deux premiers moteurs (n° 1, n° 2) comme décrit dans leur documentation.

Une fois connecté, câblez les moteurs à un Arduino Motor Shield attaché à un Arduino. Pour de meilleurs résultats, il est recommandé d'avoir une deuxième alimentation pour les moteurs, que vous pouvez câbler à la sortie CC sur une verrue murale à 2 $ dans un magasin d'occasion.

Étape 2: Fixation du conteneur

Fixation du conteneur
Fixation du conteneur
Fixation du conteneur
Fixation du conteneur
Fixation du conteneur
Fixation du conteneur
Fixation du conteneur
Fixation du conteneur

Mesurez le centre d'un contenant de yaourt ou d'un autre grand contenant en plastique et percez une prise juste plus grande que l'extrémité du moteur.

Fixez le conteneur à la boîte à l'aide d'une petite rondelle - Collez-le Krazy au fond du conteneur et à l'axe du moteur électrique.

Laissez la colle sécher pendant un jour ou deux pour qu'elle durcisse complètement - vous pouvez placer une petite entretoise entre la boîte et le récipient en rotation pour vous assurer qu'elle ne se torde pas.

Étape 3: faites un petit trou pour le lanceur de bonbons

Faire un petit trou pour le lanceur de bonbons
Faire un petit trou pour le lanceur de bonbons

Une fois que l'essoreuse est correctement fixée, utilisez l'extrémité d'un couteau tranchant pour délimiter un petit trou pour que les bonbons soient jetés par l'extrémité - cela devrait être juste au-dessus du bas, là où se trouve la lèvre.

(Pour de meilleurs résultats, environ 30 bonbons peuvent être chargés sur l'extrémité du couvercle du distributeur, qui sera le fond.)

Continuez à délimiter doucement avec un couteau bien aiguisé jusqu'à ce qu'il ressorte, en laissant un petit trou (vous pouvez élargir le trou plus tard si nécessaire).

Étape 4: Configuration Arduino

Si vous n'avez pas encore installé le logiciel Arduino, procurez-vous-le à partir de

www.arduino.cc/en/Main/Software

Toute version récente devrait fonctionner.

Testez le moteur CC/pas à pas avec les exemples donnés dans l'exemple de code de votre Arduino Shield.

S'il vous arrive d'utiliser ce shield (toujours disponible chez certains revendeurs), vous pouvez utiliser mon code directement:

github.com/programmin1/HowToTrainYourRobot…

Une fois que vous avez testé et que vous pouvez distribuer des bonbons en entrant "d" dans la fenêtre série Arduino, il est temps de le connecter au reconnaisseur de Dlib.

Étape 5: Configuration de Dlib

Dlib (https://dlib.net/) fournit une bibliothèque open source et facile à utiliser pour la reconnaissance d'images. Installez le module Python Dlib en utilisant:

sudo pip installer Dlib

- ou -

sudo easy_install Dlib

Attendez que Dlib s'installe et compile. (Vous aurez besoin d'un ordinateur avec de préférence quelques Go de RAM, ou vous devrez attendre longtemps et étendre l'espace de swap). Le code utilise également OpenCV pour le module webcam, alors lancez:

sudo apt-get installer python-opencv

Les étapes d'installation peuvent varier si vous utilisez MacOS ou d'autres systèmes d'exploitation.

Maintenant, récupérez les données des points de repère de détection de visage à partir de

dlib.net/files/shape_predictor_68_face_land…

Décompressez-le (avec Archive Manager/7zip) et placez-le dans HOME/Downloads/shape_predictor_68_face_landmarks.dat

Étape 6: Connecter la reconnaissance faciale à votre robot

Connecter la reconnaissance faciale à votre robot
Connecter la reconnaissance faciale à votre robot

Branchez l'USB contrôlant Arduino sur l'ordinateur et vérifiez que le fichier "/dev/ttyACM0" existe (c'est le périphérique auquel envoyer les commandes série). Si cela ne fonctionne pas et qu'un autre répertoire du même nom apparaît dans /dev lorsque vous le branchez, remplacez /dev/ttyACM0 dans le fichier faceDetectThreadCorrelationCV2FaceSmile.py du référentiel.

Branchez la webcam (si aucune webcam intégrée n'est sur l'ordinateur que vous utilisez) et exécutez ce fichier.py dans la ligne de commande ou avec la commande Run/F5 dans l'éditeur de texte Geany. Si vous souhaitez utiliser une deuxième webcam/externe sur un ordinateur portable, vous pouvez changer "VideoCapture(0)" en "VideoCapture(1)" pour utiliser une deuxième webcam, que vous pouvez placer sur le moteur pas à pas au-dessus de la boîte du robot.

Si tout se passe bien, vous verrez l'esquisse d'un sourire lorsqu'un visage se trouve devant la webcam.

Lisez l'aperçu et le code source du fichier.py pour voir les mathématiques du fonctionnement de la détection de sourire à partir des points que Dlib donne à partir de la fonctionnalité de repère de visage.:)

Conseillé: