Table des matières:

Aïe : 6 étapes
Aïe : 6 étapes

Vidéo: Aïe : 6 étapes

Vidéo: Aïe : 6 étapes
Vidéo: Aïe ! Les poussées dentaires ! - La Maison des maternelles #LMDM 2024, Juillet
Anonim
AIE
AIE
AIE
AIE

Aïe est votre assistant personnel omnidirectionnel pour la cataracte inutile. Alors que la reconnaissance faciale frappe le Zeitgeist, OUCH vous frappe ! OUCH ne sait pas seulement à quoi tu ressembles, il sait aussi être très agaçant ! Contrairement à Big Brother, cette machine est très visible et ne remplit qu'un seul but: vous rendre la vie un peu plus merdique. Avez-vous déjà oublié vos lunettes de soleil à la maison et été surpris par un reflet lumineux ? OUCH vous permet de revivre ce moment encore et encore. En réfléchissant la lumière de la source de lumière la plus brillante autour de vous directement dans votre visage, il s'assurera que vous ne profiterez pas d'un seul instant autour d'elle.

Attention, ou OUCH pourrait être la dernière chose que vous verrez jamais !

Le projet a été mené dans le cadre du séminaire Computational Design and Digital Fabrication du programme de maîtrise ITECH.

Août Lehrecke | Max Zorn

Fournitures

Parties éléctroniques:

Arduino

  • Arduino UNO

    • 2x Mini-Servo Reely S0009
    • 4x photorésistances
    • 4x 10k résistances
    • 2x potentiomètres
    • 1x câble d'imprimante USB

Tarte aux framboises

  • Framboise Pi 4

    • 1x RaspiCam
    • 4x Mini-Servo Reely S0009
    • 1x pilote de servomoteur PWM 12 bits PCA9685 16 canaux
    • Alimentation externe 5v CC
    • 1x alimentation Rasberry Pi 5.1V - 3Amp (ou équivalent externe)
    • 1x FABRICANT HC-SR05 Ultraschallsensor (MF-6402156)
    • 1x résistance 470 Ohm
    • 1x résistance 320 Ohm

Pièces imprimées en 3D:

Les OUCH se présentent sous différentes formes et tailles. Pour cette version, nous avons utilisé une imprimante 3D pour imprimer des mécanismes personnalisés.

  • 4 supports
  • 2 x Base S
  • 1 x socle L
  • 2 x base de rotation double
  • 1 x base de rotation simple
  • 1 x ensemble de support d'axe S
  • 1 x ensemble de support d'axe M
  • 1 x ensemble de support d'axe L
  • 1 x support de caméra
  • 1 x support de lumière
  • 1 x support de miroir

En option, vous pouvez utiliser la conception de tour fournie, pour assembler les composants pour:

  • 1 x tour (au lieu de 4 x support)
  • 1 x Base S & 1x Base M (au lieu de 2 x Base S)

Autres parties:

  • Mylar
  • 1 x élastique
  • 1 x cravate zippée
  • 12 vis à tête plate M5 x 160
  • 2 vis à tête plate M5 x 80

Outils:

  • Imprimante 3D
  • Tournevis H3.0
  • Pistolet à colle chaude

Étape 1: Étape 1: Impression des pièces

Si vous avez accès à une imprimante 3D, vous pouvez imprimer des mécanismes personnalisés pour loger les servos et monter les trois composants principaux.

Pour le composant Face, nous avons besoin de:

  • 2 x supports
  • 1 x socle L
  • 1 x base rotative double
  • 1 x ensemble de support d'axe M
  • 1 x support de caméra et de capteur de distance

Le composant Lumière nécessite:

  • 1 x support
  • 1 x socle S
  • 1 x base rotative double
  • 1 x ensemble de support d'axe S
  • 1 x support de lumière

Les composants du miroir se composent des éléments suivants:

  • 1 x support
  • 1 x socle S
  • 1 x base rotative simple
  • 1 x ensemble de support d'axe L
  • Support de miroir

Enfin, vous pouvez également imprimer la tour fournie.

Si vous souhaitez l'utiliser comme base pour les trois composants, vous devrez ajuster les mathématiques vectorielles dans le code en conséquence. De plus, connectez le composant Face avec la base M au lieu de la base L à la tour.

Étape 2: Étape 2: Faire le miroir

Étape 2: faire le miroir
Étape 2: faire le miroir
Étape 2: faire le miroir
Étape 2: faire le miroir

Pour créer votre propre composant de miroir, coupez un morceau circulaire de Mylar et placez-le sur la partie miroir imprimée en 3D. Ensuite, utilisez d'abord un élastique pour le fixer en place. L'élastique doit s'adapter à l'intérieur de la rainure autour du composant. Utilisez ensuite une attache zippée pour sécuriser délicatement la connexion, ne la serrez pas trop pour le moment. Vous pouvez maintenant commencer à étirer le Mylar jusqu'à obtenir une surface brillante et réfléchissante. Enfin, serrez la fermeture éclair et profitez du reflet de votre beau visage !

Étape 3: Étape 3: Assemblage des composants

Étape 3: Assemblage des composants
Étape 3: Assemblage des composants
Étape 3: Assemblage des composants
Étape 3: Assemblage des composants
Étape 3: Assemblage des composants
Étape 3: Assemblage des composants
Étape 3: Assemblage des composants
Étape 3: Assemblage des composants

Composant de visage

  1. Collez à chaud le premier servo dans la découpe correspondante de la base rotative
  2. Collez le connecteur Servo dans la rainure, située au bas de la partie de base
  3. Assemblez les deux pièces de base, de sorte que le Servo s'emboîte avec le connecteur
  4. Utilisez la vis du servo pour fixer le connecteur au servo
  5. Collez à chaud la deuxième pièce de connecteur dans la rainure correspondante, située en haut du support d'axe
  6. Utiliser 4 boulons M5 pour visser le support d'axe à la base rotative
  7. Collez à chaud le deuxième servo sur le support
  8. Faites glisser la caméra sur les broches
  9. Fixez le capteur de distance à ultrasons au support, soit par vissage, soit par collage à chaud
  10. Connectez le support de caméra / capteur au support d'axe, le servo doit à nouveau glisser dans la pièce de connecteur
  11. Utilisez la vis du servo pour fixer le connecteur au servo
  12. Vissez le Raspberry Pi et le servodriver sur un morceau de contreplaqué (Assurez-vous que l'espacement correspond aux trous de la Base L)
  13. Vissez le composant Face aux supports, à l'aide de boulons M5

Composant miroir

  1. Suivez les étapes 1 à 7
  2. Connectez le miroir au support d'axe
  3. Collez un support de miroir sur du contreplaqué, de sorte que les composants Miroir et Face soient alignés
  4. Vissez le composant Miroir au support, à l'aide de boulons M5

Composant léger

  1. Suivez les étapes 1 à 7 ci-dessus
  2. Faites passer les capteurs de lumière à travers les trous de montage au bas de la croix d'ombrage
  3. Connectez la croix d'ombrage au support d'axe, le servo doit à nouveau glisser dans la pièce de connecteur
  4. Utilisez la vis du servo pour fixer le connecteur au servo
  5. Collez un support sur du contreplaqué, de sorte que les composants Light, Mirror et Face soient alignés et que le Mirror soit entre les composants Face et Light
  6. Vissez le composant Face aux supports, à l'aide de boulons M5

*Tous les composants peuvent également être attachés à la tour, veuillez cependant tenir compte de la complexité accrue du codage et du câblage et du temps d'impression. Si vous souhaitez utiliser la tour, utilisez la pièce Base M au lieu de la Base L pour le composant Face et vissez les pièces Base à la tour à l'aide des œillets et des boulons M5.

Étape 4: Étape 4: Configurer les cartes

Étape 4: Configurer les cartes
Étape 4: Configurer les cartes
Étape 4: Configurer les cartes
Étape 4: Configurer les cartes
Étape 4: Configurer les cartes
Étape 4: Configurer les cartes

Voici le schéma de câblage des trois composants. Le tracker solaire agit sur sa propre boucle sur l'Arduino et envoie ses positions d'asservissement au Rasberry Pi via le port USB série. Un capteur de distance en option peut être connecté à l'avant de la piCamera panoramique/inclinable pour créer une triangulation plus robuste de la cible. Ici, nous allons les aligner en ligne droite et faire la moyenne des vecteurs afin que ce ne soit pas nécessaire.

Quatre servos sont connectés au servodriver PCA9685 qui est alimenté par une alimentation externe 5v. Deux des servos contrôlent le panoramique et l'inclinaison de la caméra de suivi du visage, tandis que les deux autres contrôlent le panoramique et l'inclinaison du miroir.

Étape 5: Le code:

Le code
Le code

Le code de ce projet peut être divisé en deux parties: le code de suivi de la lumière Arduino et le code de suivi du visage/de positionnement du miroir python.

Code Arduino:

Ce code est une version légèrement modifiée du projet de suivi du soleil de geobruce. C'est une excellente référence pour en savoir plus sur le composant de suivi solaire et plus de détails peuvent être trouvés sur cette page instructables. Les valeurs d'intensité lumineuse sont extraites des 4 photorésistances et moyennées pour trouver la zone la plus lumineuse et ajuster les servos en conséquence. Nous écrivons ensuite les valeurs d'angle d'asservissement sur le port série.

Code Python:

Ce code intègre un CV ouvert pour créer un mécanisme d'inclinaison panoramique et de suivi du visage ainsi que pour piloter les servos du miroir. Vous devrez suivre quelques étapes pour télécharger un CV ouvert sur votre Raspberry pi. Il existe de nombreuses ressources pour cela, mais j'aime beaucoup celle de pyimagesearch. Une description complète de ce processus peut être trouvée ici. Remarque: Nous avons téléchargé les bibliothèques de CV ouvertes dans un environnement virtuel sur lequel nous exécutons tout le code. Si vous décidez de le faire, assurez-vous de télécharger toutes les dépendances dans l'environnement virtuel sur lequel vous exécutez le programme et non le Pi lui-même.

Une fois que vous avez téléchargé Open CV, ce code nécessitera également quelques dépendances supplémentaires (installées sur l'environnement spécifique que vous exécutez) pour s'exécuter:

  • Adafruit ServoKit: Une page complète sur le processus de téléchargement sur le Raspberry Pi se trouve ici.
  • imutils
  • numpy
  • gpiozero (si vous utilisez un capteur de distance)

Pour le suivi des visages, le script nécessite un argument (--faces) qui est un fichier.xml qu'openCv utilise pour trouver des visages. Vous devrez mettre ce fichier dans le même répertoire que le script python. Je l'ai fourni dans les téléchargements et il peut également être trouvé ici.

Étape 6: Exécuter le code

Exécuter le code
Exécuter le code
Exécuter le code
Exécuter le code

Une fois que vous avez téléchargé tout le code dans le même répertoire et configuré votre environnement virtuel avec un CV ouvert, vous êtes prêt à l'exécuter.

  1. Ouvrez l'invite de commande sur votre pi
  2. Tapez workon cv (ou le nom que vous avez choisi pour votre environnement virtuel)
  3. Changez le répertoire dans lequel vous avez vos fichiers stockés (cd (chemin d'accès aux fichiers))
  4. La dernière ligne exécute le programme et spécifie le fichier haar cascade. (python Face3.py --faces haarcascade_frontalface_default.xml)

Lorsque vous l'exécutez, vous devriez voir un flux vidéo de la picam apparaître à l'écran et l'invite de commande commencera à imprimer les valeurs des servos des six servos.

Et vous avez terminé ! Selon la qualité des servos dont vous disposez, vous souhaiterez peut-être les calibrer chacun spécifiquement pour améliorer la précision de votre système. Nous avons fini par devoir modifier toutes les plages PWM pour qu'elles fonctionnent correctement.

Conseillé: