Table de ping-pong interactif LED bière (57 / 88 étapes)

Etape 57 : Logiciel : Comment fonctionne le Code de rondelle de balle

Les rondelles de boule sont des fonctionnalités très intéressantes sur cette table, et ils sont très simples à utiliser. Un joueur dépose une balle de ping-pong dans le trou de rondelle de boule gauche où un capteur IR il détectera et démarrer une pompe à eau, la pompe à eau s’éteint après 2 secondes et démarrer le ventilateur qui soufflera ensuite la balle de ping-pong de l’orifice de sortie et le joueur il saisira. Maintenant c’est tous les beaux et dandy si la situation ci-dessus produit 100 % de l’époque, mais que se passe-t-il si le joueur ne prenez jamais le ping pong balle ? Ou si le ballon est bloqué ? Ou quelqu'un déclenche accidentellement de la sonde d’entrée avec leurs doigts ? Eh bien la rondelle de balle irait indéfiniment à moins que le joueur a déclenché manuellement le capteur IR de sortie. Étant donné que je n’allais pas à dépendre de personnes manuellement de déclenchement du capteur IR de sortie si les choses se sont gâtées, j’ai décidé de mettre une erreur de manipulation dans le code de rondelle de balle.

Remarque :
Lorsque le ballon a sauté hors du trou de sortie, le capteur IR verra passer le ballon, mais il ne verra pas le ballon quand il est en vol stationnaire au-dessus de l’orifice de sortie. Afin de rendre la fonction de lavage de balle correctement, nous avons mis le ventilateur fonctionner pendant trois secondes de plus après que la sortie récepteur IR voit le ballon passer, de cette façon, que le joueur dispose de suffisamment de temps pour attraper la balle de ping-pong avant que le ventilateur s’arrête et elle descend vers le bas de la pipe. Si le joueur ne pas l’attraper, la rondelle de balle détecte il retomber le tuyau et faire sauter vers le haut. Cela se répétera pendant un certain temps avant qu’il arrive à expiration et définit un indicateur d’erreur.

Il y a vraiment que deux situations où les choses iront mal. La première situation est si une boule est placée dans le trou d’entrée, mais il ne vient jamais hors de la pipe pour déclencher le capteur de sortie et la fin de la fonction. Dans ce cas, la rondelle de balle serait juste continuer à fonctionner jusqu'à ce que quelqu'un est déclenché le capteur de sortie manuellement ou éteint le tableau. La deuxième situation se produit lorsque la balle de ping-pong sort de l’orifice de sortie et voyage le capteur mais le joueur n’est pas attraper le ballon donc la rondelle de balle s’éteint et la boule retombe vers le bas de la pipe. Si une autre balle est mises dans cette rondelle de balle même dans qu'il peut bloquer car il y aura désormais deux balles le tuyau à la place de celui qui est ce qu’il a été conçu pour. Dans tous ces cas, nous ne voulons pas les joueurs à continuer à essayer d’utiliser la rondelle de balle et empirer la situation, au lieu de cela, nous voulons désactiver la rondelle de balle jusqu'à ce que le problème a été résolu.

On programmera la table afin que si une balle coincée dans le tuyau ou si une balle retombe vers le bas de la pipe, la rondelle de balle sera complètement désactivée jusqu'à ce que le problème a été résolu et le joueur « annule » la rondelle de balle. Si un joueur tente de mettre une balle dans la rondelle de balle lorsqu’il est désactivé, les anneaux de rondelle LED ball clignote et s’éteint cinq fois ce qui indique que la balle rondelle est bloqué. J’ai joint quatre diagrammes qui expliquent chaque décision et les processus qui le microcontrôleur effectue afin de gérer ces erreurs. Voici une brève description :

Situation #1
Une boule est lâchée dans le trou d’entrée sur la rondelle de balle #2, mais elle reste coincée dans le tuyau et ne sortie la rondelle de balle. La rondelle de balle arrive à expiration et s’éteint mais le joueur tente de mettre une autre balle dans la rondelle de balle. Le point où le joueur fait la deuxième boule est deonoted par **.

Ball_Washers_Detect (UINT8 détection)
1) Assurez-vous que BW2_JAM n’est pas définie de la balle préalable. Il est effacé, afin de continuer à l’étape suivante.
2) set BW_ACTIVE = 1, alors que n’importe quelle fonction qui utilise la rondelle de balle LED anneaux pour les animations les utilisera pas.
3) tourner sur l’anneau de LED d’entrée et de la pompe à eau boule rondelle.
4) permettre deux secondes pour passer de sorte que la pompe ait suffisamment de temps pour pousser le ballon à l’autre extrémité du tuyau.
5) éteindre la pompe de lave-glace ball et allumez le ventilateur soufflant à une vitesse normale.
6) vérifier pour voir si la balle a passé la sonde sortie encore.
7) il n’a pas, a laissé deux secondes s’écoulent et garder le contrôle du capteur pour voir si elle passe.
8) boucles cinq fois (environ 10 secondes) mais expire que le ballon n’est pas venu de l’orifice de sortie.
9) set BW2_JAM = 1, alors que si une autre balle est détectée au niveau du trou d’entrée de la rondelle de balle le programme sait qu’il est coincé.

** Le joueur met dans la deuxième balle de ping-pong dans la rondelle de balle coincée.
10) Ball_Washers_Detect(detection) détecte la deuxième boule et recommence la fonction.
11) la première chose qu’il recherche est si BW2_JAM est défini, et il est.
12) la valeur de la variable globale "error_code" égale à BW2_JAM_ERROR_CODE.
13) set DIAGNOSE_ERROR = 1 (Timer3 la routine d’interruption se chargera du reste maintenant que DIAGNOSE_ERROR a la valeur).

Timer3()
11) Timer3 interrompt et vérifie si DIAGNOSE_ERROR == 1.
12) il y a une erreur, appelez la fonction Display_Error(error_code) et inclure la variable globale qui contient le code d’erreur.

Display_Error(Error)
13) vérifier le code d’erreur pour voir quel type d’erreur doit être affiché.
14) c’est un BW2_JAM_ERROR_CODE, appelez la fonction Ball_Washer_Jam_Error(error) pour informer le lecteur de l’erreur.

Ball_Washer_Jam_Error(Error)
15) ball rondelle de #2 entrée et sortie, les capteurs est les deux bloqués ? (C’est comment un utilisateur « réinitialise » la rondelle de balle).
16) ils ne sont pas tous les deux bloqués, set BW_ACTIVE égal à 1 pour n’utilise la rondelle de balle plus aucune autre animation LED anneaux.
17) clignoter les anneaux d’entrée et de sortie des rondelle ball #2 sur et hors cinq fois, il informe le joueur qu’il y a un bourrage.
18) effacer DIAGNOSE_ERROR 0 et désactivez BW_ACTIVE à 0.

Maintenant que vous avez une idée de comment le code de rondelle de balle est formaté, j’ai posté une vidéo ci-dessous pour situation #2 où le ballon n’est jamais attrapé par le trou de sortie. La vitesse du ventilateur ventilateur sera réduite avant il s’éteint alors que si le ballon n’a pas été attrapé, il va se replier vers le bas de la pipe et déclencher le capteur de sortie une autre fois. Le ventilateur va alors être accéléré à sa vitesse normale et souffler le ballon sortir la rondelle de balle, il répétera ce jusqu'à trois fois, et si le ballon n’a pas été saisi par la troisième fois il sera éteint et mettre une rondelle de balle confiture indicateur d’erreur.

Vous pouvez régler les vitesses de moteurs pour vos rondelles de boule dans le fichier d’en-tête miscellaneous.h en vertu de l’une des constantes définies BWx_PUMP_SPEED et BWx_FAN_SPEED ('x' étant la rondelle de balle #1 ou #2).

Articles Liés

Table de ping-pong de LED

Table de ping-pong de LED

Cette table de ping-pong de bière LED souffle d'esprit, et si vous le faites correctement, pas de fusibles. Le modèle entièrement fonctionnel, les deux détecte où une balle rebondit et améliore votre expérience de faire la fête avec un spectacle de l
Table de ping-pong de bière Arduino LED

Table de ping-pong de bière Arduino LED

Notre projet est une lumière LED table de divertissement, ou familièrement, une table de Beer Pong. Nous avons eu l'idée d'un groupe d'étudiants l'an dernier qui a aussi construit une table de beer pong pour leur projet final, et nous avons appris su
Table de ping-pong EL fil Infinity

Table de ping-pong EL fil Infinity

j'ai décidé de faire une table de ping-pong génial pour ma nouvelle maison. Vous allez aimer la vie au Collège !Liste des pièces :-Plier-Up de Table en plastique-EL fil de votre choix-Pilote pour le fil de votre choixJe recommande fortement coolneon.
Pliage facile Table de Ping-pong

Pliage facile Table de Ping-pong

Nous allons faire une table de ping pong pliante comme mon premier projet DIY publié en instrucables.com. Les dimensions réelles d'un une table de ping pong sont 274 x 152 cm, en raison des difficultés de transport, notre table auront suivantes dimen
Comment construire une Table de Ping Pong

Comment construire une Table de Ping Pong

le projet décrit la construction d'une table de Ping Pong dimensionnée pour les tailles standards internationaux.C'est un boulot facile : tous les gens peuvent être en mesure de le faire.Seulement les matériaux simples sont utilisés (principalement d
BRICOLAGE Table de Ping Pong

BRICOLAGE Table de Ping Pong

cette table de ping-pong DIY facile est prête à l'emploi en quelques minutes. Il en coûte moins de 100 $ et les jambes sont quelque chose que chaque propriétaire d'une maison a besoin de toute façon !NOTE : Ceci n'est pas une table de règlement ! Ce
Table de ping-pong de bière facile College

Table de ping-pong de bière facile College

Nous avons tous vu les trucs qui collégiens jettent avant l'été-canapés, matelas, lampes, etc.. S'il vous arrive de trouver une étagère et une planche à repasser, vous pouvez transformer cette ordure dans une table de ping-pong de bière solide pour v
Upcycling cliquez sur stratifié pour une table de ping-pong

Upcycling cliquez sur stratifié pour une table de ping-pong

tout le monde qui a déjà installé un sol stratifié clic sait qu'on finit toujours avec une tonne de planches de rechange.C'est ce que vous faites avec lui.Que devez-vous :2 paquets de stratifié clic (au moins 137cm de longueur)1 tube de kit de montag
Comment construire une table de ping-pong pliable bière !

Comment construire une table de ping-pong pliable bière !

Pour un ami, j'ai construit cette table de ping-pong de bière !La question est qu'une table de beer pong est vraiment grande, donc j'ai créer un pliable !Celui-ci est adapté en un terrain de football.Étape 1: Préparer des matériaux ! La table est 2,4
Table de ping-pong/café bière bon marché et simple

Table de ping-pong/café bière bon marché et simple

je suis un étudiant de collège avec des élèves de collège pour les amis. Certains d'entre eux ont une maison et voulaient une table de beer pong. Nous n'étions pas chers, donc nous fait celui-ci.Matériaux :-Porte de l'âme dans un centre d'accueil de
Table de Ping Pong MCPE

Table de Ping Pong MCPE

Sup ! Alors, j'ai atteint mon objectif pour les adeptes du 30 et il n'est pas même près de la fin du mois d'avril ! En récompense, j'ai fait ce peasy facile de ping-pong qui correspond à votre propre maison ! :), espérons que vous apprécierez !Étape
Table de ping-pong de bière portable

Table de ping-pong de bière portable

Tout d'abord, je suis d'Afrique du Sud et pong bière n'est pas grand, ici, ou devrais-je dire que ce n'est pas gros encore. J'ai décidé de construire ma propre table parce que vous ne pouvez pas simplement acheter tables ici et si vous voulez importe
Table du peuple : Outdoor Public Ping Pong

Table du peuple : Outdoor Public Ping Pong

Ce Instructable fournit des détails et des instructions pour une table de ping-pong extérieure qui sert également d'une œuvre d'art et peut devenir un élément permanent sur un trottoir, le plaza ou le parc. Notre intention était de fournir un exemple
Comment.. Faire de la magie A Ping Pong Table

Comment.. Faire de la magie A Ping Pong Table

Voilà comment nous avons fait notre première table de ping-pong magique ! C'est une table de la salle de conférence qui peut facilement être transformée en une table de ping pong ! Nous espérons que vous apprécierez !Etape 1: Tout d'abord vous avez b