İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
İlk dersime hoş geldiniz
Bugün sizlerle paylaşmak istediğim proje, Arduboy ve benzeri Arduino tabanlı konsollar kadar yetenekli bir cep konsolu haline gelen Arduino labirent oyunu. Açıkta kalan ICSP başlığı sayesinde (veya sizin) gelecekteki oyunlarım ile parlatılabilir.
Birkaç ay önce Arduino'da bir labirent oyunu yapmak için bir fikrim vardı, ancak kodlanmış labirent seti olmadan. Oynadığınız her seviye için yeni bir labirent oluşturabilmelidir, böylece aynı labirenti bir daha asla görmezsiniz:)
Arduino'nun RAM belleği sınırlı olduğu için bunu kodlamak biraz zor oldu ve sonra bunun basit Bo-Taoshi algoritması ile nasıl yapılabileceğine dair birkaç örnek buldum.
Başlangıç noktası olarak kullandığım kod SANUKI UDON ve projesi ATTINY13A KULLANARAK LAbirent JENERATÖRÜ NASIL YAPILIR
Adım 1: Breadboard Prototipleme
Başlangıç noktam, labirentte hareket etmek için yalnızca 4 düğmenin bağlı olduğu küçük bir devre tahtasıydı, ancak daha sonra bunun bir oyun konsolu olması gerektiğine karar verdiğimde birkaç düğme daha ekledim. Daha büyük devre tahtasında 2 düğme daha görebilirsiniz ve daha sonra başlat/duraklat/menü düğmesi olarak kullanılmak üzere üçüncü bir düğme ekledim
2. Adım: Gerekli Parçalar
- Arduino pro mini / Arduino Uno / Atmega328P çip
- 28 pinli DIP soketi (opsiyonel)
- SSD1306 OLED ekran
- Piezo hoparlör
- Butonlar - 7 adet
- Madeni para pil tutucular
- Geçiş anahtarı
- teller
- Prototip pcb (60x40mm)
Adım 3: Breadboard Kablolama / Şematik
Bileşenleri yukarıdaki şemada gösterildiği gibi bağlayın.
Düğmeler:
- YUKARI düğmesi: Arduino pin 7
- AŞAĞI düğmesi: Arduino pin 6
- SOL düğme: Arduino pin 9
- SAĞ düğme: Arduino pin 8
- Bir düğme: Arduino pin 5
- B düğmesi: Arduino pin 4
- BAŞLAT düğmesi: Arduino pin 2
SSD1306 OLED ekran:
- SCL: Arduino pini A5
- SDA: Arduino pini A4
- VCC: Arduino VCC
- GND: Arduino GND
Zil:
- Buzzer pozitif: Arduino pin 3
- Zil zemini: Arduino GND
Adım 4: Kaynak Kodu
A-Maze oyun kaynak kodu burada bulunabilir:
Arduino IDE'yi açın ve kartınıza yükleyin veya çipinizi programlamak için ISP programlayıcıyı kullanın.
USBTIny ISP kullanmanızı tavsiye ederim, hiç problem yaşamadım:) ama çipinizi programlamak için sıradan Arduino'yu da kullanabilirsiniz.
Benim durumumda harici kristal kullanmadım, bu yüzden Atmega328p çipim 8MhZ olan dahili osilatörde çalışıyor.
Daha fazla bilgi için bu bağlantıyı ziyaret edin:
Adım 5: Eylemde Görün
Adım 6: Vaka ve Minyatürleştirme
Bu projeyi güzel görünümlü bir kılıfla kalıcı hale getirmek istiyorsanız işte tasarladığım basit 3D yazdırılabilir kılıf:
Yukarıdaki resimlerde tüm bileşenlerin 4x6 prototip PCB üzerinde nasıl düzenlendiğini görebilirsiniz.
Çoğu düğme kablosu pil tutucuların altına girer, mümkün olduğunca düz hale getirmeye çalışın, böylece pil tutucular, aradaki kablolarla panonun üzerine nispeten aynı hizada olabilir.
Atmega çip bacakları lehimlendiğinden ve ekranın altında açıkta kaldığından, ekranın altında başka kablolar da yapmanızı öneririm. Lehimlemeyi bitirdikten sonra ekranın altına bir miktar izolasyon bandı koyarak şort vs.
ICSP başlığı isteğe bağlıdır ve ifşa etmemeye karar verirseniz, montajınızı çok daha kolay hale getirecek, 6 bağlantıya daha az özen gösterecek, ancak çipi lehimlemeden önce programlayın veya 28 pinli DIP soketi kullanın, böylece kolayca yapabilirsiniz. programlama için çipi çıkarın.
Cep Boyu Yarışmada İkincilik