Innholdsfortegnelse:
- Trinn 1: Bygg saken
- Trinn 2: Konstruere Flipper Mechanic
- Trinn 3: Plassering av veggene
- Trinn 4: Legge til score -blokker
- Trinn 5: Legge til spillet over kontakt
- Trinn 6: Boring av kabelhullene
- Trinn 7: Koble alt opp
- Trinn 8: Last opp koden
Video: Arduino: Pinball Machine: 8 Steps (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Siden jeg alltid har elsket både flipperspill og elektronikk, bestemte jeg meg for å bygge min egen flipperspillmaskin. Jeg valgte Arduino for programmering og elektronikk, fordi det er en lett tilgjengelig plattform som er både kompakt og enkel å bruke.
I denne guiden vil jeg forklare utviklingsprosessen min, så kanskje en av dere entusiaster kan skape noe likt.
Trinn 1: Bygg saken
La oss begynne med saken om flipperspill. Jeg har laget en ganske enkel konstruksjon. Jeg saget av en bunnplate og brukte 4 bittesmå tresøyler i hjørnene for å koble veggdelene. Størrelsen på saken din er ditt eget valg, jeg valgte å gjøre den litt mindre enn en original flipperspill da jeg ikke hadde tenkt å legge til noen super spektakulære statister for å fylle opp plassen. Jeg brukte både skruer og lim for å gjøre saken så stødig som mulig. På baksiden boret jeg to hull i gulvstykket for de to beina som vil gi flipperspillet den ikoniske vippen. Igjen er høyden på beina helt opp til deg. Jo høyere du lager beina, desto raskere vil ballen trille (nedover).
Trinn 2: Konstruere Flipper Mechanic
Siden jeg ønsket å begrense kostnaden for dette prosjektet, bestemte jeg meg for å lage fullt mekaniske tøfler i stedet for elektroniske. Hvis du er interessert i elektroniske svømmeføtter, kan du bruke en konstruksjon som er litt den samme, men med en såkalt 'solenoid' koblet til den (solenoider med nok strøm til å kontrollere svømmeføtter var for dyre for meg).
Jeg begynte med å bore to hull i bunnen for svingpunktet til begge svømmene. Jeg boret hullene (etter min mening) litt for nær hverandre, og dette førte til at spillet ble litt for enkelt til slutt. Så vær forsiktig så du ikke plasserer svømmeføtter for nær hverandre, med mindre du ønsker en enkel spillestil.
Jeg boret også to hull i begge sideveggene parallelt med flipperhullene. Disse hullene skal brukes til de to flipperknappene.
Jeg brukte fjærer for å trekke svømmeføttene tilbake til den opprinnelige posisjonen, og laget en svingende konstruksjon mellom svømmeføttene og knappene for å få dem til å rotere når knappene trykkes. For å stoppe fjærene fra å trekke svømmene for langt tilbake, plasserte jeg to skruer for å holde svømmeføttene i sin opprinnelige posisjon.
Trinn 3: Plassering av veggene
Jeg plasserte et par vegger for å omdirigere flipperspillet mot svømmeføttene. De er veldig enkle å lage. Bare bor 3 hull i bunnen av saken, og skyv inn tre trepinner. Fest et gummibånd rundt pinnene, og du er ferdig.
Trinn 4: Legge til score -blokker
Scoreblokkene er en av de mest avgjørende delene i flipperspillmaskinen, så sørg for at du gjør denne delen riktig. Jeg lagde tre score -blokker for flipperspillmaskinen min, men igjen er alt opp til deg.
Jeg saget av et lite stykke kosteskaft og pakket kobbertråd rundt det. Arduinoen vil drive denne kobbertråden konstant med 5V. Jeg loddet fire pennfjærer til siden for bedre kontakt med ballen.
Måten poengblokkene fungerer på, er at ballen fullfører en krets som fører til en inngangspinne på Arduino. Så det jeg gjorde var å tape aluminiumsfolie på bunnen av saken (IKKE RØRE KOPPEREN) og koble folien til en pinne på Arduino. Når ballen treffer både kobber og aluminium, er kretsen fullført og Arduino vil motta et signal.
Jeg koblet alle skårblokkene sammen ved hjelp av aluminiumsfolie, men husk at den klebrig siden IKKE leder strøm.
Trinn 5: Legge til spillet over kontakt
På bunnen av flipperspillet, mellom flippene, la jeg til et spill over kontakt. Når ballen treffer denne kontakten, mister spilleren en ball. Konstruksjonen jeg laget er veldig mye den samme som score -blokkene. Bare her brukte jeg to skruer, og igjen et stykke aluminiumsfolie på bunnen.
Trinn 6: Boring av kabelhullene
Før vi begynner å koble alt opp til Arduino, må vi først bore et par hull for kablene. Jeg boret et hull gjennom begge biter av aluminiumsfolie, så ett hull i aluminiumsfolien nær skårblokkene, og ett hull i aluminiumsfolien i nærheten av spillet over kontakt.
I tillegg til dette, boret jeg også et hull nederst til venstre, mellom veggene, for kabelen som fører til den ekstra ballporten Servo.
Det bør også være et hull for kabelen som er koblet til LCD -skjermen nederst.
Trinn 7: Koble alt opp
Jeg laget denne skjematikken for å få en bedre oversikt over hvor alle kablene skal gå. Kryssene er punktene der kabler kobles til. Jeg prøvde å lodde så mye som mulig for å gjøre alt litt mer stabilt og pålitelig. Kablingene vil ta litt tid, men etter at dette er gjort er du nesten der!
Trinn 8: Last opp koden
Last opp følgende kode til Arduino for å få flipperspillet til å leve!
// Inkluder biblioteket for lcd
#include #include
// Initialiser lcd -datapinnene
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
// Lag en servo
ServoballGateServo;
// Lag variabler for pinnene vi bruker
int gameoverPin = 6; int scorePin = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Initialiser spillvariabler for flipperspillmaskinen
int score = 0; int highscore = 500; bool highscoreReached = false; int baller = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = false;
// kjør denne koden en gang i den første rammen
void setup () {// Angi pinMode for pinnene vi bruker pinMode (gameoverPin, INPUT); pinMode (scorePin, INPUT);
// Initialiser LCD -skjermen ved å angi bredden og høyden
lcd.begin (16, 2);
// Fest kulportens servo til den passende pinnen
ballGateServo.attach (ballGateServoPin);
// Tilbakestill gate -servoen til startposisjonen
ballGateServo.write (0); }
// Kjør denne koden hver eneste ramme
void loop () {// Capture the pin input in gameoverState = digitalRead (gameoverPin); int scoreState = digitalRead (scorePin);
// Legg til poengsummen hvis innspill mottas
if (scoreState) {tone (speakerPin, 1000); poengsum += 10; } annet {noTone (4); }
// Trekk fra ballene hvis spilloverføringsgropen utløses
if (gameoverState og! gameoverTriggered) {baller -= 1; gameoverTriggered = true; gameoverTimer = gameoverTimerDuration; }
// Start gameover -timeren så snart ballen ikke berører gameover -kontakten
if (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer -= 1; } annet {gameoverTriggered = false; }}
// Blink gameover -teksten til LCD -skjermen og tilbakestill poengsummen og ballene
hvis (baller <= 0) {lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); forsinkelse (250); lcd.print ("SPILL OVER"); lcd.setCursor (0, 1); lcd.print ("Prøv igjen?"); forsinkelse (250); } lcd.clear (); poengsum = 0; ballGateServo.write (0); highscoreReached = false; baller = 3; }
if (score> highscore og! highscoreReached) {
lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); forsinkelse (250); lcd.print ("NEW HIGHSCORE"); lcd.setCursor (0, 1); lcd.print ("Plutselig død!"); forsinkelse (250); } lcd.clear (); baller = 1; ballGateServo.write (120); highscore = score; highscoreReached = true; }
// Oppdater høyeste poengsum hvis gjeldende poengsum er høyere
if (score> highscore) {highscore = score; }
// Sett markøren til linje 0
lcd.setCursor (0, 0); // Skriv ut gjeldende (høy) score til lcd if (score <= 0) {lcd.print ("Highscore:" + String (highscore) + ""); } annet {lcd.print ("Score:" + String (score) + ""); }
// Sett markøren til linje 1
lcd.setCursor (0, 1);
// Skriv ut gjeldende mengde baller til LCD -skjermen
lcd.print ("Balls:" + String (balls)); }
Anbefalt:
Arduino Pinball -maskin som spiller seg selv !: 13 trinn (med bilder)
Arduino flipperspill som spiller seg selv !: " En flipperspill som spiller seg selv, tar ikke det all moroa ut av det? &Quot; Jeg hører deg spørre. Kanskje hvis du ikke liker autonome roboter, kan det være det. Meg, men jeg handler veldig mye om å bygge roboter som kan gjøre kule ting, og denne
Micro: bit - Micro Drum Machine: 10 Steps (med bilder)
Micro: bit - Micro Drum Machine: Dette er en micro: bit mikrotrommemaskin, som i stedet for bare å generere lyden, faktisk trommer. Det er tungt inspirert av kaninene fra mikro: bit orkester. Det tok litt tid å finne noen solenoider som var enkle å bruke med mokroen: bit
DIY Keyboard Controller for MAME og Virtual Pinball: 4 trinn (med bilder)
DIY Keyboard Controller for MAME og Virtual Pinball: Dette settet med instruksjoner lar deg lage din egen tastaturkontroller ved hjelp av gamle tastaturer for litt tråd, loddetinn og et stykke tre. Disse kontrollerne har blitt brukt i mine MAME og Virtual Pinball -prosjekter .Se Virtual Pinball Inst
Pinball-maskin på bordplaten ved hjelp av Evive- Arduino-basert innebygd plattform: 18 trinn (med bilder)
Pinball-maskin på bordplaten som bruker Evive- Arduino-basert innebygd plattform: Nok en helg, nok et spennende spill! Og denne gangen er det ingen ringere enn alles favoritt arkadespill - Pinball! Dette prosjektet viser deg hvordan du enkelt kan lage din egen flipperspill hjemme. Alt du trenger er komponenter fra evive
Super GrooveAxe: Mini Drum Machine: 10 Steps (med bilder)
Super GrooveAxe: Mini Drum Machine: Feel the Tiny Boom! Har du noen gang følt at du mangler noen slag? Trenger dagen din et bedre lydspor? Føl bommen med Super GrooveAxe! Det er en lommestørrelse, batteridrevet trommemaskin & sequencer som du kan ta hvor som helst. Det gjør kveld