İçindekiler:
- Adım 1: Cesaret
- Adım 2: PCB'nin Montajı
- Adım 3: Programlama Alma Zamanı
- 4. Adım: Programın Kendisi Hakkında
- Adım 5: Kreasyonunuzu Özelleştirme
Video: Kartvizit/Oyun Konsolu: ATtiny85 ve OLED Ekran: 5 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
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
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ı
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:
Bir Başka ATtiny85 Retro Oyun Konsolu: 4 Adım
Bir Başka ATtiny85 Retro Oyun Konsolu: Uzay istilacıları, Tetris, vb. oynamak için ATtiny85 x 0.96 OLED'e dayanan küçük bir retro Konsol benzeri kurulum
Dokunmatik Ekran Kartvizit: 8 Adım (Resimli)
Dokunmatik Ekranlı Kartvizit: Derece olarak Makine Mühendisiyim, ancak devre ve mikrodenetleyicileri içeren yıllarca süren projelerden Elektrik Mühendisliği ve programlama becerileri de geliştirdim. İşverenler, Makine Mühendisliği becerilerine sahip olmamı bekleyeceklerinden
Arduino Cep Oyun Konsolu + A-Labirent - Labirent Oyunu: 6 Adım (Resimli)
Arduino Cep Oyun Konsolu + A-Labirent - Labirent Oyunu: İlk öğreticime 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. Expo sayesinde (veya sizin) gelecekteki oyunlarım ile parlatılabilir
Dot Matrix Kartvizit: 8 Adım (Resimli)
Nokta Vuruşlu Kartvizit: El feneri kartvizitim sizin için yeterince gelişmiş değilse, o zaman bir dizi kayan mesaj için özelleştirilebilen tam grafik ekranı olan birine ne dersiniz? Bu, yaklaşık 5 dolarlık bir parça maliyeti için miktarda yapılabilir ve
El Feneri Kartvizit: 6 Adım (Resimli)
El Feneri Kartviziti: Diğer kartvizit talimatlarımı okuduysanız, bunun neyle ilgili olduğunu bileceksiniz - yararlı olan veya insanların gerçekten atmak istemedikleri bir kartvizit yapın ve başarılı bir parçanız var. reklam. Bu bir varyasyon