Sisällysluettelo:
- Vaihe 1: Kotelon rakentaminen
- Vaihe 2: Flipper -mekaanikon rakentaminen
- Vaihe 3: Seinien sijoittaminen
- Vaihe 4: Pisteiden lisääminen
- Vaihe 5: Pelin lisääminen yhteystietoon
- Vaihe 6: Kaapelireikien poraus
- Vaihe 7: Johdotus kaikkeen
- Vaihe 8: Lataa koodi
Video: Arduino: Pinball Machine: 8 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Koska olen aina rakastanut sekä flipperikoneita että elektroniikkaa, päätin rakentaa oman flipperikoneeni. Valitsin Arduinon ohjelmointia ja elektroniikkaa varten, koska se on helppokäyttöinen alusta, joka on sekä kompakti että helppokäyttöinen.
Tässä oppaassa selitän kehitysprosessini, joten ehkä joku teistä innostuneista voisi luoda jotain samanlaista.
Vaihe 1: Kotelon rakentaminen
Aloitetaan flipperikoneen tapauksesta. Tein melko yksinkertaisen rakenteen. Sahasin pohjalevyn ja käytin 4 pientä puupylvästä kulmissa seinäkappaleiden yhdistämiseksi. Kotelosi koko on oma valintasi, päätin tehdä siitä hieman pienemmän kuin alkuperäinen flipperi, koska en aikonut lisätä mitään mahtavia lisäosia tilan täyttämiseksi. Käytin sekä ruuveja että liimaa, jotta kotelo olisi mahdollisimman vakaa. Takaosaan porasin kaksi reikää lattiakappaleeseen molemmille jaloille, jotka antavat flipperikoneelle ikonisen kallistuksen. Jälleen kerran jalkojen korkeus riippuu sinusta. Mitä korkeammalle teet jalat, sitä nopeammin pallo rullaa (alaspäin).
Vaihe 2: Flipper -mekaanikon rakentaminen
Koska halusin rajoittaa tämän hankkeen kustannuksia, päätin valmistaa täysin mekaaniset räpylät elektronisten sijasta. Jos olet kiinnostunut elektronisista räpylöistä, voit käyttää rakennetta, joka on hieman sama, mutta johon on liitetty niin kutsuttu solenoidi (solenoidit, joilla on riittävästi tehoa räpylöiden ohjaamiseen, olivat minulle liian kalliita).
Aloitin poraamalla kaksi reikää pohjaan molempien räpylöiden kääntöpisteeseen. Porasin reikiä (mielestäni) hieman liian lähelle toisiaan, ja tämä sai pelin lopulta hieman liian helpoksi. Joten ole varovainen, ettet aseta räpylöitä liian lähelle toisiaan, ellet halua helppoa pelityyliä.
Porasin myös kaksi reikää molempiin sivuseiniin rintareikien suuntaisesti. Näitä reikiä käytetään molempiin läppäpainikkeisiin.
Vedin räpylät takaisin alkuperäiseen asentoonsa jousilla ja tein kääntörakenteen räpylöiden ja painikkeiden väliin, jotta ne pyörivät, kun painikkeita painetaan. Jotta jouset eivät vetäisi räpylöitä liian pitkälle, laitoin kaksi ruuvia pitämään räpylät alkuperäisessä asennossaan.
Vaihe 3: Seinien sijoittaminen
Laitoin pari seinää ohjaamaan flipperiä kohti räpylöitä. Ne ovat hyvin yksinkertaisia tehdä. Poraa vain 3 reikää kotelon pohjalle ja työnnä kolme puusta tappia. Kääri kuminauha nastojen ympärille ja olet valmis.
Vaihe 4: Pisteiden lisääminen
Pisteet ovat yksi flipperikoneen tärkeimmistä osista, joten varmista, että teet tämän osan oikein. Tein kolme pistepalkkia flipperikoneelleni, mutta tämä on jälleen sinun tehtäväsi.
Sahain pois pienen palan luudatikkua ja kiedoin sen ympärille kuparilankaa. Arduino käyttää tätä kuparilankaa jatkuvasti 5 V: lla. Juotin sivulle neljä kynäjousta paremman kosketuksen palloon.
Piste -lohkojen tapa on, että pallo suorittaa piirin, joka johtaa Arduinon syöttötasoon. Joten tein teipin alumiinifolion kotelon pohjalle (EI KOSKETTAVAA KUPARIA) ja johdin kalvo Arduinon tapille. Aina kun pallo osuu sekä kupariin että alumiiniin, piiri on valmis ja Arduino vastaanottaa signaalin.
Yhdistin kaikki pultit yhteen alumiinifoliolla, mutta muista, että tahmea puoli EI johda sähköä.
Vaihe 5: Pelin lisääminen yhteystietoon
Pinball -koneen alaosaan, räpylöiden väliin, lisäsin pelin kontaktin yli. Aina kun pallo osuu tähän kosketukseen, pelaaja menettää pallon. Rakenne, jonka tein, on pitkälti sama kuin pisteet. Vain täällä käytin kahta ruuvia ja pohjassa jälleen alumiinifoliota.
Vaihe 6: Kaapelireikien poraus
Ennen kuin aloitamme johdotuksen kaikkeen Arduinoon, meidän on ensin porattava pari reikää kaapeleille. Porasin reiän kummankin alumiinifolion palan läpi, joten yksi reikä alumiinifoliossa lähellä pisteitä ja yksi reikä alumiinifoliossa pelin lähellä kosketuksen yli.
Tämän lisäksi porasin myös reiän vasempaan alakulmaan seinien väliin ylimääräiseen Servo -palloporttiin johtavaa kaapelia varten.
Myös näytön alareunassa on oltava reikä nestekidenäyttöön kytketylle kaapelille.
Vaihe 7: Johdotus kaikkeen
Tein tämän kaavion saadakseni paremman yleiskuvan siitä, mihin kaikki kaapelit pitäisi viedä. Ristit ovat kaapeleiden liitoskohtia. Yritin juottaa mahdollisimman paljon tehdäkseni kaikesta hieman vakaamman ja luotettavamman. Johdotus kestää jonkin aikaa, mutta tämän jälkeen olet melkein perillä!
Vaihe 8: Lataa koodi
Lataa seuraava koodi Arduinollesi, jotta flipperikoneesi käynnistyy!
// Sisällytä lcd: n kirjasto
#Sisällytä #Sisällytä
// Alusta LCD -datanastat
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
// Luo servo
ServopalloGateServo;
// Luo muuttujat käyttämillemme nastoille
int gameoverPin = 6; int scorePin = 5; int kaiutinPin = 4; int ballGateServoPin = 3;
// Alusta pelimuuttujat flipperikoneelle
int pisteet = 0; int huipputulos = 500; bool huipputulosReached = false; int pallot = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = epätosi;
// suorita tämä koodi kerran ensimmäisessä kehyksessä
void setup () {// Aseta pinMode käyttämillemme nastoille pinMode (gameoverPin, INPUT); pinMode (scorePin, INPUT);
// Alusta LCD antamalla leveys ja korkeus
lcd. alku (16, 2);
// Kiinnitä kuulaportin servo sopivaan tappiin
ballGateServo.attach (ballGateServoPin);
// Palauta portin servo lähtöasentoon
ballGateServo.write (0); }
// Suorita tämä koodi jokaisessa kehyksessä
void loop () {// Tallenna nastatulot int gameoverState = digitalRead (gameoverPin); int scoreState = digitalRead (scorePin);
// Lisää pisteisiin, jos syötettä vastaanotetaan
if (scoreState) {tone (speakerPin, 1000); pisteet += 10; } muu {noTone (4); }
// Vähennä palloista, jos peliaukko laukaistaan
if (gameoverState ja! gameoverTriggered) {pallot -= 1; gameoverTriggered = tosi; gameoverTimer = gameoverTimerDuration; }
// Käynnistä peliajastin heti, kun pallo ei kosketa pelin kosketinta
if (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer -= 1; } else {gameoverTriggered = false; }}
// Blink the gameover text to the lcd and reset the score and pallot
if (pallot <= 0) {lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); viive (250); lcd.print ("GAME OVER"); lcd.setCursor (0, 1); lcd.print ("Yritätkö uudelleen?"); viive (250); } lcd.clear (); pisteet = 0; ballGateServo.write (0); highscoreReached = epätosi; pallot = 3; }
jos (pisteet> huipputulos ja! huipputulosReached) {
lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); viive (250); lcd.print ("NEW HIGHSCORE"); lcd.setCursor (0, 1); lcd.print ("Äkillinen kuolema!"); viive (250); } lcd.clear (); pallot = 1; ballGateServo.write (120); huipputulos = pisteet; highscoreReached = totta; }
// Päivitä huipputulos, jos nykyinen tulos on korkeampi
if (pisteet> huipputulokset) {huipputulos = pisteet; }
// Aseta kohdistin riville 0
lcd.setCursor (0, 0); // Tulosta nykyinen (korkea) pisteet lcd: lle, jos (pisteet <= 0) {lcd.print ("Huipputulos:" + Jono (huipputulos) + ""); } else {lcd.print ("Pisteet:" + Jono (pisteet) + ""); }
// Aseta kohdistin riville 1
lcd.setCursor (0, 1);
// Tulosta nykyinen määrä palloja lcd: lle
lcd.print ("Pallot:" + Jono (pallot)); }
Suositeltava:
Hands-free pahvi Gumball Machine: 18 vaihetta (kuvilla)
Hands-free-pahvi Gumball-kone: Teimme kosketuksettoman Gumball-koneen käyttämällä mikro: bittiä, hullujen piirien bittilevyä, etäisyysanturia, servoa ja pahvia. Sen tekeminen ja käyttö oli "BLAST"!! ? ? Kun asetat kätesi raketin pohjaan, etäisyysanturi
Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: 6 vaihetta (kuvilla)
Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: Johdanto PongMate CyberCannon Mark III on uusin ja kehittynein olutpongitekniikka, joka on koskaan myyty yleisölle. Uuden CyberCannonin avulla kuka tahansa voi tulla pelätyimmäksi pelaajaksi olutpongin pöydässä. Miten tämä p
Micro: bit - Micro Drum Machine: 10 vaihetta (kuvilla)
Micro: bit - Micro Drum Machine: Tämä on micro: bit mikrorumpukone, joka äänen tuottamisen sijaan toimii tehokkaasti. Se on raskas innoittamana micro: bit -orkesterin kaneista. Kesti jonkin aikaa löytää joitakin solenoideja, joita oli helppo käyttää mocro: bit
DIY Dodow Clone Arduino Sleep Meditation Machine: 4 vaihetta (kuvilla)
DIY Dodow Clone Arduino Sleep Meditation Machine: Synkronoi hengityssi hehkuvien valojen kanssa vähentääksesi hengitystaajuuttasi ja toivottavasti nukahtamaan helpommin
Sesame Street - Pinball -numeroiden kello: 8 vaihetta (kuvilla)
Sesame Street - Pinball -numeroiden kello: Tässä ohjeessa kuvataan räätälöidyn kellon rakenne. Vaikka tämä on nimenomaan Sesame Streetin kellon rakentaminen; Pinball -numerolaskenta -animaatio, yleiset toimenpiteet ovat samat ja ohjeet