Talaan ng mga Nilalaman:
- Hakbang 1: Pagbubuo ng Kaso
- Hakbang 2: Pagbubuo ng Flipper Mechanic
- Hakbang 3: paglalagay ng mga pader
- Hakbang 4: Pagdaragdag ng Mga Bloke ng Kalidad
- Hakbang 5: Pagdaragdag ng Laro Sa Pag-contact
- Hakbang 6: Ang pagbabarena ng mga Cable Holes
- Hakbang 7: Pag-kable ng Lahat
- Hakbang 8: Pag-upload ng Code
Video: Arduino: Pinball Machine: 8 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Tulad ng lagi kong minamahal na kapwa mga pinball machine, at electronics, nagpasya akong bumuo ng sarili kong pinball machine. Pinili ko ang Arduino para sa programa at electronics, dahil ito ay isang lubos na naa-access na platform na parehong compact at madaling gamitin.
Sa gabay na ito ipapaliwanag ko ang aking proseso ng pag-unlad, kaya marahil ang isa sa mga nakakaakit ay maaaring lumikha ng isang bagay na pareho.
Hakbang 1: Pagbubuo ng Kaso
Magsimula tayo sa kaso ng pinball machine. Gumawa ako ng isang medyo simpleng konstruksyon. Ginabas ko ang isang ilalim na plato, at ginamit ang 4 na maliliit na haligi na gawa sa kahoy sa mga sulok upang ikonekta ang mga piraso ng dingding. Ang laki ng iyong kaso ay iyong sariling pagpipilian, pinili kong gawin itong medyo mas maliit kaysa sa isang orihinal na pinball machine dahil hindi ko pinaplano ang pagdaragdag ng anumang sobrang kamangha-manghang mga extra upang punan ang puwang. Ginamit ko ang parehong mga turnilyo at pandikit upang gawing matatag ang kaso hangga't maaari. Sa likuran ay nag-drill ako ng dalawang butas sa piraso ng sahig para sa dalawang binti na magbibigay sa makina ng pinball ng iconic na ikiling. Muli, nasa iyo ang taas ng mga binti. Kung mas matangkad ang iyong mga binti, mas mabilis ang bola ay gumulong (pababa).
Hakbang 2: Pagbubuo ng Flipper Mechanic
Tulad ng nais kong limitahan ang gastos ng proyektong ito, nagpasya akong gumawa ng kumpletong mga mekanikal na flip sa halip na mga elektronik. Kung interesado ka sa mga elektronikong tsinelas, maaari kang gumamit ng isang konstruksyon na medyo pareho, ngunit sa isang tinatawag na 'solenoid' na konektado dito (ang mga solenoid na may sapat na lakas upang makontrol ang mga flip ay masyadong mahal para sa akin).
Nagsimula ako sa pamamagitan ng pagbabarena ng dalawang butas sa ilalim para sa pivot point ng parehong mga flip. Nag-drill ako ng mga butas (sa aking palagay) medyo malapit sa bawat isa, at naging sanhi ito ng laro na medyo masyadong madali sa huli. Kaya't mag-ingat na huwag mailagay ang mga flipper sa bawat isa, maliban kung nais mo ang isang madaling istilo ng gameplay.
Nag-drill din ako ng dalawang butas sa magkabilang dingding sa gilid na parallel sa mga butas ng flipper. Ang mga butas na ito ay gagamitin para sa dalawang mga pindutan ng flipper.
Gumamit ako ng mga bukal upang ibalik ang mga flipper sa orihinal na posisyon, at gumawa ng isang pivoting konstruksyon sa pagitan ng mga flip at mga pindutan upang paikutin sila kapag pinindot ang mga pindutan. Upang pigilan ang mga bukal mula sa paghugot ng pabalik ng mga flipper, inilagay ko ang dalawang mga turnilyo upang hawakan ang mga flipper sa kanilang orihinal na posisyon.
Hakbang 3: paglalagay ng mga pader
Naglagay ako ng isang pares ng mga pader upang i-redirect ang pinball patungo sa mga flip. Napakadali nilang gawin. Mag-drill lamang ng 3 butas sa ilalim ng kaso, at itulak sa tatlong mga pin na kahoy. Balot ng isang goma sa paligid ng mga pin at tapos ka na.
Hakbang 4: Pagdaragdag ng Mga Bloke ng Kalidad
Ang mga bloke ng puntos ay isa sa pinakamahalagang bahagi ng pinball machine, kaya tiyaking tama ang iyong bahaging ito. Gumawa ako ng tatlong mga bloke ng puntos para sa aking machine ng pinball, ngunit muli nasa iyo ang lahat.
Inilabas ko ang isang maliit na piraso ng isang walis, at binalot ito ng tanso na tanso. Papalakasin ng arduino ang tanso na tanso na ito na patuloy na may 5V. Naghinang ako ng apat na spring spring sa gilid para sa mas mahusay na pakikipag-ugnay sa bola.
Ang paraan na gumana ang iskor ay gumagana, ay na ang bola ay nakumpleto ang isang circuit na humahantong sa isang input pin sa Arduino. Kaya't ang ginawa ko ay ang tape ng aluminyo palara sa ilalim ng kaso (HINDI HINDI KUMIKITA SA COPPER) at i-wire ang palara sa isang pin sa Arduino. Tuwing ang bola ay tumama sa parehong tanso at aluminyo, ang circuit ay kumpleto at ang Arduino ay makakatanggap ng isang senyas.
Ikinonekta ko ang lahat ng mga bloke ng puntos nang sama-sama gamit ang aluminyo foil, ngunit tandaan na ang malagkit na bahagi ay HINDI nagsasagawa ng kuryente.
Hakbang 5: Pagdaragdag ng Laro Sa Pag-contact
Sa ilalim ng makina ng pinball, sa pagitan ng mga tsinelas, nagdagdag ako ng isang laro sa paglipas ng contact. Kailan man tumama ang bola sa contact na ito, mawawalan ng bola ang manlalaro. Ang konstruksyon na ginawa ko ay halos kapareho ng mga puntos na marka. Dito lamang ako gumamit ng dalawang mga turnilyo, at muli ang isang piraso ng aluminyo palara sa ilalim.
Hakbang 6: Ang pagbabarena ng mga Cable Holes
Bago namin simulan ang pag-kable ng lahat hanggang sa Arduino, kailangan muna nating mag-drill ng ilang mga butas para sa mga kable. Nag-drill ako ng isang butas sa pamamagitan ng parehong mga piraso ng aluminyo foil, kaya isang butas sa aluminyo palara malapit sa mga bloke ng iskor, at isang butas sa aluminyo palara malapit sa laro sa contact.
Bukod dito, nag-drill din ako ng butas sa kaliwang ibabang bahagi, sa pagitan ng mga dingding, para sa cable na patungo sa sobrang ball gate ng Servo.
Dapat ding magkaroon ng isang butas para sa cable na konektado sa LCD sa ilalim.
Hakbang 7: Pag-kable ng Lahat
Ginawa ko ang eskematiko na ito upang magkaroon ng isang mas mahusay na pangkalahatang ideya ng kung saan dapat pumunta ang lahat ng mga kable. Ang mga krus ay ang mga puntos kung saan kumokonekta ang mga cable. Sinubukan kong maghinang hangga't maaari upang gawing mas matatag at maaasahan ang lahat. Ang mga kable ay magtatagal, ngunit pagkatapos nito ay tapos na ikaw ay halos doon!
Hakbang 8: Pag-upload ng Code
I-upload ang sumusunod na code sa iyong Arduino upang mabuhay ang iyong pinball machine!
// Isama ang library para sa lcd
# isama ang # isama
// Ipasimula ang mga lcd data pin
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
// Lumikha ng isang servo
Servo ballGateServo;
// Lumikha ng mga variable para sa mga pin na ginagamit namin
int gameoverPin = 6; int scorePin = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Initialize gameplay variable para sa pinball machine
int iskor = 0; int highscore = 500; bool highscoreReached = false; int bola = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = false;
// patakbuhin ang code na ito nang isang beses sa unang frame
void setup () {// Itakda ang pinMode para sa mga pin na ginagamit namin pinMode (gameoverPin, INPUT); pinMode (scorePin, INPUT);
// Simulan ang lcd sa pamamagitan ng pagbibigay ng lapad at taas
lcd.begin (16, 2);
// Ikabit ang servo ng ball gate sa naaangkop na pin
ballGateServo.attach (ballGateServoPin);
// I-reset ang gate servo sa panimulang posisyon
ballGateServo.write (0); }
// Patakbuhin ang code na ito bawat solong frame
void loop () {// Capture the pin inputs int gameoverState = digitalRead (gameoverPin); int scoreState = digitalRead (scorePin);
// Idagdag sa iskor kung natanggap ang input
kung (scoreState) {tone (speakerPin, 1000); puntos + = 10; } iba pa {noTone (4); }
// Ibawas mula sa mga bola kung ang gameover pit ay na-trigger
kung (gameoverState at! gameoverTriggered) {bola - = 1; gameoverTriggered = totoo; gameoverTimer = gameoverTimerDuration; }
// Simulan ang timer ng gameover sa lalong madaling hindi nahahawakan ng bola ang contact sa gameover
kung (! gameoverState) {kung (gameoverTimer> = 1) {gameoverTimer - = 1; } iba pa {gameoverTriggered = false; }}
// Blink ang gameover text sa lcd at i-reset ang iskor at mga bola
kung (bola <= 0) {lcd.setCursor (0, 0); para sa (int i = 5; i> = 1; i--) {lcd.clear (); pagkaantala (250); lcd.print ("GAME OVER"); lcd.setCursor (0, 1); lcd.print ("Subukang muli?"); pagkaantala (250); } lcd.clear (); puntos = 0; ballGateServo.write (0); highscoreReached = false; bola = 3; }
kung (puntos> highscore at! highscoreReached) {
lcd.setCursor (0, 0); para sa (int i = 5; i> = 1; i--) {lcd.clear (); pagkaantala (250); lcd.print ("BAGONG HIGHSCORE"); lcd.setCursor (0, 1); lcd.print ("Biglang Kamatayan!"); pagkaantala (250); } lcd.clear (); bola = 1; ballGateServo.write (120); highscore = iskor; highscoreReached = totoo; }
// I-update ang highscore kung mas mataas ang kasalukuyang iskor
kung (puntos> highscore) {highscore = iskor; }
// Itakda ang cursor sa linya 0
lcd.setCursor (0, 0); // Print the current (high) score to the lcd if (score <= 0) {lcd.print ("Highscore:" + String (highscore) + ""); } iba pa {lcd.print ("Iskor:" + String (iskor) + ""); }
// Itakda ang cursor sa linya 1
lcd.setCursor (0, 1);
// I-print ang kasalukuyang dami ng mga bola sa lcd
lcd.print ("Bola:" + String (bola)); }
Inirerekumendang:
Arduino Pinball Machine Na Nagpe-play Mismo !: 13 Mga Hakbang (na may Mga Larawan)
Ang Arduino Pinball Machine Na Naglalaro Mismo !: " Isang pinball machine na gumaganap mismo, hindi ba inaalis ang lahat ng kasiyahan dito? &Quot; Naririnig kong nagtanong ka. Siguro kung hindi ka sa mga autonomous na robot ay maaaring. Gayunpaman, ako, lahat ay tungkol sa pagbuo ng mga robot na maaaring gumawa ng mga cool na bagay, at ang isang ito
Tabletop Pinball Machine Gamit ang Evive- Arduino Base Embedded Plaform: 18 Hakbang (na may Mga Larawan)
Tabletop Pinball Machine Gamit ang Evive- Arduino Base Embedded Plaform: Isa pang katapusan ng linggo, isa pang kapanapanabik na laro! At sa oras na ito, wala itong iba kundi ang paboritong arcade game ng lahat - Pinball! Ipapakita sa iyo ng proyektong ito kung paano madaling gawin ang iyong sariling Pinball machine sa bahay. Ang kailangan mo lang ay mga bahagi mula sa evive
Retro-Gaming Machine Na May Raspberry PI, RetroPie at Homemade Case: 17 Mga Hakbang (na may Mga Larawan)
Retro-Gaming Machine Na May Raspberry PI, RetroPie at Homemade Case: Ilang oras na ang nakakaraan natagpuan ko ang isang pamamahagi ng Linux para sa Raspberry Pi na pinangalanang RetroPie. Nalaman ko kaagad na ito ay isang mahusay na ideya na may mahusay na pagpapatupad. Isang layunin na Retro-gaming system nang walang mga hindi kinakailangang tampok. Brilliant. Di nagtagal, nagpasya akong
Pasadyang Arduino upang Panatilihing MAAARI ang Mga Pindutan sa Mga Manibela na May Bagong Car Stereo: 9 Mga Hakbang (na may Mga Larawan)
Pasadyang Arduino upang Panatilihin ang CAN Steering Wheel Buttons Sa Bagong Car Stereo: Napagpasyahan kong palitan ang orihinal na stereo ng kotse sa aking Volvo V70 -02 ng isang bagong stereo upang masisiyahan ako sa mga bagay tulad ng mp3, bluetooth at handsfree. Ang aking kotse ay may ilang mga kontrol sa manibela para sa stereo na nais kong magamit pa rin.
Mga Lightsaber na Nakabatay sa Arduino Na May Magaang at Mga Epekto ng Tunog: 14 Mga Hakbang (na may Mga Larawan)
Batay sa Arduino Lightsaber Na May Mga Magaan at Tunog na Mga Epekto: Kamusta jedi! Ang itinuturo na ito ay tungkol sa paggawa ng isang lightsaber, na ang hitsura, tunog at pagganap tulad ng isa sa pelikula! Ang pagkakaiba lamang - hindi ito maaaring mag-cut metal: (Ang aparatong ito ay batay sa platform ng Arduino, at binibigyan ko ito ng maraming mga tampok at pag-andar, ito