Table des matières:

Electronic Magic 8 Ball et Eyeball : 11 étapes (avec photos)
Electronic Magic 8 Ball et Eyeball : 11 étapes (avec photos)

Vidéo: Electronic Magic 8 Ball et Eyeball : 11 étapes (avec photos)

Vidéo: Electronic Magic 8 Ball et Eyeball : 11 étapes (avec photos)
Vidéo: Prediction Ball - Step-by-Step Guide to Build a "Magic 8 Ball"-style iOS App for Absolute Beginners 2024, Novembre
Anonim
Image
Image
Boule et globe oculaire magiques électroniques
Boule et globe oculaire magiques électroniques
Boule et globe oculaire magiques électroniques
Boule et globe oculaire magiques électroniques

Je voulais créer une version numérique de la Magic 8 Ball…

Le corps de celui-ci est imprimé en 3D et l'affichage est passé d'un polyèdre à colorant bleu à un petit OLED contrôlé par un générateur de nombres aléatoires programmé dans un Arduino NANO.

Ensuite, je suis allé un peu sur une tangente et j'ai créé une autre coquille, celle-ci est un œil bleu glacier qui regarde droit dans votre âme…

ATTENTION: alors que j'ai finalement utilisé des interrupteurs à bascule au mercure pour ma construction finale. S'il est destiné à être utilisé comme un jouet, vous devez simplement suivre le plan original décrit ici. Le mercure a une toxicité connue. La deuxième vidéo montre clairement pourquoi j'ai fait ça !

Tous mes interrupteurs au mercure ont été récupérés sur d'anciens thermostats domestiques qui étaient destinés à la décharge, ils sont maintenant entre de bonnes mains…

MISE À JOUR du 12 avril 2019 !!!: J'ai inclus un moyen beaucoup plus simple d'alimenter et d'exécuter ce projet. J'ai également inclus un code dépouillé qui affiche simplement les conseils. Tout est révélé à l'étape 10.

Étape 1: Le 8 Ball

La boule 8
La boule 8
La boule 8
La boule 8
La boule 8
La boule 8

J'ai créé une sphère creuse de 100 mm dans Solidworks

Je ne voulais pas de jointure le long de l'équateur de la sphère, donc les sections supérieure et inférieure ont ensuite été découpées en laissant un trou de 50 mm en haut et un trou de 56 mm en bas.

Comme je ne voulais pas voir d'attaches, j'ai ensuite fait une coupe de 57 mm de 1 mm de profondeur à l'extérieur du trou inférieur et j'ai ajouté deux tiges de 4 mm de diamètre qui sortent perpendiculairement dans le trou d'environ 4 mm de long.

Le bouchon du trou supérieur a été modélisé en inversant la section de découpe initiale pour le trou supérieur. Un anneau supplémentaire de 2 mm a été ajouté à la courbe intérieure du bouchon, puis le tout a été solidifié.

Du haut, j'ai dessiné un grand nombre 8 et ce contour a été découpé dans le capot supérieur. Ceci à son tour a été utilisé pour créer une pièce numéro 8.

Étape 2: Port d'accès à la fenêtre

Port d'accès à la fenêtre
Port d'accès à la fenêtre
Port d'accès à la fenêtre
Port d'accès à la fenêtre
Port d'accès à la fenêtre
Port d'accès à la fenêtre

Cette partie contient toute l'électronique et le fonctionnement interne. Il est également destiné à être le point d'accès pour changer les piles.

Je ne voulais pas d'attaches visibles sur cela, alors j'ai fait l'ouverture d'une vis en pièce, elle tourne à environ 36 degrés et se verrouille en place.

Il y a un port d'environ 1 pouce de diamètre au milieu de la pièce qui permet de visualiser les conseils.

À l'intérieur du port se trouve une zone de découpe carrée destinée à contenir un morceau de plastique ou de verre de 2 mm d'épaisseur.

Cette fenêtre est utilisée sur toutes les tailles de ce jouet.

il en faut également deux pour la partie electronicsBrace et un pour chacun des ElectronicsTray et nanoTray.

Étape 3: Imprimer et assembler

Imprimer et assembler
Imprimer et assembler
Imprimer et assembler
Imprimer et assembler
Imprimer et assembler
Imprimer et assembler
Imprimer et assembler
Imprimer et assembler

La boule et le numéro ont été imprimés en ABS noir. Alors que le capot supérieur a été imprimé en ABS naturel. J'ai essayé l'ABS blanc mais ça avait l'air trop dur.

Le numéro 8 est un ajustement serré dans le capuchon supérieur.

Le capuchon supérieur est juste assez petit pour passer à l'intérieur de la balle par l'ouverture inférieure.

Il s'agit d'un ajustement par friction, mais il est également maintenu en place avec un adhésif ABS.

J'étais un peu préoccupé par l'ajustement de toutes les pièces à l'intérieur, alors je suis allé de l'avant et en ai créé une autre, cette fois-ci, elle faisait 120 mm de diamètre.

Étape 4: L'œil

L'oeil
L'oeil
L'oeil
L'oeil
L'oeil
L'oeil

J'ai retiré la découpe supérieure des modèles 3D et imprimé les deux orbes en ABS naturel, puis imprimé le port d'accès à la fenêtre en ABS bleu.

Il donne un fac-similé raisonnable d'un globe oculaire en le regardant de face.

J'aime mieux cette version que la 8Ball originale.

Étape 5: L'électronique

L'électronique
L'électronique
L'électronique
L'électronique
L'électronique
L'électronique

L'espace était une contrainte tout comme l'apparence.

Il ne devait pas y avoir de saillies extérieures ou d'obstructions à l'esthétique.

Le jouet est mis sous tension et interagit avec, par le mouvement.

Le jouet démarre dans un état éteint jusqu'à ce qu'il soit inversé.

Au lieu d'un interrupteur à bouton-poussoir, j'ai utilisé un interrupteur à bascule.

Auparavant, j'utilisais un MOSFET pour contrôler l'alimentation du microcontrôleur. Ce n'était cependant pas idéal car cela permettait à une petite quantité de courant d'alimenter en continu le microcontrôleur, tuant ainsi la batterie en environ un mois.

Ce cas, j'ai utilisé un petit relais comme celui que j'ai utilisé dans mon projet de clé USB cryptex.

Le schéma inclus montre le câblage nécessaire pour que le matériel fonctionne.

L'interrupteur d'inclinaison.

Le relais. J'ai utilisé une bobine de 6 V car la tension de la batterie est de 6 V et cela nécessitait un circuit de commande pour le relais qui est commuté à partir d'un simple transistor NPN.

Module OLED Waveshare 128 X 128 d'Amazon.

Étape 6: Le programme

Image
Image

Je voulais que les réponses soient celles du jouet original. J'ai utilisé Wikipédia pour cela.

Le module est de type SSD1327 et il existe une bibliothèque de code très robuste pour ces écrans LCD.

Les premières tentatives d'utilisation de ce code ont échoué car l'utilisation de la mémoire était trop importante.

Une solution de contournement simple consistait à utiliser le code simplifié fourni par le fabricant.

J'ai soufflé la plupart des exemples et utilisé des extraits du code d'origine pour afficher les informations nécessaires.

Le programme fonctionne comme suit:

La balle au repos est dans un état hors tension.

Inverser la balle et regarder la fenêtre est l'état initial de mise sous tension.

Une fois que l'Arduino démarre et affiche les instructions "Posez votre question puis inversez". Le programme prend le relais et alimente l'Arduino via le relais contrôlé par programme.

Les instructions restent visibles jusqu'à ce que le jouet soit retourné, ce qui désactive l'interrupteur d'inclinaison et le programme passe en mode réflexion. L'affichage indique « Pensée… » afin que vous sachiez qu'il est toujours actif.

La bille est ensuite à nouveau inversée pour que la fenêtre soit droite.

Cette action est lue par l'interrupteur d'inclinaison mécanique activé et le programme générera une réponse aléatoire dans une seconde de la fenêtre orientée vers le haut.

Le message reste visible jusqu'à ce que le jouet soit tourné vers le haut.

Ce processus se poursuit jusqu'à ce que la balle soit placée côté fenêtre vers le bas pendant plus de 16 secondes, où le programme désactivera le relais et coupera l'alimentation.

Les NOTES CRITIQUES sur ce programme sont dans random(); fonction.

J'avais des problèmes avec les mêmes réponses qui s'affichaient, j'ai même testé cela avec les deux appareils en même temps et j'ai trouvé que oui, ils étaient identiques.

Il est essentiel d'utiliser randomSeed(analogRead(0)); routine. L'explication se trouve ICI:

Étape 7: Assemblage de la fenêtre et de l'électronique

Assemblage de fenêtres et d'électronique
Assemblage de fenêtres et d'électronique
Assemblage de fenêtres et d'électronique
Assemblage de fenêtres et d'électronique
Assemblage de fenêtres et d'électronique
Assemblage de fenêtres et d'électronique

Cet ensemble comprend cinq pièces imprimées qui constituent une fenêtre, un support de batterie et un couvercle.

Le premier est le composant visible qui a des supports pour l'OLED et le second est le support de batterie et de contrôleur qui se fixe aux entretoises VIA de fenêtre.

J'ai utilisé un petit morceau de verre taillé pour la fenêtre. Cela a été collé en place avec un adhésif de type cyano. J'avais de la mousse de coupe-froid avec de l'adhésif sur un côté, cela a été coupé en petites bandes et placé autour du verre à l'intérieur de l'assemblage de la fenêtre.

Il y a 4 trous de vis autour de la fenêtre. ceux-ci sont espacés pour le module que j'avais choisi. Ceux-ci ont 4 à 40 inserts thermofixés installés à l'aide d'un fer à souder.

Une fois le module en place, des entretoises de 1/4 pouce sont utilisées pour le fixer.

J'ai eu de la chance lorsque les composants sont arrivés, le support de batterie s'insère juste à l'intérieur de l'ouverture, ce qui signifie que je n'ai pas eu à le placer à la verticale. Cela signifie que la balle de plus petite taille fonctionnera bien.

La base de la baie électronique porte le support de batterie et dispose de 2 découpes, une pour le relais et une pour le commutateur d'inclinaison.

Le couvercle comporte 3 parties qui s'emboîtent et maintiennent solidement les piles vers le bas et offrent une surface plane sur laquelle attacher le module NANO.

Ces 2 pièces sont ensuite vissées sur les 4 entretoises au dos du module OLD.

AVEC PRÉCAUTION! J'ai fini par remplacer l'interrupteur à bascule par un interrupteur à mercure. Cela a produit un fonctionnement plus fiable.

Étape 8: Ajustement par interférence

Ajustement d'interférence
Ajustement d'interférence
Ajustement d'interférence
Ajustement d'interférence

L'assemblage de la fenêtre une fois terminé sera un ajustement très serré à travers la découpe au bas de la balle.

Lors du montage de l'assemblage final de la fenêtre dans la boule, il peut y avoir des interférences

Si cela se produit, la lèvre intérieure du support de fenêtre dans la boule devra peut-être être coupée comme indiqué.

Étape 9: Fichiers supplémentaires

Fichiers supplémentaires
Fichiers supplémentaires

Ce sont les grandes limes à billes de 120 mm de diamètre

Étape 10: METTRE À JOUR

METTRE À JOUR!
METTRE À JOUR!
METTRE À JOUR!
METTRE À JOUR!
METTRE À JOUR!
METTRE À JOUR!
METTRE À JOUR!
METTRE À JOUR!

J'ai terminé le code dépouillé afin que cette balle ait un fonctionnement similaire à l'original.

Maintenant, lorsque vous le retournez, il faut environ 4 secondes pour que le programme démarre et affiche les conseils.

Ce type d'opération est également possible avec une construction matérielle plus simple.

On pourrait éliminer toutes les parties de puissance du circuit et le Driving D2 numérique ne serait pas du tout nécessaire.

Le commutateur d'inclinaison pourrait alimenter un transistor de commutation qui alimente l'entrée d'alimentation brute de la carte.

J'ai laissé les composants en place pour ce changement.

En cas de changement de circuit, la déclaration de programme de powPin et toutes les parties ultérieures relatives à cela pourraient être supprimées du programme.

Si le circuit d'origine a été construit et que vous souhaitez utiliser le code sans alimentation. Cela devrait toujours fonctionner pendant que l'interrupteur d'inclinaison met le microcontrôleur sous tension.

Dans ce mode, il faut toujours environ 4 secondes pour que le programme démarre et affiche ensuite le conseil.

En supprimant la broche d'entrée, il est possible de la simplifier encore plus. Je n'ai pas encore testé ce mode mais il devrait fonctionner de la même manière. Assurez-vous simplement de supprimer toutes les références à la lecture des entrées du programme.

Si vous utilisez ce type de capteur d'inclinaison, j'ai inclus un nouveau support de support de batterie

Étape 11: Fichiers supplémentaires

Fichiers supplémentaires
Fichiers supplémentaires

Ce sont les fichiers OLED du site Waveshare….

Concours Arduino 2019
Concours Arduino 2019
Concours Arduino 2019
Concours Arduino 2019

Finaliste du concours Arduino 2019

Conseillé: