Sisukord:
- Samm: korpuse ehitamine
- 2. etapp: Flipperi mehaaniku ehitamine
- 3. samm: seinte paigaldamine
- 4. samm: skooriplokkide lisamine
- Samm 5: mängu lisamine kontaktile
- 6. samm: kaabliaukude puurimine
- Samm: ühendage kõik üles
- Samm: koodi üleslaadimine
Video: Arduino: Pinball Machine: 8 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
Kuna ma olen alati armastanud nii pinball -masinaid kui ka elektroonikat, otsustasin ehitada oma flipperi. Valisin programmeerimise ja elektroonika jaoks Arduino, sest see on hästi ligipääsetav platvorm, mis on nii kompaktne kui ka lihtne kasutada.
Selles juhendis selgitan oma arendusprotsessi, nii et võib -olla võiks keegi teie entusiastidest luua midagi sarnast.
Samm: korpuse ehitamine
Alustame flipperimasina korpusega. Tegin üsna lihtsa konstruktsiooni. Saagisin põhjaplaadi maha ja kasutasin seinaosade ühendamiseks nurkades 4 pisikest puusammast. Teie korpuse suurus on teie enda valik, ma otsustasin teha selle pisut väiksemaks kui originaal flipperimasin, kuna ma ei plaaninud ruumi täitmiseks lisada ühtegi üliefektiivset lisatööd. Kasutasin nii kruvisid kui ka liimi, et korpus oleks võimalikult stabiilne. Tagaküljel puurisin kahe jala jaoks põrandatükki kaks auku, mis annavad pinball -masinale ikoonilise kalde. Jällegi on jalgade kõrgus kõik teie otsustada. Mida pikemaks teete jalad, seda kiiremini pall veereb (allapoole).
2. etapp: Flipperi mehaaniku ehitamine
Kuna ma tahtsin selle projekti maksumust piirata, otsustasin teha elektrooniliste asemel täielikult mehaanilised klapid. Kui olete huvitatud elektroonilistest lestadest, võite kasutada konstruktsiooni, mis on mõnevõrra sama, kuid mille külge on ühendatud nn solenoid (lestade juhtimiseks piisava võimsusega solenoidid olid minu jaoks liiga kallid).
Alustuseks puurisin mõlema klapi pöördepunkti põhja kaks auku. Puurisin augud (minu arvates) üksteisele natuke liiga lähedale ja see muutis mängu lõpuks natuke liiga lihtsaks. Nii et olge ettevaatlik ja ärge asetage lestasid üksteisele liiga lähedale, kui te ei soovi lihtsat mängustiili.
Samuti puurisin mõlemale külgseinale kaks auku paralleelselt klapiaukudega. Neid auke tuleb kasutada kahe klappnupu jaoks.
Tõmbasin klapid tagasi algsesse asendisse vedrude abil ja tegin pöörleva konstruktsiooni klapide ja nuppude vahele, et need nuppude vajutamisel pöörlema hakkaksid. Et vedrud ei tõmbaks lestasid liiga kaugele tagasi, panin kaks kruvi, mis hoiavad klappe algses asendis.
3. samm: seinte paigaldamine
Asetasin paar seina, et suunata flipper lestade poole. Neid on väga lihtne valmistada. Puurige korpuse põhja lihtsalt 3 auku ja lükake sisse kolm puidust tihvti. Keerake tihvtide ümber kummipael ja oletegi valmis.
4. samm: skooriplokkide lisamine
Skooriplokid on flipperimasina üks olulisemaid osi, seega veenduge, et teete seda osa õigesti. Ma tegin oma pinball -masina jaoks kolm punktiplokki, kuid see kõik on jälle teie otsustada.
Saagisin maha väikese harjatüki ja keerasin selle ümber vasktraadi. Arduino toidab seda vasktraati pidevalt 5 V toitega. Palli parema kontakti saamiseks jootsin küljele neli pliiatsi vedrut.
Skooriplokkide toimimise viis on see, et pall lõpetab vooluringi, mis viib Arduino sisendnõelale. Nii et ma teipisin alumiiniumfooliumi korpuse põhja (mitte puudutades vaske) ja ühendasin fooliumi Arduino tihvtiga. Kui pall tabab nii vaske kui ka alumiiniumi, on vooluring täielik ja Arduino saab signaali.
Ma ühendasin kõik punktplokid alumiiniumfooliumi abil kokku, kuid pidage meeles, et kleepuv pool EI juhi elektrit.
Samm 5: mängu lisamine kontaktile
Pinball -masina põhja, lestade vahele, lisasin mängu üle kontakti. Kui pall tabab seda kontakti, kaotab mängija palli. Minu tehtud konstruktsioon on paljuski sama, mis skooriplokid. Ainult siin kasutasin kahte kruvi ja jälle alumiiniumfooliumi tükki.
6. samm: kaabliaukude puurimine
Enne kui hakkame kõike Arduinoga ühendama, peame puurima kaablite jaoks paar auku. Puurisin mõlemast alumiiniumfooliumi tükist augu, nii et üks auk alumiiniumfooliumis skooriplokkide lähedal ja üks auk alumiiniumfooliumis mängu lähedal kontakti kohal.
Peale selle puurisin vasakusse allossa, seinte vahele, auku kaabli juurde, mis viib lisapalliväravasse Servo.
Samuti peaks põhjas olema ava LCD -ekraaniga ühendatud kaabli jaoks.
Samm: ühendage kõik üles
Tegin selle skeemi, et saada parem ülevaade sellest, kuhu kõik kaablid peaksid minema. Ristid on kaablite ühendamise kohad. Proovisin joota nii palju kui võimalik, et muuta kõik natuke stabiilsemaks ja usaldusväärsemaks. Juhtmestik võtab natuke aega, kuid pärast seda olete peaaegu kohal!
Samm: koodi üleslaadimine
Laadige oma Arduinole üles järgmine kood, et oma pinball -masin ellu viia!
// Kaasa lcd raamatukogu
#kaasama #kaasama
// Initsialiseeri lcd andmestikud
LiquidCrystal LCD (7, 8, 9, 10, 11, 12);
// Loo servo
ServopallGateServo;
// Looge muutujad kasutatavate tihvtide jaoks
int gameoverPin = 6; int scorePin = 5; int kõlarPin = 4; int ballGateServoPin = 3;
// Initsialiseeri mängumuutujad pinball -masina jaoks
int skoor = 0; int rekordid = 500; bool highscoreReached = vale; int pallid = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = vale;
// käivitage see kood esimesel kaadril üks kord
void setup () {// Määrake pinMode nende tihvtide jaoks, mida kasutame pinMode (gameoverPin, INPUT); pinMode (scorePin, INPUT);
// Initsialiseeri LCD, andes laiuse ja kõrguse
lcd.algus (16, 2);
// Kinnitage kuulvärava servo sobiva tihvti külge
ballGateServo.attach (ballGateServoPin);
// Lähtestage värava servo algasendisse
ballGateServo.write (0); }
// Käivitage see kood igal kaadril
void loop () {// Jäädvustage pin -sisendid int gameoverState = digitalRead (gameoverPin); int scoreState = digitalRead (scorePin);
// Lisage tulemusele, kui sisend on vastu võetud
if (scoreState) {toon (speakerPin, 1000); skoor += 10; } muu {noTone (4); }
// Lahutage pallidest, kui käivitatakse mängumäng
if (gameoverState ja! gameoverTriggered) {pallid -= 1; gameoverTriggered = tõsi; gameoverTimer = gameoverTimerDuration; }
// Käivitage mängu taimer kohe, kui pall ei puuduta mängukontakti
if (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer -= 1; } else {gameoverTriggered = false; }}
// Pilgutage mänguülekande teksti LCD -le ja nullige skoor ning pallid
if (pallid <= 0) {lcd.setCursor (0, 0); jaoks (int i = 5; i> = 1; i--) {lcd.clear (); viivitus (250); lcd.print ("MÄNG OVER"); lcd.setCursor (0, 1); lcd.print ("Kas proovida uuesti?"); viivitus (250); } lcd.clear (); skoor = 0; ballGateServo.write (0); highscoreReached = vale; pallid = 3; }
kui (skoor> rekord ja! rekordi) {)
lcd.setCursor (0, 0); jaoks (int i = 5; i> = 1; i--) {lcd.clear (); viivitus (250); lcd.print ("UUS HIGHSCORE"); lcd.setCursor (0, 1); lcd.print ("Äkiline surm!"); viivitus (250); } lcd.clear (); pallid = 1; ballGateServo.write (120); rekordid = skoor; highscoreReached = tõsi; }
// Värskendage rekordit, kui praegune tulemus on kõrgem
if (skoor> rekord) {rekordid = skoor; }
// Seadke kursor reale 0
lcd.setCursor (0, 0); // Prindi praegune (kõrgeim) skoor lcd -le, kui (skoor <= 0) {lcd.print ("Rekord:" + String (rekord) + ""); } else {lcd.print ("Score:" + String (score) + ""); }
// Seadke kursor reale 1
lcd.setCursor (0, 1);
// Prindi praegune pallide kogus LCD -le
lcd.print ("Pallid:" + String (pallid)); }
Soovitan:
Arduino pinball -masin, mis mängib ennast!: 13 sammu (piltidega)
Arduino flippermasin, mis mängib iseennast !: " Pinball -masin, mis mängib iseennast, kas see ei võta sellest kogu lõbu välja? &Quot; Ma kuulen, et sa küsid. Võib -olla, kui te pole autonoomsed robotid, võib see olla. Mina aga tegelen väga robotite ehitamisega, mis suudavad lahedaid asju teha, ja see üks
Micro: bit - Micro Drum Machine: 10 sammu (piltidega)
Micro: bit - Micro Drum Machine: See on micro: bit mikrotrumlimasin, mis heli asemel lihtsalt tekitab trumme. See on raske inspireeritud micro: bit orkestri küülikutest. Mul kulus natuke aega, et leida mõned solenoidid, mida oli lihtne kasutada koos mocro: bit
Office Arcade Machine: 9 sammu (piltidega)
Office Arcade Machine: Neile teist, kes ootasid, et see on järjekordne käsitsi valmistatud süntesaatori korpus, võib see olla pisut pettumust valmistav, kuid täna tahaksin jagada meie kogemust täissuuruses arkaadimasina ehitamisel meie kontori jaoks. See oli bunci ühine pingutus
X-men Arcade Machine: 30 sammu (piltidega)
X-men Arcade Machine: Ehitasin selle " X-men " Arkaadimasin koos tütrega umbes kahe aasta jooksul (see ei oleks pidanud nii kaua aega võtma). See oli tõesti lõbus projekt ja oleme selle väljanägemisega väga rahul. Mõned juhised selle juhendi kohta
Sesame Street - Pinball Number Count Clock: 8 sammu (koos piltidega)
Sesame Street - Pinball Number Count Clock: see juhend annab ülevaate kohandatud kella ehitusest. Kuigi see on konkreetselt Sesame Streetil asuva kella ehitus; Pinball -numbrite loendamise animatsioon, üldised toimingud on samad ja juhised