Comment devenir magicien (partie 2). Coulisses techniques

Geektimes, bonjour! Comme promis, c'est la suite du dernier article sur notre petit monde de magie. Aujourd'hui, je vais vous parler des coulisses des quêtes magiques, des décisions qui ont été prises et de la façon dont nous sommes arrivés à la conclusion que la quête a un tel scénario et une telle apparence.


Parce que Jusqu'à la construction de la quête, j'aimais l'électronique, en particulier la programmation des microcontrôleurs AVR en C, il a été décidé d'essayer de maximiser ce potentiel, ce qui permettrait d'ajouter un maximum d'interactivité, d'intérêt et d'excitation à la quête! De plus, je ne voulais vraiment pas que la quête ressemble à des dizaines d'autres (travaillant à l'époque dans notre ville).


En réfléchissant au nouveau scénario, nous avons clairement décidé que nous n'aurions ni serrures, ni clés, ni tâches standard, en général, allumez l'électronique au maximum de nos capacités!


Examinons de plus près la partie technique, et maintenant je vais vous dire comment rendre l'électronique aussi collective que possible.



Revue générale


Nous allons omettre la mise en œuvre initiale de la quête (peut-être que j'en parlerai plus tard) et nous concentrer sur le moment de l'achèvement (après quoi la quête a la forme finale).


Après avoir discuté de notre nouvelle vision de la quête, j'ai réalisé que la puissance d'un microcontrôleur est déjà petite et que vous devez connecter un ordinateur, combinant tous les appareils en un seul système. Pour comprendre l'intégrité de l'image, un diagramme de tous les appareils et de leurs interactions a été compilé:



D'après le diagramme, vous pourriez penser que l'ordinateur est le principal, mais ce n'est pas tout à fait vrai, il assumera le rôle de gestion et de lecture des pistes audio, ce que, comme vous l'avez déjà remarqué dans l'article précédent, nous en avons beaucoup.


Le microcontrôleur Atmega16 est devenu le cœur de l'ensemble du système (le seul critère de sélection était un nombre suffisant de GPIO), qui, via UART, communique avec le programme sur l'ordinateur. Tous les autres appareils sont fabriqués sur le microcontrôleur Atmega8 (il est excellent en termes de nombre de GPIO et a un prix abordable).


La plupart des cartes sont soudées sur les plaques d'essai bilatérales les plus cool, respectivement, tous les détails dans les boîtiers DIP. Certaines planches sont restées dès le début de la quête.


Programme pour ordinateur

La fenêtre principale du programme:



Fenêtre élargie pour les situations d'urgence:



Fenêtre d'erreur:



La carte principale ne reçoit (!) Que des signaux discrets d'autres appareils (via les optocoupleurs visibles sur la photo), communique avec l'ordinateur, contrôle la LED dans le bol mémoire.


Photo du tableau


Canon magique principal: baguette


Une baguette magique est un peu magique, un aimant en néodyme est intégré à sa pointe. Il a fait d'elle un bon grand-père-tourneur de bois pour seulement 2 $. Le principal problème était de pousser un aimant de diamètre maximum, en gardant la pointe aussi mince que possible.



Examinons maintenant de plus près chaque appareil.


Branche rouge


Le livre



L'événement audio du livre est déclenché par la remorque, qui est montée dans une étagère. Il est initialement fermé et pour l'ouvrir, vous devez apporter une baguette avec un aimant. Le livre est comme un mini-coffre-fort: il a des piles (Li-ion 3S), un interrupteur à lames et une clé à transistor qui contrôle le verrou électromécanique (afin de ne pas laisser tout le courant passer par l'interrupteur à lames. En même temps, vous pouvez voir une belle lueur à l'intérieur de l'interrupteur à lames, mais cela ne durera pas longtemps et la probabilité de «coller» des contacts). Tout est simple ici - la baguette est relevée, le commutateur à lames passe le courant, le transistor est ouvert et le pêne est rétracté. L'intérieur du coffre aux orteils ressemble à ceci:



Et la vue finale:



Dobby



Parce que la tâche était de réagir le plus interactivement pour apporter la chaussette à Dobby, le choix s'est porté sur la technologie RFID. Pour ce faire, j'ai dû coudre un petit porte-clés dans ma chaussette (comme dans un interphone à l'entrée) et mettre sur la chaussette le même signe que Dobby dans la paume de sa main. Derrière l'image de Dobby se trouve le module RFID.


L'appareil est basé sur le microcontrôleur Atmega8 et le module RFID RC522 populaire. Après avoir remonté la chaussette (un rayon de réponse allant jusqu'à 4 cm est tout simplement parfait), le transistor à effet de champ ouvre le verrou électromagnétique dans la boîte et à l'aide d'un ressort, le couvercle est soulevé, un signal est envoyé à la carte principale et un voyant rouge s'allume dans le bol de mémoire.


Frais

Branche bleue


Cheminée



La cheminée est naturellement fausse. Fait de profil et de cloison sèche collés avec des tuiles de brique.


Electronique montée sur Atmega8. Une remorque est montée dans chaque brique et une bande LED bleue est connectée. Les briques elles-mêmes reposent sur un côté des rideaux, et de l'autre un guide primitif avec un ressort de rappel est fait. Lorsque vous cliquez pour la première fois sur une brique, tous les boutons-poussoirs (il y en a 7) sont allumés pendant 100 ms et l'œil est retiré de l'image à l'aide d'un moteur pas à pas, le signal ira à la carte principale, la mémoire s'allumera et la lumière bleue dans le bol mémoire.


Le moteur pas à pas et la bande LED sont contrôlés à l'aide du transistor Darlington ULN2003 (pour les curieux, la partie théorique peut être lue ici ).


Maintenant, chaque clic sur une brique inverse son état (un clic - on, le suivant - éteint et ainsi de suite), la première fois que vous cliquez sur une brique, le capteur infrarouge est caché dans l'image: la LED IR est allumée, le rayonnement bat loin du joueur qui approche et c'est à un transistor IR qui utilisant ferme collective des ajustements précis par des résistances donnent un signal discret 0 ou 1 à la sortie.



Il existe également une solution contre les éclairages parasites (particulièrement si les utilisateurs commencent à faire briller une lampe sur la cheminée), un autre (masqué) est inclus dans le circuit ouvert du transistor IR principal, qui, lorsqu'il est exposé à la lumière, désactive simplement la réaction du microcontrôleur.


Dès que le capteur IR est déclenché, le microcontrôleur active également le clignotement de la combinaison souhaitée qui doit être pressée (surbrillance) et, en passant, la séquence de pressage joue également un rôle. Le clignotement de la combinaison souhaitée désactive toutes les briques précédemment pressées.


Lorsque la bonne combinaison a été pressée, l'image s'ouvre à l'aide d'un verrou électromécanique plus grand que dans les cercueils. Pour ce faire, j'ai même dû mettre un transformateur assez gros uniquement pour ce loquet.


(En général, ces verrous sont très faibles, bien qu'ils consomment beaucoup de courant au pic. Vous devez être très prudent avec leur contrôle, si vous lui donnez du courant pendant plus de 5 secondes, il peut simplement brûler, c'est comme ça que j'ai brûlé un verrou)


Accès aux nœuds techniques et à la carte


Branche verte


Coffret


Sur la table, il y a un pot discret sur la remorque, si vous le soulevez, le voyant vert dans le chaudron s'allume et le cercueil s'ouvre, dans lequel il y a un indice pour la porte.



(C'est le même pot qui est nécessaire pour l'oeuf de Pâques avec les blagues de Dobby, qui est décrit dans le premier article)


La porte



Lorsque vous appuyez pour la première fois complètement sur la poignée (pour cela, vous avez dû mettre 2 interrupteurs de fin de course à l'arrière de la porte afin de répondre à une pression complète sur la poignée), l'œil du serpent sur la porte commence à clignoter.



L'algorithme d'ouverture de porte correct peut être compris à partir de l'invite:



Plus tard, il s'est avéré que cet indice est assez compliqué pour les joueurs. Par la suite, il a été remplacé par un

Pendant les pauses (5s), le microcontrôleur se bloque simplement en retard, et pendant l'appui, la variable est incrémentée. Par conséquent, si vous appuyez longuement et fortement sur la poignée, elle s'ouvrira de toute façon, d'ailleurs, certaines personnes ont ouvert la porte de cette façon, sans comprendre comment elles l'ont fait. Afin de ne pas fabriquer une nouvelle carte avec un microcontrôleur séparé pour cette entreprise simple, plusieurs broches libres ont été trouvées sur la carte labyrinthe et tout y était connecté.


Miroir de poitrine


Sur le couvercle de la poitrine, 10 symboles magiques sont appliqués et à l'intérieur de l'anche sont collés sous eux.
L'utilisateur doit apporter la baguette aux 3 caractères corrects (la séquence n'a pas d'importance. La photo est marquée de coches), cependant, d'autres figures ont également des interrupteurs à lames, tenant la baguette à laquelle annule les clics précédents, même si elles étaient correctes (de sorte qu'il était impossible d'ouvrir la poitrine en tenant la baguette pour tous les caractères dans une rangée). Avec le bon choix de symboles, l'électroaimant dans la poitrine s'ouvre (les Atmega8 et ULN2003 préférés sont dans la poitrine). À ce stade, un signal est envoyé à la carte de numérotation du labyrinthe (une unité courante de la broche d'un MK à la broche d'un autre via une clé à transistor) et les tourbillons commencent à tourner dans le labyrinthe.



Labyrinthe



Nous avons sous-estimé cette énorme conception. Elle a pris beaucoup de temps et d'efforts pour créer, mais le résultat en valait la peine. Pour le travail du «gros objet noir sur le mur», beaucoup de GPIO était nécessaire (tout a été fait de la manière la plus primitive - pas de multiplexeurs / démultiplexeurs, seulement hardcore!), J'ai donc dû briser l'appareil en unités fonctionnelles - le cadran et le labyrinthe lui-même. Chaque nœud est réalisé sur le même Atmega8.


Processus d'assemblage

Dans le labyrinthe, le principe est simple (même si cela ne semblait pas assez simple :)). De nombreux problèmes ont été causés par la présence d'une balle à la fin de sa trajectoire. Des interférences aléatoires interféraient constamment avec le fonctionnement d'un optocoupleur ouvert.


Photo du tableau

Ce sont ces condensateurs jaunes qui ont permis de résoudre le problème du fonctionnement aléatoire des optocoupleurs.


Suite au passage du labyrinthe, l'accès à la sphère verte s'ouvre. Le système permettant d'y accéder est verrouillé depuis les portières de la voiture. (En termes de prix / force de rétraction, c'est un monstre!).


Au départ, il n'était pas prévu de donner 1 balle pour le jeu, mais j'ai dû faire des ajustements dès la phase finale, car dans les boules magnétiques, elles peuvent «coller ensemble» et les séparer est très problématique, donc, afin d'exclure cette probabilité autant que possible dans le jeu, il a été décidé d'émettre des boules à leur tour. L'alimentation est réalisée à l'aide d'un moteur pas à pas et d'un volet improvisé d'une vieille canne à lancer.


Photo du mécanisme

Unir nos forces


Echecs



Après de longues délibérations, une tâche avec un seul algorithme a été pensée (sous certaines conditions, que les joueurs réservent). Il ne restait plus qu'à mettre en place un système de mouvement d'échecs et de réaction aux actions des joueurs :)


Avec le soutien de la production agricole collective, la conception trrrresh suivante a été mise en œuvre:


Le mécanisme est composé de goujons et d'écrous M8, de roulements chinois et de bois. Un aimant est monté sur chaque figure à l'aide de laquelle le mécanisme les déplace. Le couplage entre le moteur et le goujon est constitué d'un composant du pistolet à colle, dont nous avions des consommables, en raison de la consommation considérablement accrue de colle silicone.


Photo du tableau


Qui sait, nous avons pris les pièces du jeu d'échecs Harry Potter, elles font toujours des sons différents, brillent, etc. Je ne pouvais pas laisser ces caractéristiques comme ça, j'ai déplacé ces châles sous la planche et il s'est avéré que quand ils montent à cheval - il hennit, et à la fin, vous pouvez entendre le son du roi déchu.
Après une victoire aux échecs, la porte de l'armoire s'ouvre (elle s'ouvre rapidement à l'aide d'un rail à gaz pour meubles).


Avant de passer au plus intéressant, je veux parler d'un chaudron (un bol de souvenirs) et d'un interphone pour la communication entre l'administrateur et les visiteurs pendant le match.


Bol de souvenirs


Pour commencer, ce chaudron en aluminium de dix litres a été trouvé par mon grand-père dans un garage comme un attribut de la cuisine soviétique :) L'idée de faire un bol de souvenirs d'où la fumée soufflerait (et en fait de la vapeur) restait longtemps dans les pensées, mais nous sommes arrivés à une mise en œuvre compétente un peu plus tard.


Les humidificateurs à ultrasons d'une quantité de 6 (!!!) pièces et d'une puissance totale d'environ 100 watts sont devenus l'agent de buée!



Hélas, la photo n'a pas été conservée, mais l'appareil est très simple, réalisé selon le schéma:



Des dimensions ont été faites pour s'adapter parfaitement à ce système sur la table (espace pour les tiroirs).


Interphone


Ma maigre connaissance des circuits analogiques n'a pas permis de résoudre rapidement ce problème. Après de longues tentatives infructueuses (mais comme il s'est avéré plus tard, la solution était proche de Chetrov!), J'ai demandé à mon ami de Kherson de me fabriquer un tel appareil.


Et après un certain temps, j'ai eu un tel appareil


Le préamplificateur est fabriqué sur un amplificateur opérationnel à faible bruit NE5532, après quoi il coûte TDA2006.


Circuit de préampli

Enfin, nous passons à l'un des systèmes les plus complexes de la salle - la bataille finale avec le Seigneur des Ténèbres!


Combattre


L'idée était de réaliser au moins une «bataille» à peu près similaire du joueur (Harry Potter) avec Voldemort. Pour plus d'effet, du vent a été ajouté (2 ventilateurs). Nous avons réfléchi à beaucoup d'options, puis un ami m'a parlé des LED WS2812 adressables. Maintenant, même les pilotes Arduino les plus paresseux parlent de ce qu'ils ont fait de cool, mais WS2812 était moins connu, mais ils sont devenus notre salut! Sans eux, il était tout simplement irréaliste de réaliser notre idée!


La bande LED de 5 m a été pliée en deux et un fil pour un interrupteur à lames a été étiré à l'intérieur. Les premières bandes de 5 m ont été gravées en toute sécurité dans le but d'économiser sur l'alimentation pour la même bande :)


Nous avons commencé le développement en définissant les horaires:



Certains problèmes ont ajouté l'inclusion de fans. Si vous apportez / retirez souvent la baguette, puis le relais (au départ, j'ai essayé d'activer les ventilateurs via le relais), le microcontrôleur a simplement démoli la tour. En conséquence, j'ai appris la capacité de contrôler une charge de 220 V via une opto-simmistor. Après ça je n'utilise pas de relais :)


Il convient également de mentionner qu'une grande puissance de calcul (à l'échelle Atmega8) était nécessaire pour consacrer au contrôle de la bande LED. Au début, le travail de la bande était très accroché, nous avons souffert longtemps, nous ne pouvions pas comprendre pourquoi. En conséquence, j'ai dû trouver sur Internet la personne qui a écrit la bibliothèque de cette cassette et lui demander de l'aide. La raison était simple: le MK n'a pas eu le temps d'exécuter le code dans le gestionnaire d'interruption, et dès que nous l'avons corrigé, tout fonctionnait parfaitement!


Photo du tableau


Programmes pour microcontrôleurs
Programme pour ordinateur


Selon notre idée, cela devrait être le dernier article, mais nous voulons toujours vous dire beaucoup de choses intéressantes, donc je veux annoncer la publication de deux autres articles sur la façon de faire de véritables Poudlard (1) et de se débarrasser des idées non réalisées (2) du bureau .


Ce sera intéressant!

Source: https://habr.com/ru/post/fr411059/


All Articles