Mündəricat:
- Addım 1: Davanın qurulması
- Addım 2: Flipper Mexanikinin qurulması
- Addım 3: Divarların yerləşdirilməsi
- Addım 4: Skor Bloklarını əlavə edin
- Addım 5: Əlaqəyə Oyunun Əlavə Edilməsi
- Addım 6: Kabel Deliklərinin Qazılması
- Addım 7: Hər şeyi bağlayın
- Addım 8: Kodun Yüklənməsi
Video: Arduino: Pinball Machine: 8 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Həmişə langırt maşınlarını və elektronikanı çox sevdiyim üçün öz langırt maşınımı qurmağa qərar verdim. Proqramlaşdırma və elektronika üçün Arduinonu seçdim, çünki həm yığcam, həm də istifadəsi asan bir platformadır.
Bu təlimatda inkişaf prosesimi izah edəcəyəm, buna görə də ehtirasçılarınızdan biri eyni şeyi yarada bilər.
Addım 1: Davanın qurulması
Langırt maşınının vəziyyətindən başlayaq. Kifayət qədər sadə bir tikinti etdim. Bir alt lövhəni kəsdim və divar hissələrini birləşdirmək üçün künclərdə 4 kiçik taxta sütundan istifadə etdim. Çantanızın ölçüsü öz seçiminizdir, yerini doldurmaq üçün super möhtəşəm əlavələr əlavə etməyi planlaşdırmadığım üçün orijinal bir langırt maşınından bir qədər kiçik etməyi seçdim. Çantanı mümkün qədər sabit etmək üçün həm vintlər, həm də yapışqan istifadə etdim. Arxa tərəfdə, langırt maşınının əyilməsini təmin edəcək iki ayaq üçün döşəmə hissəsində iki delik açdım. Yenə də ayaqların hündürlüyü hər şeydən asılıdır. Ayaqları nə qədər hündür etsəniz, top daha sürətli yuvarlanacaq (aşağıya doğru).
Addım 2: Flipper Mexanikinin qurulması
Bu layihənin dəyərini məhdudlaşdırmaq istədiyim üçün, elektron deyil, tam mexaniki üzlük hazırlamağa qərar verdim. Elektron çarxlar ilə maraqlanırsınızsa, bir qədər eynidır, ancaq ona "solenoid" deyilən bir konstruksiyadan istifadə edə bilərsiniz (üzgəcləri idarə etmək üçün kifayət qədər gücə malik solenoidlər mənim üçün çox bahalı idi).
Hər iki qanadın dönmə nöqtəsi üçün altda iki delik açmağa başladım. Delikləri (fikrimcə) bir -birinə çox yaxın qazdım və bu, oyunun sonunda bir az çox asan olmasına səbəb oldu. Asan bir oyun tərzi istəməsəniz, üzgəcləri bir -birinə çox yaxın qoymamağa diqqət edin.
Yan divarların hər ikisində dəliklərə paralel olaraq iki delik açdım. Bu deliklər iki döngə düyməsi üçün istifadə edilməlidir.
Flippers'ı orijinal vəziyyətinə qaytarmaq üçün yaylardan istifadə etdim və düymələr basıldıqda dönməsini təmin etmək üçün flippers və düymələr arasında dönmə quruluşu etdim. Yayların üzgəcləri çox geri çəkməsini dayandırmaq üçün, qanadları orijinal vəziyyətində saxlamaq üçün iki vida qoydum.
Addım 3: Divarların yerləşdirilməsi
Pinbolu üzüklərə doğru yönləndirmək üçün bir neçə divar qoydum. Hazırlanması çox sadədir. Kassanın altındakı 3 delik qazın və üç taxta sancağı itələyin. Sancaqlar ətrafında bir rezin bant sarın və işiniz bitdi.
Addım 4: Skor Bloklarını əlavə edin
Hesab blokları langırt maşınının ən vacib hissələrindən biridir, buna görə də bu hissəni düzgün etdiyinizə əmin olun. Langırt maşınım üçün üç hesab bloku hazırladım, amma yenə də hər şey sənə aiddir.
Kiçik bir süpürgə parçasını kəsdim və ətrafına mis tel sardım. Arduino bu mis teli 5V ilə davamlı olaraq işlədəcək. Topla daha yaxşı təmasda olmaq üçün dörd qələm yayını yan tərəfə lehimlədim.
Hesab bloklarının işləmə üsulu, topun Arduino'ya giriş pininə aparan bir dövrəni tamamlamasıdır. Yəni etdiyim işin altındakı alüminium folqa lenti (MƏSƏNƏ DOKUNMADAN) və folqa ilə Arduinonun bir pininə qədər tel bağlamaq idi. Top həm misə, həm də alüminiuma dəyəndə dövrə tamam olur və Arduino bir siqnal alacaq.
Alüminium folqa istifadə edərək bütün hesab bloklarını bir -birinə bağladım, ancaq yapışqan tərəfin elektrik keçirmədiyini unutmayın.
Addım 5: Əlaqəyə Oyunun Əlavə Edilməsi
Langırt maşınının altındakı, qanadların arasına təmasda bir oyun əlavə etdim. Top bu təmasa nə zaman dəysə, oyunçu topunu itirər. Hazırladığım tikinti hesab blokları ilə çox eynidir. Yalnız burada iki vida istifadə etdim və yenə altda alüminium folqa parçası.
Addım 6: Kabel Deliklərinin Qazılması
Hər şeyi Arduinoya bağlamağa başlamazdan əvvəl əvvəlcə kabellər üçün bir neçə delik açmalıyıq. Hər iki alüminium folqa dəliyindən bir deşik açdım, buna görə alüminium folqa içərisindəki skor bloklarının yaxınlığında və oyunun yanında alüminium folqa ilə təmasda bir çuxur qazdım.
Bundan əlavə, sol altda, divarlar arasında, əlavə top qapısı Servo -ya gedən kabel üçün dəlik açdım.
Aşağıda LCD -yə qoşulan kabel üçün dəlik olmalıdır.
Addım 7: Hər şeyi bağlayın
Bütün kabellərin hara getməli olduğunu daha yaxşı bir şəkildə görmək üçün bu sxematik etdim. Xaçlar kabellərin birləşdiyi nöqtələrdir. Hər şeyi bir az daha sabit və etibarlı etmək üçün mümkün qədər lehimləməyə çalışdım. Kablolama bir az vaxt aparacaq, ancaq bu iş bitdikdən sonra demək olar ki, oradasınız!
Addım 8: Kodun Yüklənməsi
Langırt maşınınızın canlanması üçün aşağıdakı kodu Arduino -ya yükləyin!
// LCD üçün kitabxananı daxil edin
#daxil edin #daxil edin
// LCD məlumat pinlərini işə salın
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
// Bir servo yaradın
Servo topuGateServo;
// İstifadə etdiyimiz sancaqlar üçün dəyişənlər yaradın
int gameoverPin = 6; int scorePin = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Langırt maşını üçün oyun dəyişənlərini işə salın
int hesab = 0; int yüksək puanı = 500; bool highscoreReached = yalan; int topları = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = yalan;
// bu kodu ilk çərçivədə bir dəfə işlədin
void setup () {// pinMode (gameoverPin, INPUT) istifadə etdiyimiz sancaqlar üçün pinMode qurun; pinMode (scorePin, INPUT);
// Genişliyi və hündürlüyü verərək lcd -ni işə salın
lcd.begin (16, 2);
// Top qapısı servosunu uyğun pinə bağlayın
ballGateServo.attach (ballGateServoPin);
// Qapı servosunu başlanğıc vəziyyətinə qaytarın
ballGateServo.write (0); }
// Bu kodu hər çərçivədə işlədin
void loop () {// pin girişlərini int gameoverState = digitalRead (gameoverPin) tutun; int scoreState = digitalRead (scorePin);
// Giriş alınarsa hesaba əlavə edin
if (scoreState) {ton (SpeakerPin, 1000); bal += 10; } başqa {noTone (4); }
// Oyundakı çuxur tetiklenirse toplardan çıxarın
if (gameoverState və! gameoverTriggered) {toplar -= 1; gameoverTriggered = doğru; gameoverTimer = gameoverTimerDuration; }
// Top oyunun təmas hissəsinə toxunmadığı anda oyun vaxtı sayğacını işə salın
if (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer -= 1; } başqa {gameoverTriggered = false; }}
// Oyundakı mətni lcd -ə yandırın və hesabı və topları sıfırlayın
əgər (toplar <= 0) {lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); gecikmə (250); lcd.print ("OYUN BİTDİ"); lcd.setCursor (0, 1); lcd.print ("Yenidən cəhd edilsin?"); gecikmə (250); } lcd.clear (); bal = 0; ballGateServo.write (0); highscoreReached = yalan; toplar = 3; }
if (hesab> yüksək və! yüksək skorReach) {
lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); gecikmə (250); lcd.print ("YENİ YÜKSƏK"); lcd.setCursor (0, 1); lcd.print ("Ani ölüm!"); gecikmə (250); } lcd.clear (); toplar = 1; ballGateServo.write (120); yüksək bal = hesab; highscoreReached = doğru; }
// Mövcud hesab daha yüksəkdirsə, yüksək puanı yeniləyin
if (score> highscore) {highscore = score; }
// Kursoru 0 sətirinə qoyun
lcd.setCursor (0, 0); // Cari (yüksək) balı lcd -ə yazdırsanız (bal <= 0) {lcd.print ("Highscore:" + String (highscore) + ""); } başqa {lcd.print ("Hesab:" + String (hesab) + ""); }
// Kursoru 1 -ci sətrə təyin edin
lcd.setCursor (0, 1);
// Topların cari miqdarını lcd -ə yazdırın
lcd.print ("Toplar:" + String (toplar)); }
Tövsiyə:
Hands-Free Karton Gumball Machine: 18 Addım (Şəkillərlə birlikdə)
Hands-Free Karton Gumball Maşın: Bir mikro: bit, Crazy Circuits Bit Board, bir məsafə sensoru, bir servo və kartondan istifadə edərək Toxunmaz Gumball Maşını hazırladıq. Bunu etmək və istifadə etmək " BLAST "! ? ? Əlinizi raketin dibinə qoyduğunuzda məsafə sensoru
Özünü Oynayan Arduino Pinball Maşını!: 13 Addım (Şəkillərlə)
Özünü Oynayan Arduino Pinball Maşını !: " Özünü oynayan langırt maşını, bütün əyləncəni oradan çıxarmırmı? &Quot; Soruşduğunu eşidirəm. Bəlkə də muxtar robotlar deyilsinizsə, ola bilər. Bununla birlikdə, çox maraqlı şeylər edə biləcək robotlar qurmaqla çox məşğulam və bu
A Raspberry Pi Powered Junk Drum Machine: 15 Addım (Şəkillərlə birlikdə)
A Raspberry Pi Powered Junk Drum Machine: Bu Təlimat sizə Raspberry Pi ilə işləyən robot nağara maşınının necə hazırlanacağını göstərəcək. Həqiqətən də əyləncəli, yaradıcı, interaktiv bir layihədir. Daxili işlərin necə aparılacağını sizə göstərəcəyəm, amma əsl zərb alətləri sizə veriləcək
X-men Arcade Machine: 30 Addım (Şəkillərlə birlikdə)
X-men Arcade Machine: Mən bunu "X-men" qurdum. Təxminən iki il ərzində qızımla birlikdə arcade maşın (bu qədər uzun çəkməməli idi). Bu, həqiqətən də əyləncəli bir layihə idi və ortaya çıxmasından son dərəcə məmnunuq. Bu təlimat haqqında bir neçə şey
Susam Küçəsi - Pinball sayı sayı: 8 addım (şəkillərlə)
Sesame Street - Pinball sayı sayı: Bu təlimat xüsusi bir saatın qurulmasını təsvir edəcək. Bu xüsusi olaraq Susam Caddesindeki saatın qurulmasıdır; Pinball sayı sayma animasiyası, ümumi prosedurlar eynidır və təlimat