İçindekiler:
- Adım 1: Vakayı Oluşturma
- Adım 2: Flipper Mechanic'i Oluşturma
- Adım 3: Duvarları Yerleştirme
- Adım 4: Puan Bloklarını Ekleme
- Adım 5: Game Over Contact'ı Ekleme
- Adım 6: Kablo Deliklerini Delme
- 7. Adım: Her Şeyi Kablolama
- 8. Adım: Kodu Yükleme
Video: Arduino: Pinball Makinesi: 8 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Hem langırt makinelerini hem de elektroniği her zaman sevdiğim için kendi langırt makinemi yapmaya karar verdim. Programlama ve elektronik için Arduino'yu seçtim çünkü hem kompakt hem de kullanımı kolay, erişilebilirliği yüksek bir platform.
Bu rehberde geliştirme sürecimi açıklayacağım, belki siz meraklılardan biri benzer bir şey yaratabilir.
Adım 1: Vakayı Oluşturma
Langırt makinesi vakasıyla başlayalım. Oldukça basit bir yapı yaptım. Alt plakayı kestim ve duvar parçalarını birleştirmek için köşelerde 4 küçük ahşap sütun kullandım. Kasanızın boyutu kendi seçiminizdir, alanı doldurmak için süper muhteşem ekstralar eklemeyi planlamadığım için orijinal bir tilt makinesinden biraz daha küçük yapmayı seçtim. Kasayı olabildiğince sabit hale getirmek için hem vidaları hem de yapıştırıcıyı kullandım. Arka tarafta, tilt makinesine ikonik bir eğim kazandıracak iki ayak için zemin parçasına iki delik açtım. Yine, bacakların yüksekliği tamamen size kalmış. Bacakları ne kadar uzun yaparsanız, top o kadar hızlı yuvarlanır (aşağıya doğru).
Adım 2: Flipper Mechanic'i Oluşturma
Bu projenin maliyetini sınırlamak istediğim için elektronik paletler yerine tamamen mekanik paletler yapmaya karar verdim. Elektronik paletlerle ilgileniyorsanız, biraz aynı olan bir yapı kullanabilirsiniz, ancak buna sözde 'solenoid' bağlı (paletler kontrol etmek için yeterli güce sahip solenoidler benim için çok pahalıydı).
Her iki paletin de dönme noktası için altta iki delik açarak başladım. Delikleri (bence) birbirine biraz fazla yakın açtım ve bu da oyunun sonunda biraz fazla kolay olmasına neden oldu. Bu nedenle, kolay bir oyun tarzı istemiyorsanız paletleri birbirine çok yakın yerleştirmemeye dikkat edin.
Ayrıca kanat deliklerine paralel olarak her iki yan duvarda da iki delik açtım. Bu delikler iki flipper düğmesi için kullanılacaktır.
Paletleri orijinal konumuna geri çekmek için yaylar kullandım ve düğmelere basıldığında dönmelerini sağlamak için paletler ile düğmeler arasında döner bir yapı oluşturdum. Yayların paletleri çok fazla geri çekmesini önlemek için paletleri orijinal konumlarında tutmak için iki vida yerleştirdim.
Adım 3: Duvarları Yerleştirme
Langırtı paletlere yönlendirmek için birkaç duvar yerleştirdim. Yapmaları çok basit. Sadece kasanın altına 3 delik açın ve üç tahta pimi itin. Pimlerin etrafına bir lastik bant sarın ve işiniz bitti.
Adım 4: Puan Bloklarını Ekleme
Skor blokları, langırt makinesinin en önemli parçalarından biridir, bu yüzden bu kısmı doğru yaptığınızdan emin olun. Langırt makinem için üç skor bloğu yaptım, ama bu yine size kalmış.
Süpürgenin küçük bir parçasını kesip etrafına bakır tel sardım. Arduino, bu bakır teli sürekli olarak 5V ile besleyecektir. Topla daha iyi temas için dört kalem yayı yanlara lehimledim.
Puan bloklarının çalışma şekli, topun Arduino'daki bir giriş pinine giden bir devreyi tamamlamasıdır. Yaptığım şey, kasanın altına alüminyum folyo bantlamak (bakıra dokunmamak) ve folyoyu Arduino'daki bir pime bağlamaktı. Top hem bakıra hem de alüminyuma çarptığında devre tamamlanır ve Arduino bir sinyal alır.
Alüminyum folyo kullanarak tüm puan bloklarını birbirine bağladım, ancak yapışkan tarafın elektriği İLETMEDİĞİNİ unutmayın.
Adım 5: Game Over Contact'ı Ekleme
Langırt makinesinin alt kısmında, paletlerin arasına temas üzerine bir oyun ekledim. Top bu kontağa her çarptığında, oyuncu bir top kaybeder. Yaptığım yapı skor blokları ile bire bir aynı. Sadece burada iki vida kullandım ve yine altta bir parça alüminyum folyo.
Adım 6: Kablo Deliklerini Delme
Her şeyi Arduino'ya bağlamaya başlamadan önce, kablolar için birkaç delik açmamız gerekiyor. Her iki alüminyum folyo parçasına bir delik açtım, böylece alüminyum folyoda bir delik skor bloklarına yakın ve alüminyum folyoda bir delik temas noktasının yakınında.
Bunun yanı sıra, sol altta, duvarların arasında, ekstra bilyeli kapı Servo'ya giden kablo için bir delik açtım.
Altta LCD'ye bağlanan kablo için de bir delik olmalıdır.
7. Adım: Her Şeyi Kablolama
Tüm kabloların nereye gitmesi gerektiğine dair daha iyi bir genel bakış elde etmek için bu şemayı yaptım. Çaprazlar, kabloların bağlandığı noktalardır. Her şeyi biraz daha istikrarlı ve güvenilir hale getirmek için mümkün olduğunca lehimlemeye çalıştım. Kablolama biraz zaman alacak, ancak bu yapıldıktan sonra neredeyse oradasınız!
8. Adım: Kodu Yükleme
Langırt makinenizi canlandırmak için aşağıdaki kodu Arduino'nuza yükleyin!
// lcd için kütüphaneyi dahil et
#include #include
// lcd veri pinlerini başlat
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
// Bir servo oluştur
Servo topGateServo;
// Kullandığımız pinler için değişkenler oluşturun
int gameoverPin = 6; int puanPin = 5; int hoparlörPin = 4; int ballGateServoPin = 3;
// Langırt makinesi için oyun değişkenlerini başlat
int puanı = 0; int yüksek puan = 500; bool highscoreReached = false; int toplar = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = yanlış;
//bu kodu ilk karede bir kez çalıştır
void setup() { // Kullandığımız pinler için pinMode'u ayarlayın pinMode(gameoverPin, INPUT); pinMode(scorePin, INPUT);
// Genişlik ve yükseklik vererek lcd'yi başlat
lcd.begin(16, 2);
// Bilyalı kapı servosunu uygun pime takın
ballGateServo.attach(ballGateServoPin);
// Kapı servosunu başlangıç pozisyonuna resetle
ballGateServo.write(0); }
// Bu kodu her karede çalıştırın
void loop() { // Pin girişlerini yakalayın int gameoverState = digitalRead(gameoverPin); int scoreState = digitalRead(scorePin);
// Girdi alınırsa puana ekle
if (scoreState) { tone(speakerPin, 1000); puan += 10; } başka { noTone(4); }
// Oyun çukuru tetiklenirse toplardan çıkar
if (gameoverState ve !gameoverTriggered) { toplar -= 1; gameoverTriggered = true; gameoverTimer = gameoverTimerDuration; }
// Top oyun temasına değmediği anda oyun zamanlayıcısını başlat
if (!gameoverState) { if (gameoverTimer >= 1) { gameoverTimer -= 1; } else { gameoverTriggered = false; } }
// Gameover metnini lcd'ye kırpın ve skoru ve topları sıfırlayın
if (toplar <= 0) { lcd.setCursor(0, 0); for (int i = 5; i>= 1; i--) { lcd.clear(); gecikme(250); lcd.print("OYUN BİTTİ"); lcd.setCursor(0, 1); lcd.print("Tekrar dene?"); gecikme(250); } lcd.clear(); puan = 0; ballGateServo.write(0); highscoreReached = yanlış; toplar = 3; }
if (puan > yüksek puan ve !yüksek puan Ulaşıldı) {
lcd.setCursor(0, 0); for (int i = 5; i >= 1; i--) { lcd.clear(); gecikme(250); lcd.print("YENİ YÜKSEK Skor"); lcd.setCursor(0, 1); lcd.print("Ani Ölüm!"); gecikme(250); } lcd.clear(); toplar = 1; ballGateServo.write(120); yüksek puan = puan; yüksek puanUlaşılan = doğru; }
// Mevcut puan daha yüksekse yüksek puanı güncelle
if (puan > yüksek puan) { yüksek puan = puan; }
// İmleci satır 0'a ayarla
lcd.setCursor(0, 0); // Geçerli (yüksek) puanı lcd'ye yazdır if (score <= 0) { lcd.print("Yüksek puan: " + String(yüksek puan) + " "); } else { lcd.print("Puan: " + String(puan) + " "); }
// İmleci satır 1'e ayarla
lcd.setCursor(0, 1);
// Mevcut top miktarını lcd'ye yazdır
lcd.print("Toplar: " + String(toplar)); }
Önerilen:
ARDUINO Kullanan ULTRASONİK LEVİTASYON Makinesi: 8 Adım (Resimlerle)
ARDUINO Kullanan ULTRASONİK LEVİTASYON Makinesi: Uzaylı uzay gemileri gibi havada veya boş alanda yüzen bir şey görmek çok ilginç. anti-yerçekimi projesi tam olarak bununla ilgili. Nesne (temelde küçük bir kağıt parçası veya termokol) iki ultrasonik trans
4X4 Tuş Takımını Kullanan Arduino Hesap Makinesi: 4 Adım (Resimlerle)
4X4 Tuş Takımını Kullanan Arduino Hesap Makinesi: Bu derste Arduino ile kendi hesap makinemizi oluşturacağız. Değerler bir tuş takımı (4×4 tuş takımı) aracılığıyla gönderilebilir ve sonuç bir LCD ekranda görüntülenebilir. Bu hesap makinesi Toplama, Çıkarma, Çarpma gibi basit işlemleri yapabilir
Kendi Kendini Oynayan Arduino Pinball Makinesi!: 13 Adımda (Resimli)
Kendi Kendini Oynayan Arduino Pinball Makinesi!: "Kendi kendine oynayan bir langırt makinesi, tüm eğlencesini kaçırmıyor mu?" sorduğunu duyuyorum. Belki otonom robotlarla ilgilenmiyorsanız olabilir. Ancak ben, harika şeyler yapabilen robotlar yapmakla çok ilgiliyim ve bu
Evive-Arduino Tabanlı Gömülü Platform Kullanan Masa Üstü Pinball Makinesi: 18 Adım (Resimlerle)
Evive-Arduino Tabanlı Gömülü Platform Kullanan Masa Üstü Pinball Makinesi: Başka bir hafta sonu, başka bir heyecan verici oyun! Ve bu sefer herkesin favori atari oyunu olan Pinball'dan başkası değil! Bu proje size kendi Pinball makinenizi evde kolayca nasıl yapacağınızı gösterecek. Tek ihtiyacınız olan, evive'den gelen bileşenler
Saç Kurutma Makinesi Nasıl Yapılır - Kendin Yap Ev Yapımı Saç Kurutma Makinesi: 6 Adım (Resimlerle)
Saç Kurutma Makinesi Nasıl Yapılır - Kendin Yap Ev Yapımı Saç Kurutma Makinesi: ❄ BURAYA ABONE OLUN ➜ https://www.youtube.com/subscription_center?add_us…❄ TÜM VİDEOLAR BURADA ➜ http://www.youtube.com/user/fixitsamo /videos❄ BİZİ TAKİP EDİN: FACEBOOK ➜ https://www.facebook.com/fixitsamo PINTEREST ➜ https://www.facebook.com/fixitsamo