Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

lumière LED Whack-a-mole

Composants et fournitures

Arduino UNO
× 1
LED
× 7
Résistance 221 ohm
× 7
Joystick analogique (Générique)
× 1
Câbles de raccordement (générique)
× 8
Câbles de raccordement mâle/femelle
× 4

À propos de ce projet

C'était mon premier projet Arduino, je l'ai construit sur la base de ce que j'ai appris des premiers tutoriels sur les LED et les commandes de base.

Ce jeu "Whack-a-mole" utilise 7 LED et un joystick. Il y a 4 "taupes", représentées par les 2ème, 3ème, 4ème et 5ème lumières en partant de la gauche sur mon tableau. L'un des quatre voyants s'allumera de manière aléatoire et donnera un certain temps pour frapper la direction correspondante sur le joystick. J'ai disposé mes lumières de sorte que, de gauche à droite, les sélections sur le joystick soient :gauche, haut, bas, droite. C'est juste la convention que j'ai choisie, donc créative et essayez-en d'autres !

Les deux voyants de gauche sont rouges et verts, ce qui indique un choix incorrect ou correct. La lumière jaune à l'extrême droite fait clignoter le décompte du score actuel élevé et indique le score à chaque fois qu'une course est terminée (à chaque fois qu'un mauvais choix est fait). Naturellement, un nouveau score élevé remplace l'ancien.

La partie la plus compliquée de ce projet est peut-être le joystick analogique. Pour les deux directions du joystick, il y a des valeurs maximales de 0 et 1024 (pour le mien, j'ai dû utiliser 1023, donc si vous n'obtenez pas les sélections correctes, vous pouvez essayer). Je pense que ces valeurs peuvent également être mesurées à l'aide d'une fenêtre série. J'ai simplifié ces valeurs d'entrée à l'aide d'instructions switch pour les entrées x et y. Je ne sais pas si c'est la meilleure façon de le faire, mais parce que je n'avais besoin que des valeurs maximales de chaque direction (c'est-à-dire seulement 4 options, 4 moles LED), j'ai attribué des valeurs entières à chaque possibilité :1, 2, 3, 4 correspondant à Gauche, Droite, Haut, Bas.

Les niveaux de difficulté que j'ai écrits dans mon code en tant que constantes sont le temps en millisecondes dont la personne dispose pour faire une sélection. Vous pouvez modifier ces horaires pour modifier la difficulté selon vos préférences. J'ai pensé à intégrer un choix à l'aide de boutons ou peut-être du joystick au début d'un virage, mais cela n'en valait pas vraiment la peine car je pense que ce serait assez compliqué et pas vraiment convivial.

Par tous les moyens, faites-moi savoir quelles modifications et améliorations peuvent être apportées! :)

Code

  • WhackALED
WhackALEDArduino
// Whack a LED// Joystick variablesint sX =A0; //joystick axe x, entrée analogique sY =A1; //joystick axe y, entrée analogique sSX ; //état de x, lecture à partir de sXint sSY; //état de y, lecture à partir de sYint sS; //état converti (peut ne pas être le plus efficace)// variables de jeuint rNum; //random int choisissant la lumière aléatoire pour allumer int wins=0; //comptage consécutif winsint highScore=0; //enregistrer le score le plus élevé de victoires consécutives// Constantes de difficulté, temps de réactionconst int easy=1000;const int medium=500;const int hard=325;const int stupid=250;int ledPins[]={5,2, 4,3,6,7,8} ; //initialisation de led'sint pinCount=7; //nombre de led pinsvoid setup() {Serial.begin(9600);pinMode(sX, INPUT);pinMode(sY, INPUT);for (int thisPin =0; thisPin highScore) { //si les gains consécutifs sont supérieurs au score précédent, le nouveau score est défini. score élevé = gagne ; gagne=0 ; } for (int i=0; i<=3; i++) { //voyant rouge clignotant indiquant un choix incorrect digitalWrite(ledPins[5], HIGH); retard (50); digitalWrite(ledPins[5], LOW); retard (50); } for (int w=0; w 

Schémas

Tout doit correspondre à l'image réelle du projet, à l'exception du joystick. Mon joystick a 5 pins, 4 ou que j'ai utilisé :nommés de haut en bas "GND", "+5V", "VRx", et "VRy". "GND" et "+5V" sont connectés à GND et 5V sur l'arduino, "VRx" et "VRy" sont connectés à A0 et A1. Tout doit correspondre à l'image réelle du projet, à l'exception du joystick. Mon joystick a 5 pins, 4 ou que j'ai utilisé :nommés de haut en bas "GND", "+5V", "VRx", et "VRy". "GND" et "+5V" sont connectés à GND et 5V sur l'arduino, "VRx" et "VRy" sont connectés à A0 et A1. whack_a_mole_schematic_CBciL9GiCP.fzz

Processus de fabrication

  1. Lanterne à gaz
  2. Pointeur laser
  3. Lampe de poche
  4. Kaléidoscope
  5. Laser à semi-conducteur
  6. Photographie
  7. Feux de signalisation
  8. Accessoires LED – Accessoires pour bandes lumineuses LED
  9. Comprendre les voyants et les indicateurs du tableau de bord de la voiture