İçindekiler:

Breadboard'da Yılan: 3 Adım (Resimlerle)
Breadboard'da Yılan: 3 Adım (Resimlerle)

Video: Breadboard'da Yılan: 3 Adım (Resimlerle)

Video: Breadboard'da Yılan: 3 Adım (Resimlerle)
Video: Gördüğünüzde Kaçmanız Gereken En Tehlikeli 10 BÖCEK ►2 2024, Kasım
Anonim
Breadboard üzerinde yılan
Breadboard üzerinde yılan
Breadboard üzerinde yılan
Breadboard üzerinde yılan
Breadboard üzerinde yılan
Breadboard üzerinde yılan

"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

ekmek tahtası
ekmek tahtası
ekmek tahtası
ekmek tahtası
ekmek tahtası
ekmek tahtası

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

Program ve Test
Program ve Test

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: