İçindekiler:

Kartvizit/Oyun Konsolu: ATtiny85 ve OLED Ekran: 5 Adım (Resimli)
Kartvizit/Oyun Konsolu: ATtiny85 ve OLED Ekran: 5 Adım (Resimli)

Video: Kartvizit/Oyun Konsolu: ATtiny85 ve OLED Ekran: 5 Adım (Resimli)

Video: Kartvizit/Oyun Konsolu: ATtiny85 ve OLED Ekran: 5 Adım (Resimli)
Video: Elektronik Kartvizit Yapımı 2024, Kasım
Anonim
Image
Image
Cesaret
Cesaret

Herkese selam

Bugün size arkadan aydınlatmalı I2C OLED ekran ve ATtiny85 Mikroişlemci içeren kendi kartvizitinizi/oyun konsolunuzu/hayal edebileceğiniz her şeyi nasıl oluşturabileceğinizi göstereceğim. Bu Eğitilebilir Kitapta size tasarladığım bir PCB'nin gerçekte nasıl çalıştığını, onu nasıl inşa edebileceğinizi ve bu işlevsellik ile neler yapabileceğinizi anlatacağım. Zaten bir ATtiny85'e bağlı bir I2C ekranınız varsa, bu Eğitilebilir Tablo, görüntülenecek görüntüleri almaya çalışıyorsanız veya menüler, bir oyun ve daha fazlasını yapmak istiyorsanız hala yardımcı olabilir.

Muhtemelen bu şeyin gerçekte ne olduğunu merak ediyorsunuz. Yerleşik pil, ekran, düğmeler, açma/kapama düğmesi ve işlem birimi içeren basit bir baskılı devre kartıdır. Bunu, çeşitli şeyler yapmak için kolayca programlayabileceğiniz küçük bir Gameboy olarak düşünün. İleri!

Adım 1: Cesaret

Cesaret
Cesaret
Cesaret
Cesaret

Henüz yapmadıysanız, Circuits.io'da bir hesap oluşturmanızı şiddetle tavsiye ederim. Bu, tasarımımı ihtiyaçlarınıza göre özelleştirmenize izin verecektir.

Bu adımda, bu baskılı devre kartlarından (PCB'ler) birini gerçekten nasıl elde edebileceğinizi açıklayacağım. PCB'mi devre şemaları ve PCB'ler oluşturmak için kullanabileceğiniz harika bir çevrimiçi araç olan Circuits.io'da yaptım. Tasarımı buradan görüntüleyebilirsiniz:

PCB almakla ilgileniyorsanız, bu bağlantıyı kullanarak OSH Park'tan istediğiniz kadar sipariş verebilirsiniz:

Panoları almak biraz zaman alıyor (1-3 hafta), ama bana güvenin. Buna değer! Kendi çok işlevli kartınızı oluşturmak için aşağıdaki parçalara ihtiyacınız olacak:

  • ATtiny85, SOIC-8 paketinde. Bu, HER ŞEYİ kontrol eden projemizin beynidir.
  • I2C 128x64 piksel OLED Ekran:
  • 2 adet 22k ohm direnç. Bunlar düğmeler için çekme dirençleridir.
  • Yüzeye Monte CR2032 Tutucu:
  • CR2032 Düğme Pil. Bu küçük pil, devreyi oldukça uzun bir süre çalıştırabilir.
  • 3 pinli sürgülü anahtar. Bu güç anahtarı!
  • Kadın Başlıklar. ATtiny85'i devredeyken programlamak için bunları kullanabilirsiniz!
  • 6 mm düğmeler:
  • Bir baskılı devre kartı (yukarıdaki bağlantıyı kullanarak sipariş edebilirsiniz

Aletler:

  • Havya (ince uçlu)
  • Lehim
  • Kurşun makasları

ATtiny85'i programlamak için:

  • 6 Erkekten erkeğe atlama teli
  • Bir adet 10 mikro farad kapasitör
  • Arduino Uno veya başka bir ATmega tabanlı mikrodenetleyici

Adım 2: PCB'nin Montajı

PCB'nin montajı
PCB'nin montajı
PCB'nin montajı
PCB'nin montajı

Bu gerçekten oldukça kolay. Tek yapmanız gereken, tüm bileşenleri panoda belirtildiği gibi ilgili yerlerine lehimlemektir. Bu OLED ekranların bazıları farklı boyutlarda gelir, bu nedenle, sizinki tahta için çok büyükse, yukarıdaki resimde olduğu gibi üst kısımdan sarkmasını ve diğer taraftaki başlıkların üzerine bükerek deliklere lehimlenmesini sağlayabilirsiniz. gitmeleri gerekiyordu. Kafanız karıştıysa ikinci resme bakın.

Birkaç yararlı ipucu:

  • ATtiny'deki küçük nokta, sürgülü anahtara yakın olacak şekilde yönlendirilmelidir, aksi takdirde pimler yanlış sırada olur.
  • Pil tutucunun yönü önemlidir. Tutucunun kazınmış artı ile ucunun alt pedde olması gerekir (bir dirence dönük).
  • Anahtarların, düğmelerin, başlıkların ve dirençlerin yönü önemli değil

Herhangi bir sorunuz varsa, lütfen bana info[at]coniferapps.com adresinden e-posta gönderin.

Adım 3: Programlama Alma Zamanı

ATtiny/screen kombomu aşağıdaki Eğitilebilir Dosyayı kullanarak çalıştırdım: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Hatta AndyB2'nin modifiye ettiği kütüphaneyi kendi eskizlerimde bile kullanıyorum.

ATtiny'yi programlama şeklimiz bir Arduino Uno'dan geçiyor. Aşağıdaki Talimat, bunun nasıl yapılacağını gösterir: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Henüz fark etmediyseniz, gerekli tüm pinler, arka tarafta etiketlenmiş pin numaraları ile PCB üzerinde yararlı bir şekilde dağılmıştır.

Basit bir örnekle başlamak istiyorsanız, yukarıda bağlantısı verilen taslağı kartınıza yükleyin. Bunu yapmadan önce güç anahtarının sağa hareket ettirildiğinden emin olun. Pilin ve Uno'nun aynı anda voltaj beslemesini istemezsiniz! Bu klasörde bir sürü dosya var. Bir sonraki adımda bundan daha fazla bahsedeceğim, ancak buradaki başlık dosyalarının çoğu, monokromatik bitmap görüntülerinin onaltılık temsilleridir..bmp dosyaları az önce bahsettiğim bu resimlerdir - gördüğünüz gibi, siyah beyaz ve tam olarak 128x64 pikseldir. Bunlar mikrodenetleyiciye yüklenmedi, ancak bunları referans olarak dahil edeceğimi düşündüm.

4. Adım: Programın Kendisi Hakkında

Bir önceki adımda yüklediğim taslak, bir menüyü nasıl uygulayabileceğinizin çok temel bir örneğidir. Sol ve sağ düğmelerin her birine tıkladığınızda, programdaki bir sayacı değiştirir. Daha sonra ATtiny'nin bu sayacın durumunu kontrol etmesini sağlayan bir işlev çağrılır ve sayaç numarasına bağlı olarak ATtiny, ekranda o anda seçili olan menü seçeneğinin bir görüntüsünü çizer. Seçilen farklı menü hücrelerinin her biri kendi görüntüsüdür. Üst düğmeye basılırsa ATtiny, hangi ayrıntı ekranının görüntüleneceğini belirlemek için sayacın durumunu tekrar kontrol eder. Bu detay ekranları görüntülenirken ATtiny, herhangi bir tuşa basılıp basılmadığını sürekli kontrol eder. Bir tuşa basıldığını algıladığında tekrar menüleri çizen fonksiyon çağrılır ve menünün o anki durumu ekrana çizilerek bizi tekrar menüye götürür. Programlamada yeniyseniz, kulağa biraz göz korkutucu geliyor, ancak koda bir kez baktığınızda daha anlamlı olacağına söz veriyorum.

Ayrıntı ekranlarının her biri aynı zamanda kendi görüntüsüdür.

Fark etmediyseniz, sürpriz seçeneği hiçbir şey yapmaz. Buna bir sonraki adımda geleceğiz:).

Adım 5: Kreasyonunuzu Özelleştirme

Şimdi ne yaptığımı gördünüz, kartı kendi bilgilerinizle özelleştirmenin zamanı geldi. Dahil ettiğim bu kitaplığın ekrana metin çizme işlevi var, ancak ÇOK daha iyi görünme eğiliminde olduğundan kesinlikle görüntü tabanlı bir çözüm kullanmanızı şiddetle tavsiye ederim. Başlangıçta bu talimatın program kısmına fotoğraf eklemeyi yapacaktım, ancak kendi öğretilebilirliğini garanti edecek kadar uzun. Burada görüntüleyebilirsiniz:

Artık nasıl fotoğraf ekleyeceğinizi bildiğinize göre, karta yapabileceğiniz birçok şey var. Menülerimi ve yardım ekranımı kullanabilir ve sadece kendi iletişim bilgilerinizi ekleyebilirsiniz. "Sürpriz" seçeneği için küçük bir oyun bile yapabilirsiniz. Düğmeleri kullanarak çok küçük bir 10x10 hareketli grafiği ekranda hareket ettirmek ve başka bir hareketli grafikle çarpışıp çarpışmadığını kontrol etmek oldukça basit olurdu. Aynı konsepti kullanarak kanat çırpan bir kuş klonu yapabilirsiniz! Bir şey yaparsanız, lütfen yorumlara bir fotoğraf/video/dosya gönderin!

Bahsetmeyi unuttuğum küçük bir nokta daha. Depolamaya gelince, ATtiny85'in pek bir özelliği yok. Programlar için yaklaşık 8 kb'dir. 5 resim ve OLED ekran kitaplığı içeren şu anki çizimim, bu 8 kb'nin yaklaşık 7'sini kaplıyor. Yaptığınız herhangi bir oyunun bu nispeten küçük marjın içine sığması gerekecek, bu yüzden eğlenceli bir meydan okuma olacak:).

Konuşmamı dinlediğiniz için teşekkürler ve herhangi bir sorunuz varsa bana info[at]coniferapps.com adresinden e-posta göndermekten çekinmeyin ([at]'ı @ ile değiştirin). Lütfen Autodesk Circuits yarışmasında bana oy verin! Umarım yakında göstereceğiniz kendi kartvizitinize/oyununuza sahip olursunuz!

Önerilen: