Daftar Isi:
- Langkah 1: Membangun Kasus
- Langkah 2: Membangun Mekanik Flipper
- Langkah 3: Menempatkan Dinding
- Langkah 4: Menambahkan Blok Skor
- Langkah 5: Menambahkan Game Over Kontak
- Langkah 6: Mengebor Lubang Kabel
- Langkah 7: Menghubungkan Semuanya
- Langkah 8: Mengunggah Kode
Video: Arduino: Mesin Pinball: 8 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
Karena saya selalu menyukai mesin pinball dan elektronik, saya memutuskan untuk membuat mesin pinball saya sendiri. Saya memilih Arduino untuk pemrograman dan elektronik, karena ini adalah platform yang sangat mudah diakses yang ringkas dan mudah digunakan.
Dalam panduan ini saya akan menjelaskan proses pengembangan saya, jadi mungkin salah satu dari Anda penggemar bisa membuat sesuatu yang serupa.
Langkah 1: Membangun Kasus
Mari kita mulai dengan kasus mesin pinball. Saya membuat konstruksi yang cukup sederhana. Saya menggergaji pelat bawah, dan menggunakan 4 pilar kayu kecil di sudut untuk menghubungkan potongan dinding. Ukuran kasing Anda adalah pilihan Anda sendiri, saya memilih untuk membuatnya sedikit lebih kecil dari mesin pinball asli karena saya tidak berencana menambahkan ekstra super spektakuler untuk mengisi ruang. Saya menggunakan sekrup dan lem untuk membuat kasing sekokoh mungkin. Di bagian belakang saya mengebor dua lubang di bagian lantai untuk kedua kaki yang akan memberi mesin pinball kemiringan ikonik. Sekali lagi, ketinggian kaki terserah Anda. Semakin tinggi Anda membuat kaki, semakin cepat bola akan menggelinding (ke bawah).
Langkah 2: Membangun Mekanik Flipper
Karena saya ingin membatasi biaya proyek ini, saya memutuskan untuk membuat sirip mekanis sepenuhnya daripada sirip elektronik. Jika Anda tertarik dengan sirip elektronik, Anda dapat menggunakan konstruksi yang agak sama, tetapi dengan apa yang disebut 'solenoid' terhubung (solenoid dengan daya yang cukup untuk mengontrol sirip terlalu mahal untuk saya).
Saya mulai dengan mengebor dua lubang di bagian bawah untuk titik pivot kedua sirip. Saya mengebor lubang (menurut saya) agak terlalu dekat satu sama lain, dan ini menyebabkan permainan menjadi agak terlalu mudah pada akhirnya. Jadi berhati-hatilah untuk tidak menempatkan sirip terlalu dekat satu sama lain, kecuali jika Anda menginginkan gaya permainan yang mudah.
Saya juga mengebor dua lubang di kedua dinding samping sejajar dengan lubang sirip. Lubang-lubang ini akan digunakan untuk dua kancing sirip.
Saya menggunakan pegas untuk menarik sirip kembali ke posisi semula, dan membuat konstruksi berputar antara sirip dan tombol untuk membuatnya berputar saat tombol ditekan. Untuk menghentikan pegas agar tidak menarik sirip terlalu jauh, saya memasang dua sekrup untuk menahan sirip pada posisi semula.
Langkah 3: Menempatkan Dinding
Saya menempatkan beberapa dinding untuk mengarahkan pinball ke arah sirip. Mereka sangat sederhana untuk dibuat. Cukup bor 3 lubang di bagian bawah casing, dan tekan tiga pin kayu. Bungkus karet gelang di sekitar pin dan selesai.
Langkah 4: Menambahkan Blok Skor
Blok skor adalah salah satu bagian terpenting dari mesin pinball, jadi pastikan Anda melakukan bagian ini dengan benar. Saya membuat tiga blok skor untuk mesin pinball saya, tetapi sekali lagi ini semua terserah Anda.
Saya menggergaji sepotong kecil sapu, dan melilitkan kawat tembaga di sekelilingnya. Arduino akan memberi daya pada kabel tembaga ini secara konstan dengan 5V. Saya menyolder empat pegas pena ke samping untuk kontak yang lebih baik dengan bola.
Cara kerja blok skor, adalah bola menyelesaikan sirkuit yang mengarah ke pin input di Arduino. Jadi yang saya lakukan adalah menempelkan aluminium foil di bagian bawah casing (TIDAK MENYENTUH TEMBAGA) dan menyambungkan foil ke pin pada Arduino. Setiap kali bola mengenai tembaga dan aluminium, rangkaian selesai dan Arduino akan menerima sinyal.
Saya menghubungkan semua blok skor bersama-sama menggunakan aluminium foil, tetapi perlu diingat bahwa sisi lengket TIDAK menghantarkan listrik.
Langkah 5: Menambahkan Game Over Kontak
Di bagian bawah mesin pinball, di antara sirip, saya menambahkan game over contact. Setiap kali bola mengenai kontak ini, pemain akan kehilangan bola. Konstruksi yang saya buat sangat mirip dengan blok skor. Hanya di sini saya menggunakan dua sekrup, dan sekali lagi sepotong aluminium foil di bagian bawah.
Langkah 6: Mengebor Lubang Kabel
Sebelum kita mulai memasang kabel semuanya ke Arduino, kita perlu mengebor beberapa lubang untuk kabelnya terlebih dahulu. Saya mengebor sebuah lubang melalui kedua potongan aluminium foil, jadi satu lubang di aluminium foil di dekat blok skor, dan satu lubang di aluminium foil di dekat game over contact.
Selain itu, saya juga membuat lubang di kiri bawah, di antara dinding, untuk kabel yang menuju ke gerbang bola tambahan Servo.
Juga harus ada lubang untuk kabel yang terhubung ke LCD di bagian bawah.
Langkah 7: Menghubungkan Semuanya
Saya membuat skema ini untuk mendapatkan gambaran yang lebih baik tentang ke mana semua kabel harus pergi. Salib adalah titik di mana kabel terhubung. Saya mencoba menyolder sebanyak mungkin untuk membuat semuanya sedikit lebih stabil dan dapat diandalkan. Pengkabelan akan memakan waktu, tetapi setelah ini selesai, Anda hampir sampai!
Langkah 8: Mengunggah Kode
Unggah kode berikut ke Arduino Anda untuk membuat mesin pinball Anda hidup!
// Sertakan perpustakaan untuk lcd
#sertakan #sertakan
// Inisialisasi pin data lcd
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
// Buat servo
Bola servoGateServo;
// Buat variabel untuk pin yang kita gunakan
int gameoverPin = 6; int skorPin = 5; int pin speaker = 4; int ballGateServoPin = 3;
// Inisialisasi variabel gameplay untuk mesin pinball
int skor = 0; int skor tertinggi = 500; bool highscoreReached = salah; int bola = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = salah;
//jalankan kode ini sekali pada frame pertama
void setup() { // Atur pinMode untuk pin yang kita gunakan pinMode(gameoverPin, INPUT); pinMode(scorePin, INPUT);
// Inisialisasi lcd dengan memberikan lebar dan tinggi
lcd.begin(16, 2);
// Pasang servo gerbang bola ke pin yang sesuai
ballGateServo.attach(ballGateServoPin);
// Atur ulang servo gerbang ke posisi awal
ballGateServo.write(0); }
// Jalankan kode ini setiap frame
void loop() { // Menangkap input pin int gameoverState = digitalRead(gameoverPin); int scoreState = digitalRead(scorePin);
// Tambahkan ke skor jika input diterima
if (scoreState) { nada(pin speaker, 1000); skor += 10; } else { noTone(4); }
// Kurangi dari bola jika lubang gameover dipicu
if (gameoverState dan !gameoverTriggered) { bola -= 1; gameoverTriggered = benar; gameoverTimer = gameoverTimerDuration; }
// Mulai timer gameover segera setelah bola tidak menyentuh kontak gameover
if (!gameoverState) { if (gameoverTimer >= 1) { gameoverTimer -= 1; } else { gameoverTriggered = false; } }
// Kedipkan teks gameover ke lcd dan setel ulang skor dan bola
if (bola <= 0) { lcd.setCursor(0, 0); for (int i = 5; i>= 1; i--) { lcd.clear(); penundaan (250); lcd.print("PERMAINAN SELESAI"); lcd.setCursor(0, 1); lcd.print("Coba lagi?"); penundaan (250); } lcd.clear(); skor = 0; ballGateServo.write(0); highscoreReached = salah; bola = 3; }
if (skor > highscore dan !highscoreReached) {
lcd.setCursor(0, 0); for (int i = 5; i >= 1; i--) { lcd.clear(); penundaan (250); lcd.print("HARGA TINGGI BARU"); lcd.setCursor(0, 1); lcd.print("Meninggal Mendadak!"); penundaan (250); } lcd.clear(); bola = 1; ballGateServo.write(120); skor tinggi = skor; highscoreReached = benar; }
// Perbarui skor tertinggi jika skor saat ini lebih tinggi
if (skor > highscore) { highscore = skor; }
// Atur kursor ke baris 0
lcd.setCursor(0, 0); // Cetak nilai (tinggi) saat ini ke lcd if (skor <= 0) { lcd.print("Nilai tinggi: " + String(nilai tinggi) + " "); } else { lcd.print("Nilai: " + String(nilai) + " "); }
// Atur kursor ke baris 1
lcd.setCursor(0, 1);
// Cetak jumlah bola saat ini ke lcd
lcd.print("Bola: " + String(bola)); }
Direkomendasikan:
Mesin Pinball Arduino Yang Memutar Sendiri!: 13 Langkah (dengan Gambar)
Mesin Pinball Arduino yang Memutar Sendiri!: "Mesin pinball yang bermain sendiri, bukankah itu menghilangkan semua kesenangannya?" Saya mendengar Anda bertanya. Mungkin jika Anda tidak menyukai robot otonom, itu mungkin. Namun, saya sangat tertarik untuk membuat robot yang dapat melakukan hal-hal keren, dan yang satu ini
HX1-DM - Mesin Drum DIY Bertenaga Arduino DUE (dibuat Dengan Mesin Mati MK2): 4 Langkah
HX1-DM - Mesin Drum DIY Bertenaga Arduino DUE yang Didaur Ulang (dibuat Dengan Mesin Mati MK2): Spesifikasi. Kontroler Midi / mesin drum hibrida: Bertenaga Arduino DUE! 16 Bantalan penginderaan kecepatan dengan latensi sangat rendah 1>ms 8 kenop yang dapat ditetapkan pengguna untuk perintah Midi #CC apa pun 16ch Sequencer bawaan (tidak perlu komputer!!) Fungsi masuk/keluar/melalui MIDI
Mesin Pinball Meja Menggunakan Embedded Plaform Berbasis Evive- Arduino: 18 Langkah (dengan Gambar)
Mesin Pinball Meja Menggunakan Embedded Plaform Berbasis Evive- Arduino: Akhir pekan lagi, game seru lainnya! Dan kali ini, tidak lain adalah game arcade favorit semua orang - Pinball! Proyek ini akan menunjukkan kepada Anda cara membuat mesin Pinball Anda sendiri dengan mudah di rumah. Yang Anda perlukan hanyalah komponen dari evive
Arduino CNC Plotter (MESIN GAMBAR): 10 Langkah (dengan Gambar)
Arduino CNC Plotter (MESIN GAMBAR): Hai teman-teman! Saya harap Anda sudah menikmati instruksi saya sebelumnya "Cara membuat platform pelatihan Arduino Anda sendiri" dan Anda siap untuk yang baru, seperti biasa saya membuat tutorial ini untuk memandu Anda langkah demi langkah sambil membuat jenis super menakjubkan ini
Mesin Gambar Polargraph Skala Besar dengan Kepala Pena yang Dapat Ditarik: 4 Langkah (dengan Gambar)
Mesin Gambar Polargraph Skala Besar dengan Kepala Pena yang Dapat Ditarik: *Instalasi skala besar dari mesin ini dirancang dan dijalankan dengan Rui Periera Ini adalah desain untuk gambar sumber terbuka Polargraph (http://www.polargraph.co.uk/) proyek. Ini memiliki kepala pena yang dapat ditarik dan perangkat keras untuk memungkinkannya