
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01


Oleh kerana saya selalu menyukai mesin pinball, dan elektronik, saya memutuskan untuk membina mesin pinball saya sendiri. Saya memilih Arduino untuk pengaturcaraan dan elektronik, kerana ia adalah platform yang sangat mudah diakses yang ringkas dan mudah digunakan.
Dalam panduan ini saya akan menerangkan proses perkembangan saya, jadi mungkin salah seorang peminat anda dapat membuat sesuatu yang serupa.
Langkah 1: Membina Kes

Mari kita mulakan dengan kes mesin pinball. Saya membuat pembinaan yang agak sederhana. Saya menggergaji plat bawah, dan menggunakan 4 tiang kayu kecil di sudut untuk menyambungkan kepingan dinding. Ukuran casing anda adalah pilihan anda sendiri, saya memilih untuk membuatnya sedikit lebih kecil daripada mesin pinball asli kerana saya tidak merancang untuk menambah tambahan yang sangat spektakuler untuk mengisi ruang. Saya menggunakan kedua-dua skru dan gam untuk menjadikan sarungnya sekuat mungkin. Di bahagian belakang saya menggerudi dua lubang di bahagian lantai untuk kedua kaki yang akan memberi mesin pinball kecondongan ikonik. Sekali lagi, ketinggian kaki terpulang kepada anda. Semakin tinggi kaki anda, semakin cepat bola akan bergolek (ke bawah).
Langkah 2: Membina Flipper Mechanic

Oleh kerana saya mahu mengehadkan kos projek ini, saya memutuskan untuk membuat sandal mekanikal sepenuhnya dan bukannya elektronik. Sekiranya anda berminat dengan sandal elektronik, anda boleh menggunakan pembinaan yang agak sama, tetapi dengan 'solenoid' yang disebut dengannya (solenoid dengan kekuatan yang cukup untuk mengawal sirip terlalu mahal untuk saya).
Saya mulakan dengan menggerudi dua lubang di bahagian bawah untuk titik pusing kedua sirip. Saya mengorek lubang (pada pendapat saya) agak dekat antara satu sama lain, dan ini menyebabkan permainan menjadi terlalu mudah pada akhirnya. Oleh itu, berhati-hatilah untuk tidak meletakkan sirip terlalu dekat satu sama lain, kecuali jika anda mahukan gaya permainan yang mudah.
Saya juga menggerudi dua lubang di kedua dinding sisi selari dengan lubang flipper. Lubang ini akan digunakan untuk dua butang flipper.
Saya menggunakan mata air untuk menarik kembali sirip ke posisi semula, dan membuat pembinaan berpusing antara sirip dan butang untuk membuatnya berputar ketika butang ditekan. Untuk menghentikan mata air menarik balik sirip terlalu jauh, saya meletakkan dua skru untuk menahan sirip pada kedudukan semula.
Langkah 3: Meletakkan Tembok

Saya meletakkan beberapa dinding untuk mengarahkan pinball ke arah sirip. Mereka sangat mudah dibuat. Cukup gerudi 3 lubang di bahagian bawah casing, dan tekan tiga pin kayu. Balut gelang getah di sekitar pin dan anda sudah selesai.
Langkah 4: Menambah Blok Skor


Blok skor adalah salah satu bahagian paling penting dalam mesin pinball, jadi pastikan anda melakukan bahagian ini dengan betul. Saya membuat tiga blok skor untuk mesin pinball saya, tetapi sekali lagi ini semua bergantung kepada anda.
Saya memotong sekeping kecil penyapu, dan membalut wayar tembaga di sekelilingnya. Arduino akan menghidupkan wayar tembaga ini dengan 5V. Saya memateri empat mata pena ke sisi untuk bersentuhan dengan bola dengan lebih baik.
Cara blok skor berfungsi, adalah bola melengkapkan litar yang menuju ke pin input di Arduino. Jadi yang saya buat ialah pita aluminium foil di bahagian bawah casing (TIDAK MENYENTUH TEMBAGA) dan pasangkan kerajang ke pin pada Arduino. Setiap kali bola memukul tembaga dan aluminium, litarnya lengkap dan Arduino akan menerima isyarat.
Saya menghubungkan semua blok skor bersama-sama menggunakan kerajang aluminium, tetapi perlu diingat bahawa bahagian melekit TIDAK mengalirkan elektrik.
Langkah 5: Menambah Kenalan Game Over

Di bahagian bawah mesin pinball, di antara sirip, saya menambah permainan melalui sentuhan. Setiap kali bola terkena kontak ini, pemain akan kehilangan bola. Pembinaan yang saya buat hampir sama dengan blok skor. Hanya di sini saya menggunakan dua skru, dan sekali lagi sekeping aluminium foil di bahagian bawah.
Langkah 6: Menggerudi Lubang Kabel



Sebelum kita memulakan kabel ke Arduino, kita perlu menggerudi beberapa lubang untuk kabel terlebih dahulu. Saya mengebor lubang melalui kedua-dua kepingan aluminium foil, sehingga satu lubang di aluminium foil dekat dengan blok skor, dan satu lubang di aluminium foil berhampiran permainan kerana kontak.
Selain itu, saya juga menggerudi lubang di kiri bawah, di antara dinding, untuk kabel yang menuju ke pintu bola tambahan Servo.
Terdapat juga lubang untuk kabel yang disambungkan ke LCD di bahagian bawah.
Langkah 7: Pendawaian Semuanya


Saya membuat skema ini untuk mendapatkan gambaran keseluruhan yang lebih baik ke mana semua kabel harus pergi. Salib adalah titik di mana kabel bersambung. Saya cuba solder sebanyak mungkin untuk menjadikan semuanya lebih stabil dan boleh dipercayai. Pendawaian akan memakan masa, tetapi setelah selesai, anda hampir sampai!
Langkah 8: Memuat naik Kod
Muat naik kod berikut ke Arduino anda untuk menjadikan mesin pinball anda hidup!
// Sertakan perpustakaan untuk lcd
#sertakan #sertakan
// Memulakan pin data lcd
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
// Buat servo
Bola servoGateServo;
// Buat pemboleh ubah untuk pin yang kita gunakan
int gameoverPin = 6; int skorPin = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Memulakan pemboleh ubah permainan untuk mesin pinball
skor int = 0; int tinggi = 500; bool highscoreReached = false; bola int = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = palsu;
// jalankan kod ini sekali pada bingkai pertama
batal persediaan () {// Tetapkan pinMode untuk pin yang kita gunakan pinMode (gameoverPin, INPUT); pinMode (skorPin, INPUT);
// Permulaan lcd dengan memberikan lebar dan tinggi
lcd.begin (16, 2);
// Pasang servo gerbang bola ke pin yang sesuai
ballGateServo.attach (ballGateServoPin);
// Tetapkan semula servo gerbang ke kedudukan awal
ballGateServo.write (0); }
// Jalankan kod ini setiap bingkai
gelung kosong () {// Tangkap input pin int gameoverState = digitalRead (gameoverPin); int skorState = digitalRead (skorPin);
// Tambahkan ke skor jika input diterima
jika (skorState) {nada (speakerPin, 1000); skor + = 10; } lain {noTone (4); }
// Kurangkan dari bola jika pit permainan diaktifkan
if (gameoverState dan! gameoverTriggered) {bola - = 1; gameoverTriggered = benar; gameoverTimer = gameoverTimerDuration; }
// Mulakan pemasa permainan selagi bola tidak menyentuh kontak permainan
if (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer - = 1; } lain {gameoverTriggered = false; }}
// Blinkkan teks permainan ke lcd dan tetapkan semula skor dan bola
jika (bola <= 0) {lcd.setCursor (0, 0); untuk (int i = 5; i> = 1; i--) {lcd.clear (); kelewatan (250); lcd.print ("GAME OVER"); lcd.setCursor (0, 1); lcd.print ("Cuba lagi?"); kelewatan (250); } lcd.clear (); skor = 0; ballGateServo.write (0); highscoreReached = salah; bola = 3; }
jika (skor> skor tinggi dan! tinggi skorDapatkan) {
lcd.setCursor (0, 0); untuk (int i = 5; i> = 1; i--) {lcd.clear (); kelewatan (250); lcd.print ("BARU TINGGI BARU"); lcd.setCursor (0, 1); lcd.print ("Kematian Mendadak!"); kelewatan (250); } lcd.clear (); bola = 1; ballGateServo.write (120); skor tinggi = skor; highscoreReached = benar; }
// Kemas kini skor tinggi jika skor semasa lebih tinggi
jika (skor> skor tinggi) {skor tinggi = skor; }
// Tetapkan kursor ke baris 0
lcd.setCursor (0, 0); // Cetak skor semasa (tinggi) ke lcd jika (skor <= 0) {lcd.print ("Highscore:" + String (highscore) + ""); } lain {lcd.print ("Skor:" + Rentetan (skor) + ""); }
// Tetapkan kursor ke baris 1
lcd.setCursor (0, 1);
// Cetak jumlah bola semasa ke lcd
lcd.print ("Bola:" + Rentetan (bola)); }
Disyorkan:
Smokin '- Mesin Asap Kawalan Jauh dengan Harga Murah: 5 Langkah (dengan Gambar)

Smokin '- Mesin Asap Terkawal Jauh dengan Murah: Ini adalah petunjuk singkat mengenai cara membuat mesin asap kecil yang agak kecil, mudah dikendalikan, murah dan menyenangkan, yang dapat digunakan untuk melucu rakan, melakukan trik sulap, menguji aliran udara atau apa sahaja keinginan hati anda. Penafian: Binaan ini mengandungi
Mesin Cocktail Dengan GUI Raspberry: 7 Langkah (dengan Gambar)

Mesin Cocktail Dengan GUI Raspberry: Anda suka teknologi dan pesta? Projek ini dibuat untuk anda! Dalam tutorial ini kami akan membuat mesin koktel automatik dengan antara muka grafik. Segala-galanya dikendalikan oleh raspberry! EDIT: Saya membuat yang baru lebih mudah dan lebih murah pautan di sini
Mesin Arduino Pinball Yang Memainkan Sendiri!: 13 Langkah (dengan Gambar)

Mesin Pinball Arduino Yang Memainkannya Sendiri !: " Mesin pinball yang memainkannya sendiri, bukankah semua itu menyeronokkan? &Quot; Saya dengar awak bertanya. Mungkin jika anda tidak menggunakan robot autonomi, mungkin. Walau bagaimanapun, saya sangat mementingkan membina robot yang boleh melakukan perkara yang menarik, dan yang ini
Mesin Pinball Tabletop Menggunakan Plaform Terbenam Evive- Arduino: 18 Langkah (dengan Gambar)

Mesin Pinball Tabletop Menggunakan Plaform Tertanam Berasaskan Evive- Arduino: Hujung minggu yang lain, satu lagi permainan menarik! Dan kali ini, ini tidak lain adalah permainan arked kegemaran semua orang - Pinball! Projek ini akan menunjukkan kepada anda bagaimana membuat mesin Pinball anda sendiri dengan mudah di rumah. Yang anda perlukan adalah komponen dari evive
Makluman Pengering Mesin Cuci Arduino - Pemberitahuan Tolak ke Telefon Dengan Blynk: 5 Langkah (dengan Gambar)

Arduino Washer Dryer Alert - Push Notification to Phone With Blynk: Mesin basuh kami ada di garaj dan kami tidak dapat mendengar bunyi bip untuk menunjukkan bahawa basuh sudah selesai. Saya ingin mencari cara untuk diberitahu, di mana sahaja kita berada di rumah, ketika kitaran selesai. Saya telah bermain-main dengan Arduino, ESP8266 WiFi