Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

LED-lamp Whack-a-mole

Componenten en benodigdheden

Arduino UNO
× 1
LED's
× 7
Weerstand 221 ohm
× 7
Analoge joystick (algemeen)
× 1
Jumperdraden (algemeen)
× 8
Mannelijke/Vrouwelijke doorverbindingsdraden
× 4

Over dit project

Dit was mijn eerste Arduino-project, ik heb het gebouwd op basis van wat ik heb geleerd van de vroege tutorials over LED's en basisbedieningen.

Dit "Whack-a-mole" spel maakt gebruik van 7 LED's en een joystick. Er zijn 4 "mollen", weergegeven door de 2e, 3e, 4e en 5e lichten van links op mijn bord. Een van de vier lampjes zal willekeurig oplichten en een ingestelde tijd geven om de corresponderende richting op de joystick te raken. Ik heb mijn lichten zo gerangschikt dat, van links naar rechts, de selecties op de joystick zijn:links, omhoog, omlaag, rechts. Dit is gewoon de conventie die ik heb gekozen, dus creatief en probeer andere!

De twee lampjes aan de linkerkant zijn rood en groen, wat een onjuiste of juiste keuze aangeeft. Het gele lampje helemaal rechts knippert de telling voor de huidige hoogste score en geeft de score aan elke keer dat een run voorbij is (wanneer een verkeerde keuze wordt gemaakt). Uiteraard vervangt een nieuwe hoge score de oude.

Misschien wel het meest gecompliceerde onderdeel van dit project is de analoge joystick. Voor beide richtingen van de joystick zijn er maximale waarden van 0 en 1024 (voor de mijne moest ik 1023 gebruiken, dus als je de selecties niet correct krijgt, kun je dat proberen). Ik geloof dat deze waarden ook kunnen worden gemeten met behulp van een serieel venster. Ik heb deze invoerwaarden vereenvoudigd met schakelinstructies voor zowel de x- als de y-invoer. Ik weet niet zeker of dit de beste manier is om het te doen, maar omdat ik alleen de maximale waarden van elke richting nodig had (dwz slechts 4 opties, 4 LED-mollen), heb ik aan elke mogelijkheid gehele waarden toegewezen:1, 2, 3, 4 corresponderend met Links, Rechts, Boven, Onder.

De moeilijkheidsgraden die ik als constanten in mijn code heb geschreven, zijn de tijd in milliseconden die de persoon nodig heeft om een ​​keuze te maken. Je kunt met deze tijden rommelen om de moeilijkheidsgraad naar je eigen voorkeur te wijzigen. Ik dacht erover om een ​​keuze te integreren met behulp van knoppen of misschien de joystick aan het begin van een bocht, maar het was niet echt de moeite waard omdat ik denk dat het behoorlijk ingewikkeld en niet echt gebruiksvriendelijk zou zijn.

Laat me in ieder geval weten welke wijzigingen en verbeteringen kunnen worden aangebracht! :)

Code

  • WhackALED
WhackALEDArduino
// Whack a LED// Joystick variabelenint sX =A0; //joystick x-as, analoge inputint sY =A1; //joystick y-as, analoge inputint sSX; // staat van x, lezen van sXint sSY; // staat van y, lezen van sYint sS; //converted state (misschien niet het meest efficiënt)// Game-variabelenint rNum; // random int het willekeurige licht kiezen om onint wins=0 in te schakelen; // opeenvolgende overwinningen tellen highScore =0; // de hoogste score van opeenvolgende overwinningen opslaan // Moeilijkheidsconstanten, tijd om te reagerenconst int easy=1000;const int medium=500;const int hard=325;const int stupid=250;int ledPins[]={5,2, 4,3,6,7,8}; //initialiseren van led'sint pinCount=7; // aantal led-pinsvoid setup () {Serial.begin (9600); pinMode (sX, INPUT); pinMode (sY, INPUT); for (int thisPin =0; thisPin highScore) { //als de opeenvolgende overwinningen hoger zijn dan de vorige highscore, wordt de nieuwe highscore ingesteld. hoge score=wint; wint =0; } for (int i=0; i<=3; i++) { // knipperend rood lampje geeft onjuiste keuze aan digitalWrite (ledPins [5], HIGH); vertraging (50); digitalWrite (ledPins [5], LAAG); vertraging (50); } for (int w=0; w  

Schema's

Alles moet overeenkomen met het echte beeld van het project, behalve de joystick. Mijn joystick heeft 5 pinnen, 4 of die ik heb gebruikt:van boven naar beneden "GND", "+5V", "VRx" en "VRy" genoemd. "GND" en "+5V" zijn verbonden met GND en 5V op de arduino, "VRx" en "VRy" zijn verbonden met A0 en A1. Alles moet overeenkomen met het echte beeld van het project, behalve de joystick. Mijn joystick heeft 5 pinnen, 4 of die ik heb gebruikt:van boven naar beneden "GND", "+5V", "VRx" en "VRy" genoemd. "GND" en "+5V" zijn verbonden met GND en 5V op de arduino, "VRx" en "VRy" zijn verbonden met A0 en A1. whack_a_mole_schematic_CBciL9GiCP.fzz

Productieproces

  1. Gaslantaarn
  2. Laseraanwijzer
  3. Zaklamp
  4. Caleidoscoop
  5. Halfgeleiderlaser
  6. Foto
  7. Verkeerssignaal
  8. Light Emitting Diode (LED)
  9. Scheuren in een Zigbee-gebaseerd LED-licht
  10. LED-accessoires –LED-lichtstripaccessoires
  11. Inzicht in dashboardverlichting en indicatoren