Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano

Komponen dan perlengkapan

Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano
LED (umum)
6 merah, 2 kuning, 1 hijau
× 9
Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano
Saklar Tombol SparkFun 12mm
× 1
Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano
Arduino Nano R3
× 1
Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano
Header Perempuan 8 Posisi 1 Baris (0.1")
× 1
DC Barrel Jack
× 1

Alat dan mesin yang diperlukan

CNC Router

Aplikasi dan layanan online

Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano
Arduino IDE

Tentang proyek ini

Video:

Ringkasan

Sekitar lama saya ingin menciptakan permainan yang sederhana, namun menyenangkan yang hanya memerlukan satu orang untuk bermain. Ini sangat sederhana, hanya memerlukan satu Arduino Nano untuk menjalankannya. Ini adalah roulette LED. Tujuan permainan adalah berhenti pada LED hijau, menghindari yang merah dan kuning. Tampaknya mudah untuk dimainkan dan dibuat, dan memang demikian.

Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano

Langkah 1

Pertama, saya mulai dengan merancang perangkat dalam Fusion 360. Saya merancang papan depan untuk berisi 9 LED, 6 merah, 2 kuning, dan 1 hijau. Saya juga membuat ruang untuk saklar tact di bawah. Kemudian saya menggunakan Mesin CNC saya untuk memotong bagian-bagian yang saya desain.

Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano
Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano
Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano

Langkah 2

Mekanisme permainan adalah seperti ini: Cahaya akan "bergerak" mundur dan maju antara dua tepi, dan akan berhenti setiap kali ada penekanan tombol. Agar dapat bereaksi segera, saya menggunakan interrupt. Setiap LED sesuai dengan indeks dalam array yang dicicli. Indeks LED saat ini juga mendapat variabelnya sendiri. Juga ada jeda di antara setiap langkah, yang sesuai dengan tingkat kesulitan. Saat startup, pengguna memilih kesulitan dengan menekan tombol untuk mengurangi jeda di antara setiap perubahan LED. Setelah LED yang benar menyala, pengguna dapat double click untuk mengunci.

Langkah 3

Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano

Saya menggunakan kertas abrasif untuk menambahkan finishing yang bagus dan membulatkan potongan plywood. Setelah itu, saya menggunakan lem panas untuk memasang bagian-bagian bersama.

Kesimpulan

Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano

Sekarang, kapan pun saya ingin bermain permainan sederhana, baik untuk jalan atau sekadar menjauh dari layar, perangkat ini memberi saya istirahat yang menyenangkan. Saya juga dapat menjadikannya multiplayer dengan memberi setiap LED yang bukan hijau sejumlah poin tertentu, membuat orang yang mendapatkan poin paling sedikit di akhir menang.

Kode

KodeC/C++
/*Use pins 2-10 You can get the TTBOUNCE library here: https://github.com/TOLDOTECHNIK/TTBOUNCE */ #include <TTBOUNCE.h> int delay_time = 0; const uint8_t led_array[9] = {4,3,5,6,7,8,9,10,11}; const uint8_t button = 2; uint8_t difficulty = 0; uint8_t current_led = 0; bool dir_flag = true; //true goes right, false goes left bool game_ended = false; bool is_win = false; bool is_finished_selecting = false; TTBOUNCE b = TTBOUNCE(button); void doubleClick(){ Serial.println("double click"); is_finished_selecting = true; delay_time = floor(500/(difficulty+1)); //Formula: delay (in ms) = 500 / (difficulty + 1) Serial.println("difficulty: " + String(delay_time)); sweep(); } void click(){ Serial.print("Click | "); digitalWrite(led_array[difficulty], LOW); difficulty++; if(difficulty>8){ difficulty = 0; } digitalWrite(led_array[difficulty], HIGH); Serial.println("Difficulty is: "+String(difficulty)); delay(100); } void setup() { Serial.begin(9600); b.attachDoubleClick(doubleClick); b.attachClick(click); b.setActiveLow(); b.enablePullup(); for(int i=0;i<9;i++){ pinMode(led_array[i], OUTPUT); } sweep(); pulse(); difficulty = 0; digitalWrite(led_array[difficulty], HIGH); while(!is_finished_selecting){ b.update(); } b.update(); pinMode(button, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(button), button_pressed, FALLING); delay(1000); } void loop() { if(game_ended==false){ move_led(); delay(delay_time); } else if(game_ended){ Serial.println(game_ended); Serial.println("Game over"); if(is_win){ Serial.println("you won"); for(int i=0; i<5;i++){ pulse(); delay(100); } } sweep(); game_ended = false; is_win = false; delay(2000); } } void move_led() { digitalWrite(led_array[current_led], LOW); if(current_led == 8){ dir_flag = false; current_led -= 1; } else if(current_led == 0){ dir_flag = true; current_led += 1; } else if(dir_flag){ current_led += 1; } else if(!dir_flag){ current_led -= 1; } digitalWrite(led_array[current_led], HIGH); } void pulse(){ for(int i=0; i<9;i++){ digitalWrite(led_array[i], HIGH); } delay(100); for(int i=0; i<9;i++){ digitalWrite(led_array[i], LOW); } } void sweep(){ for(int i=0; i<9;i++){ digitalWrite(led_array[i], HIGH); delay(50); digitalWrite(led_array[i], LOW); } for(int i=8; i>=0;i--){ digitalWrite(led_array[i], HIGH); delay(50); digitalWrite(led_array[i], LOW); } } void button_pressed(){ Serial.println("Button pressed on LED: "+String(current_led)); game_ended = true; if(current_led==4){ is_win = true; } else if(current_led != 4){ is_win = false; } current_led = 0; delay(500); } 

Skematik

Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano

Proses manufaktur

  1. Buat Game Gyroskop Real-Time dengan Arduino Nano & Sensor MPU-6050
  2. Proyek Dadu Digital Arduino: Buat Generator Angka Acak berbasis LCD
  3. Buat Sendiri Game Roulette 37 LED dengan Arduino Nano
  4. Pengontrol USB Game Arduino DIY – Buat Gamepad Tinggi Performa Sendiri
  5. Buat Game Tetris dengan Arduino Nano pada Matriks LED DIY 16×8
  6. Kontrol LED melalui Bluetooth dengan Arduino – Panduan DIY Sederhana
  7. Membuat Robot Quadruped Arduino Cerdas: Panduan Langkah demi Langkah
  8. Pixel Chaser: Game LED Interaktif Satu Ketukan dengan Arduino Nano
  9. Pengendalian Kecerahan LED Lancar Menggunakan Bolt IoT dan Arduino UNO
  10. Jam Flip Arduino dengan Matriks LED 8×8 – Proyek Jam Waktu Nyata DIY