İçindekiler:
Video: Breadboard'da Yılan: 3 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
"Telefonunda oyun var mı?"
"Tam olarak değil."
Giriş:
Kontrol etmesi basit, programlanması kolay ve Nokia 6110 tarafından ölümsüzleştirilen Snake, mühendisler arasında favori bir proje haline geldi. LED matrislerinden, LCD'lerden, kitaplık aydınlatmasından ve hatta tüm binaların pencerelerinden herhangi bir şeye uygulandı. Snake'i küçük bir devre tahtasına ve bir OLED ekrana uygulayacağız. İnsanlar kesinlikle daha küçük yılan oyuncuları yaptılar, ancak bu özellikle bir devre tahtası kullanıyor ve PCB veya lehim tasarlama ihtiyacını ortadan kaldırıyor.
(Telefonunuzda bir uygulama yapabilirsiniz, ancak bazı şeyleri kolay oldukları için yapmıyoruz.)
Önkoşullar:
Temel bir devre anlayışı, devre tahtasının nasıl yapılacağı ve Arduino'da sağlam bir programlama kavrayışı.
Gereçler
- Arduino Nano
- 2 oldukça yüksek direnç (1kOhm)
- Minik ekmek tahtası
- 2 Buton
- 22 AWG tek damarlı tel
- 128 x 64 OLED
Bunlar Amazon bağlı kuruluş bağlantılarıdır, bu yüzden her satıştan küçük bir komisyon kazanırım. Bu malzemelere henüz sahip değilseniz ve gelecekteki projelerime destek olmak istiyorsanız, bu bağlantıları takip edin!:)
Adım 1: Breadboard
Nihai ürünümüzü yapmak için, projemizi programlamak ve test etmek için donanımı bir araya getirmemiz gerektiği açıktır. Bu proje için sistem şeması oldukça basittir, çünkü sadece toplam 4 bileşen içerir.
1. Yerleştirin:
Bileşenlerinizi alın ve her şeyin uygun olduğundan emin olarak tahtaya yerleştirin. Hangi telleri ve pimleri kullanacağınızı ve hangi amaçlarla kullanacağınızı gözünüzde canlandırın. Beklenen kablolarınızın kesişmediğinden emin olun, çünkü bu daha dağınık bir devre tahtası yapar. Hangi noktaları bağlamanız gerektiğini yazın! Bu basit bir devre tahtası olmasına rağmen, kablolama işlemi sırasında ve genel olarak hayatınızı çok daha kolay hale getirecektir. Çalışma alanımızın ne kadar küçük olduğundan, bu inanılmaz derecede önemli bir adımdır.
Notlar:
OLED, I2C veri yolunu kullandığından, A4 ve A5 pinleri kullanılmalıdır. Breadboard'un boyutu güç ve toprak rayına izin vermiyor, bu yüzden her şeyi yoluna koymak için birkaç numara kullandım. Düğmeler için pozitif voltaj, D13 ve A2 pinleri tarafından sağlanır. Arduino pinlerinin sadece akım sağlamakla kalmayıp akımı da batırdığını keşfettim, bu yüzden A3'ü sağ tuş için bir topraklama olarak kullandım. Breadboard'daki alanı en üst düzeye çıkarmak için Nano'nun yarısını tahtadan çıkardım ve sol taraftaki pimleri bir parça köpükle destekledim.
2. Kabloyu çıkarın:
Bir çift tel sıyırıcı ve yeterli miktarda 22 AWG tek damarlı tel ile bileşenlerinizi düzgün bir şekilde birbirine bağlayın. Yarı kalıcı devre tahtası projeleri yapmak için katı çekirdek kullanmak çok önemlidir, çünkü bunları atlama kablolarının aksine uzunlamasına kesebilirsiniz. Tellerinizde çok fazla uzunluk bırakmadığınızdan emin olun, dağınık bir tahtaya neden olur. Aşağı çekme dirençlerinin uçlarını, kartla aynı hizada olacak şekilde kesin.
(Ayrıca yukarıda yaptıklarımı takip edebilirsiniz.)
Adım 2: Programlayın ve Test Edin
Daha sonra başınızı ağrıtmaktan kurtarmak için, temel test programları yaparak OLED'in ve düğmelerin olması gerektiği gibi çalıştığından emin olun.
1. Planla, planla, planla:
Sadece doğrudan koda atlamak akıllıca bir uygulama değildir. İnan bana, denedim! Bu yüzden programınızın nasıl çalışacağını ana hatlarıyla belirtmelisiniz. Bir program akış şeması, kodunuzun ne yapması gerektiğini planlamanın oldukça sağlam bir yoludur ve kesinlikle sizi yolda tutacaktır. Örneğin benimkini al (yukarıda)
2. Kod, kod, kod:
Açıkçası, bu proje bir donanım alıştırmasından daha büyük bir programlama alıştırmasıdır. Kullandığım tek kitaplık Adafruit'in OLED kitaplığıydı, destekleyen GFX ve Wire kitaplıklarını saymazsak.
Adafruit'in OLED kütüphanesini Arduino IDE'nin kütüphane yöneticisi aracılığıyla kurmanızı sağlayın.
Yazdığım her bir kod satırını belgeleyemem ama işte birkaç ipucu:
İpuçları:
Yorumlar:
- Her şeyden önce, kod yazarken düzgün ve faydalı yorumlar yazın. Gelecekte siz ve kodunuzu okuyan diğer kişiler kesinlikle size teşekkür edecek.
Hafıza:
- Bunun gibi daha karmaşık projelerle SRAM oldukça sıcak bir meta haline geliyor. Adafruit kitaplığında 128 x 64 OLED arabelleği tek başına 1 kB yer kaplar, bu da ATMega328p'deki belleğin yaklaşık yarısı kadardır. Bu nedenle akıllı bellek yönetimi her zamankinden daha önemli.
- Büyük veri yapıları ile tutulan veriler birikecek ve çok fazla yer kaplayacaktır. Değişkenlerimin bellek ayak izini azaltmak için, yapabildiğimde daha küçük veri türleri (kısa ve bayt gibi) kullandım.
- Dizeler genellikle SRAM'de saklanır, ancak F() işlevinin kullanılması onları PROGMEM'e yerleştirir ve değerli bellekten tasarruf sağlar.
Milli:
- Oyun döngülerinin daha doğru zamanlamasını elde etmek için millis() işlevini kullanın. İnternette çok sayıda iyi eğitim ve örnek var.
Önceden tanımla:
- Kodda kalıcı değerler ayarlamanın kolay bir yolu olarak #define önişlemci yönergesini kullanın.
Ölçek:
- Gittikçe kodunuzu test edin. Hataları yok etmek çok daha kolay olacak.
3. Adım: Keyfini çıkarın
Yeni yılan oyununda iyi eğlenceler!
(Yukarıdaki videoda 20 puan kazandığımı biliyorum, benim kodumda kazanma koşulunu daha yükseğe ayarlayabilirsiniz.)
Genişletilecek şeyler:
- Taşınabilirlik için bir pil
- Daha güvenli düğmeler
- Daha da küçük bir yılan oyunu
- Daha fazla oyun mu?
Önerilen:
3D Baskılı Yılan Robot: 7 Adım (Resimlerle)
3D Baskılı Yılan Robot: 3D yazıcımı aldığımda onunla ne yapabilirim diye düşünmeye başladım. Bir sürü şey bastım ama 3D baskı kullanarak bütün bir yapı yapmak istedim. Sonra robot hayvan yapmayı düşündüm. İlk fikrim bir köpek ya da örümcek yapmaktı, ama
NeoPixels Matrix:Yılan Oyunu: 4 Adım
NeoPixels Matrix:Snake Game: Çocukluğumuzda oyun kutumuzda veya cep telefonumuzda oynadığımız yılan oyununu hala hatırlıyor musunuz? Bugün 8*8 NeoPixels Matrix ile yılan oyunu yapmayı öğreneceğiz. Kontrol merkezi olarak Arduino uno'yu ve birlikte çalışmak için Joystick koparma modülünü seçtik
Yılan: Yararsız Makine: 5 Adım
Yılan: Yararsız Makine: Çocukken Nokia'nızda yılan oynadığınızı biliyor muydunuz? Belli bir noktada yılan kendi kuyruğunu kovalamaya başlayacaktı ve işte o zaman oyunun bitmek üzere olduğunu anladınız. Bunu bir robot haline getirmeye karar verdik, ancak oyun asla
Anahtarla Uyarlanan Oyuncaklar: Yumurta Uzaktan Kumandalı Yılan Erişilebilir!: 7 Adım (Resimlerle)
Anahtara Uyarlamalı Oyuncaklar: Yumurta Uzaktan Kumandalı Yılan Erişilebilir Yapıldı!: Oyuncak uyarlaması, sınırlı motor becerileri veya gelişimsel engelli çocukların oyuncaklarla bağımsız olarak etkileşime girmesine izin vermek için yeni yollar ve özelleştirilmiş çözümler açar. Çoğu durumda, uyarlanmış oyuncaklara ihtiyaç duyan çocuklar
Biyoilhamlı Robot Yılan: 16 Adım (Resimlerle)
Bioinspired Robotic Snake: Hem ağaca tırmanan robotik yılanların hem de robotik yılan balıklarının araştırma videolarını gördükten sonra bu projeye başlamak için ilham aldım. Bu benim ilk denemem ve serpantin hareketini kullanan robotlar yapıyorum, ama bu benim son olmayacak! İstersen YouTube'a abone ol