İçindekiler:
- Adım 1: Fonksiyonlar
- 2. Adım: Oynatmayı Başlatın
- Adım 3: Otomatik Güç Kapatma İşlevleri
- Adım 4: Oluşturmaya Başlayalım
- Adım 5: AutoPowerOff Sürümü
- Adım 6: Eskiz
- 7. Adım: Değişiklikler
- Adım 8: Bitir
Video: Zeka Oyunu: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Merhaba, bu derste Arduino Uno ve Oled ekran ile matematik alıştırması için kullanılan küçük bir oyunun nasıl oluşturulacağını göstereceğim.
Her şey oğluma okul ödevlerinde yardım ederken başladı.
Analog saati ve temel aritmetiği uygulamak için bir cihaz kullanma fikrini buldum.
Diğer talimatımı "OLEDDICE" okuduysanız, muhtemelen kutuyu ve o projedeki diğer şeyleri tanımışsınızdır.
Zar projesinin tasarımını yaparken birkaç özel yapım PCB satın aldım ve bunları belirli bir kutu için tasarladım, bu yüzden birçok taşınabilir proje için tekrar kullanacağım.
Yukarıdaki video nedeniyle, son özel beyin oyununu ve nasıl kullanılacağını gösteren video, ancak bu talimatta onu bir breadboard üzerinde nasıl kuracağımı anlatacağım.
İki versiyonu mevcuttur.
1. Standart versiyon
2. Otomatik Güç Kapatma Sürümü
AutoPowerOff sürümü, pil tasarrufu yapmak için gücü otomatik olarak kapatmak için eklenen birkaç ekstra bileşene sahiptir.
Benim gibi taşınabilir olması için bir tane yaparsanız, bu mükemmel bir seçimdir.
Adım 1: Fonksiyonlar
Aşağıda açıklanan işlevler, AutoPowerOff özelliği dışında her iki sürüm için de aynıdır.
Oyun, kontrol için üç standart anlık PCB anahtarına sahiptir., Tamam ve Geri öğesini seçin
Bu nasıl oynanır.
Oyunu ilk açtığınızda, oyun menüsünden oyun seçmeniz istenecektir.
2 sayfa arasından seçim yapabilirsiniz.
İlk sayfa:
- ek
- çıkarma
- çarpma işlemi
- Bölüm
İkinci sayfa:
- ikili dönüştürme
- altıgen dönüştürme
- Analog saat okumaları
- Temel matematik boyunca çalışan rastgele mod.
Hangi oyunu oynamak istediğinize karar verdiğinizde OK tuşuna basın ve seçim yapmak için bir sonraki menüye geçeceksiniz.
1-4 arası seviye
Geri düğmesine basmak sizi bir önceki menüye geri götürür.
2. Adım: Oynatmayı Başlatın
Oynatmayı başlatmak için tamam'a basın.
Oyun 1-4
İlk menüden oyunu seçtiyseniz, ekranın altında bir soru ve büyüyen bir zaman çubuğu olacak. Zaman bittiğinde oyun doğru cevabı gösterecektir.
Tamam'a tekrar basmak size yeni bir görev verecektir.
Oyun 5-8
İkinci sayfadan dönüştürmeyi seçerseniz, davranış benzerdir, ancak burada rastgele ondalık, ikili veya onaltılı arasında dönüştürme yapmanız gerekir.
Bu oyunu oynarken, zaman çubuğunuz olmayacak, cevabı göstermeye hazır olduğunuzda sadece Tamam'a basın.
Son oyun analog saat okumalarıdır, tamam'a basıldığında saat durmadan önce rastgele bir sayıda dönmeye ve yavaşlamaya başlar ve ardından saatin kaç olduğunu yanıtlamanız istenir.
Bunu kolaylaştırmak için saat her zaman 5 dakikalık aralıklarla duracaktır.
Tüm oyunlar için, ses etkinleştirilirse oynarken bir ses sinyali alırsınız.
Sesi etkinleştirmek veya devre dışı bırakmak için geri düğmesini 1 saniyeden fazla basılı tutun. Ses kapalıysa, sağ üst köşede küçük bir sessiz sembolü vardır.
Adım 3: Otomatik Güç Kapatma İşlevleri
AutoPowerOff sürümünü oluşturursanız, birkaç ek işlev vardır.
Tamam butonuna bir saniye basılı tutarak cihazı açıyorsunuz. Herhangi bir oyun oynamıyorsanız, otomatik kapanma uyarısı almadan önce oyun yaklaşık 60 saniye çalışıyor.
Herhangi bir tuşa basmazsanız güç kesiliyor, bu da oyunu kapatmayı asla unutmamanızı sağlıyor.
Herhangi bir düğmeye basmak zamanlayıcıyı sıfırlayacaktır.
Geri düğmesini üç saniyeden fazla basılı tutup bırakın, oyunu kapanmaya zorlar.
Çizim, verileri depolamak için Arduino IDE ile birlikte gelen EEPROM kitaplığını kullanır.
Güç kesilmeden hemen önce mikro denetleyici en son durumu kaydeder ve bir sonraki yeniden başlatmada, Oyun, Seviye ve Ses durumunu hatırlayacaktır.
Adım 4: Oluşturmaya Başlayalım
İhtiyacın olan şey bu.
Her iki sürüm:
1 Arduino Uno
1 0.96 i2c Oled ekran Oled ekran
3 anlık basma düğmesi PCB Anahtarı
3 Direnç 10K
1 Piezo öğesi
1 adet lehimsiz Ekmek Tahtası
bazı atlama telleri.
Otomatik Güç Kapatma Sürümü:
AutoPowerOff sürümü için de ihtiyacınız var.
1 Pfet Transistör IRF9640 veya benzeri
1 NPN Transitor BC547 veya benzeri
2 Diyot 1N4148
1 Voltaj regülatörü 7805
2 Direnç 100K
2 Kapasitör 10uF
1 Kapasitör 0, 1uF
1 9 Volt pil
Standart sürümü oluşturmak, oled ekranı, piezoyu, düğmeleri ve çekme dirençlerini bağlamakla ilgilidir. yukarıdaki fritzing resme bakın.
Ekrandaki SCL, Arduino üzerinde Analog5'e ve SDA, Analog4'e bağlıdır.
Adım 5: AutoPowerOff Sürümü
Autopoweroff sürümünü oluşturuyorsanız, listedeki ekstra bileşenleri devre tahtanıza eklemelisiniz.
Ok düğmesi için 10K çekme direncini güç kontrol devresine taşımanız ve Dijital çıkış 8'den ekstra kablo eklemeniz gerektiğini unutmayın.
Ayrıca Arduino'nuzu üst kısımdaki 5 Volt pin üzerinden çalıştırdığınızdan emin olun (yan taraftaki DC jakından değil).
Ayrıca kroki yüklendiğinde USB kablonuzu da çıkarmanız gerekir, aksi takdirde devre kapalı olsa bile Arduino'nun USB'den beslenmesine bağlı olarak otomatik kapanma işlevi çalışmayacaktır.
Otomatik kapanma devresi bu şekilde çalışır.
Tamam düğmesine basıldığında, PFet:s Kapısı üzerindeki voltaj düşüşü, aküden gelen gücün transistör üzerinden voltajı 5 Volt'a sabitleyen voltaj regülatörüne akmasına izin verir.
Arduino'ya güç verildiğinde, dijital pim 8, mantık YÜKSEK olarak ayarlanır ve Pim, dijital pim 8 YÜKSEK olduğu sürece devreyi kilitleyecek olan BC547 tabanına bağlanır.
Tamam düğmesi ayrıca D2 diyotu aracılığıyla Arduino'daki dijital girişi 7 kontrol ediyor.
Adım 6: Eskiz
Çizim, ekran için U8g2 kitaplığını kullanır, burada bulabilirsiniz.
Kodu derlemeden önce indirin ve kurun.
Kitaplığı kurmak için yardıma mı ihtiyacınız var?https://www.arduino.cc/en/guide/Libraries
ÖNEMLİ:
Her iki sürüm için de aynı çizimi kullanıyorsunuz, ancak standart sürümü oluşturuyorsanız çizimin başındaki "#define AUTOPOWER" öğesini hariç tutmanız gerekiyor.
7. Adım: Değişiklikler
Taslakta, kullanıcının oyuncu referanslarına daha iyi uyması için değiştirmek isteyebileceği birkaç parametre vardır.
- Çeşitli seviyeler için düşünme zamanı.
- Farklı oyun ve seviyeler için rastgele aralık.
Rastgele sayılar aralığı, her oyun ve her seviye için 2 boyutlu bir dizide saklanır.
Varsayılandan farklı bir I2c adresine sahip bir oled kullanıyorsanız, bunu ekranınıza uyacak şekilde kolayca değiştirebilirsiniz.
Adım 8: Bitir
Bitirdiniz.
Umarım projeyi ve oyunu beğenirsiniz.
İyi eğlenceler.
tomas
Önerilen:
HuskyLens Kullanarak Yapay Zeka ve Görüntü Tanıma: 6 Adım (Resimlerle)
HuskyLens Kullanarak Yapay Zeka ve Görüntü Tanıma: Hey, naber beyler! Akarsh burada CETech'ten. Bu projede, DFRobot'tan HuskyLens'e bir göz atacağız. Yüz Tanıma gibi çeşitli Yapay Zeka işlemlerini yapabilen, AI destekli bir kamera modülüdür
LEGO EV3 Labirent Sürüş Robotunda Yapay Zeka: 13 Adım
LEGO EV3 Labirent Sürüş Robotunda Yapay Zeka: Bu, biraz yapay zekaya sahip basit, otonom bir robottur. Bir labirenti keşfetmek ve girişe geri yerleştirildiğinde çıkışa gitmek ve çıkmaz sokaklardan kaçınmak için tasarlanmıştır. Önceki projemden çok daha karmaşık, ki
Yapay Zeka Nasıl Yapılır? Bölüm 2: 9 Adım
Yapay Zeka Nasıl Yapılır? Bölüm 2: Bu, ücretsiz bir veritabanı, Programlama geliştirme aracı ve Windows ile birlikte gelen ücretsiz yerleşik TTS motorunu kullanarak bir Windows bilgisayarda yapay zeka oluşturmak için attığım adımlarla ilgili 2. bölümdür. "Windows" sözcüğü; Microsoft'a aittir. "Dra
Yapay Zeka Nasıl Yapılır? Bölüm 4: 3 Adım
Yapay Zeka Nasıl Yapılır? Bölüm 4: Geçen gün yapay zekamla konuşuyordum ve ona "Akşam yemeğine yukarı çıkıyorum, STEAK yiyoruz" dedim. Ancak Konuşma Tanıma (SR) yazılımı bunu “… STAKE alıyoruz” şeklinde yorumladı.”Benzer (ama farklı) bir problem kulağıyla karşılaştım
C++'da Tek veya Çift El Kriket Oyunu ve Zeka Eklenen Bilgisayar: 4 Adım
Tek veya Çift El Kriket Oyunu Vs Zeka C++'da Eklenen Bilgisayar: El Kriket/ Tek veya Çift, okul günlerinden beri aramızda popüler bir oyundur. Bu talimatta, bu oyunu C++ ile geliştiriyoruz. Aptal olmayan bilgisayara karşı oynamak zorunda olduğunuz tek kişilik bir oyundur. Bilgisayar rastgele sayı koymuyor