İçindekiler:
- Adım 1: Çalışma Modelini Geliştirme
- Adım 2: Bileşenleri Toplama
- 3. Adım: Engel Oluşturma: Kısım-A
- Adım 4: Engel Oluşturma: Kısım-B
- Adım 5: JUMP ve SONUÇ
- Adım 6: Mutlu Oynama
Video: Nokta Atlama Oyunu (Arduino Kullanmadan): 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
genel bakış
Merhaba! Ben Shivansh, IIIT-Hyderabad'da bir öğrenciyim. Google Chrome'un Dinosaur Jump oyunundan esinlenilmiş bir oyun olan ilk talimatımla karşınızdayım. Oyun basittir: Puan kazanmak için gelen engellerin üzerinden atlayın. Eğer çarpışırsanız, kaybedersiniz ve puan sıfırlanır.
Bu projenin öne çıkan özelliği, herhangi bir Arduino veya başka bir mikrodenetleyici kullanımının olmamasıdır. Tamamen temel elektrik bileşenlerinden türetilmiştir ve mantık diyagramları vb. yardımıyla Sonlu Durum Makinelerinin (FSM'ler) uygulanmasını içerir.
Ilgilenen? Başlayalım.
Önkoşullar:
- Dirençler, Kapasitörler, Entegre Devreler (IC'ler) gibi elektrik bileşenleri hakkında temel bilgiler.
- Temel Mantık Kapıları bilgisi (VE, VEYA, DEĞİL, vb.)
- Flip-Flop, Counter, Multiplexer vs.'nin çalışması hakkında bilgi
NOT: Yukarıda listelenen ön koşullar, projenin tüm işleyişini anlamak içindir. Aynı konuda derinlemesine bilgi sahibi olmayan biri, talimattaki adımları izleyerek projeyi de oluşturabilir.
Adım 1: Çalışma Modelini Geliştirme
İlk görev, proje için çalışan bir model oluşturmaktır. Ancak o zaman proje için gerekli malzemelere karar verebiliriz. Tüm proje üç bölüme ayrılabilir.
Bölüm-1: Engel oluşturma
İlk olarak, Nokta'nın üzerinden atlaması için rastgele engeller oluşturmamız gerekiyor. Engeller ayrıca LED Dizinin bir ucundan diğerine hareket eden bir nokta darbesi şeklinde olacaktır.
Engel oluşturmak için, biri Yüksek Frekanslı (HF Zamanlayıcı) ve diğeri Düşük Frekanslı (LF Zamanlayıcı) olmak üzere iki Zamanlayıcı Devresini (ekli devre şemaları) kullanırız. 'Rastgelelik' kısmı, çıkışı LF zamanlayıcının (CLK girişi olarak alınan) her yükselen kenarında görülen HF Zamanlayıcı tarafından işlenir. Engel Oluşturma Talimatı, LF Zamanlayıcısının her yükselen kenarındaki HF Zamanlayıcısının durumudur (1 -> Engel Oluştur | 0 -> Engel Oluşturma). HF Zamanlayıcı, rastgele engel oluşumunu sağlamak için her 'JUMP'ta SIFIRLANIR. HF Zamanlayıcının çıkışı, LF Zamanlayıcı Çıkışı olarak CLK girişi ile bir D Flip Flop'a (bir sonraki döngü için talimat depolamak için) D girişi olarak verilir.
Engel oluşturma için ikili talimat çıktıktan sonra, LED Dizisinde 'engel darbesi' oluşturmamız gerekir. Bunu, çıkışı 4x16 demultiplexer'a (DeMUX) verilen 4 bitlik bir Sayaç yardımıyla yapıyoruz. DeMUX'un çıktısı, ilgili 16 LED'in yanmasını sağlayacaktı.
Bölüm-2: JUMP
JUMP Eylemi için, talimat olarak Basmalı Düğme Girişini alacağız. Talimat verildiğinde, sıralı nesne LED'i parlamayı durdurur ve üzerindeki başka bir LED yanarak bir sıçramayı belirtir.
Bölüm-3: Sonuç
Sonuç şöyle olacaktır: Eğer nesne çökerse, oyunu RESET; Aksi takdirde, puanı artırın.
Çarpışma, hem mania sinyalinin hem de manianın yer konumu için nesne sinyalinin ANDing'i olarak ifade edilebilir. Bir çarpışma gerçekleşmezse, bir çift 7 segmentli ekranda görüntülenen Nokta Sayacı artırılır.
Adım 2: Bileşenleri Toplama
Gerekli bileşenler aşağıdaki gibidir:
- PCB x 1, Breadboard x 3
- LED'ler: Yeşil(31), Kırmızı(1), BiColor:Kırmızı+Yeşil (1)
- Düğme x 2
- 7 segmentli Ekran x 2
- IC 555 x 3 [Zamanlayıcı Devreleri için]
- IC 7474 x 1 (D FlipFlop)
- IC 7490 x 2 (On Yıl Sayacı) [puanı görüntülemek için]
- IC 7447 x 2 (BCD'den 7-segment kod çözücüye) [puanı görüntülemek için]
- IC 4029 x 1 (4-bit Sayaç) [engel gösterimi için]
- IC 74154 x 1 (DeMUX) [engel gösterimi için]
- IC 7400 x 3 (Kapı DEĞİL)
- IC 7404 x 1 (NAND kapısı)
- IC 7408 x 1 (VE kapısı)
- IC soketleri
- Voltaj Kaynağı (5V)
Gerekli aletler:
- Havya
- Tel makası
3. Adım: Engel Oluşturma: Kısım-A
Öncelikle Engel Oluşturma Sinyali (YÜKSEK/DÜŞÜK) üretmek için zamanlayıcı devrelerini kurmamız gerekiyor.
Devre, daha önce tartışılan teoriye göre kurulacaktır. Aynısı için devre şeması yukarıda eklenmiştir. Devre bir devre tahtası üzerinde (ancak bir PCB üzerinde de uygulanabilir) aşağıdaki gibi uygulanır:
- İki 555 IC'yi ve D Flip Flop'u (IC 7474), aralarında biraz boş alan (4-5 sütun) olacak şekilde devre tahtasının ayırıcısı boyunca yerleştirin.
- Breadboard'un üst sırasını Voltaj Kaynağının pozitif terminaline ve alt sırayı negatif terminale bağlayın.
- Devre şemasını izleyerek başka bağlantılar yapın. Gerekli bağlantılardan sonra devre yukarıdaki resimdeki gibi görünecektir.
NOT: R1 & R2 dirençlerinin ve C kapasitansının değerleri aşağıdaki denklemler kullanılarak hesaplanır:
T = 0,694 x (R1 + 2*R2) * C
nerede T gereklidir Zaman Periyodu.
D = 0,694 x [(R1 + R2)/T] *100
burada D, Görev Döngüsü, yani AÇIK Süresinin Toplam Süreye oranıdır.
Bu projede Yüksek Frekans Zamanlayıcı için T = 0,5 sn ve Düşük Frekans Zamanlayıcı için T = 2 sn.
Adım 4: Engel Oluşturma: Kısım-B
Artık engeli ne zaman oluşturacağımızı bildiğimize göre, şimdi onu göstermemiz gerekiyor. 4 bitlik bir sayaç, bir Demultiplexer, bir zamanlayıcı ve bir dizi 16 LED kullanacağız. Neden 16? Bunun nedeni, demultiplexer kullanarak sayacın 4 bitlik çıkışını 16 LED'e eşleyeceğiz. Bu, sayacın 0'dan 15'e kadar sayacağı ve demultiplexer'ın bu indeks ile LED'i açacağı anlamına gelir.
Zamanlayıcının rolü, sayma hızını, yani engel hareket hızını düzenlemektir. Engel, zamanlayıcının Bir Zaman Periyodunda bir pozisyon değiştirecektir. Farklı hızlar elde etmek için önceki adımdaki denklemleri kullanarak farklı R1, R2 ve C değerleriyle oynayabilirsiniz.
LED matrisi için, ortak bir zemin ile doğrusal bir şekilde 16 LED lehimleyin. Her LED'in pozitif terminali DeMUX'a bağlanacaktır (DeMUX DÜŞÜK bir çıkış verdiğinden, NOT geçidi kullanılarak ters çevrildikten sonra).
Aynısı için devre şeması yukarıda eklenmiştir.
Adım 5: JUMP ve SONUÇ
Sonraki şey atlama eylemidir. Bir sıçramayı görüntülemek için, matrisin üzerine farklı renkte bir LED yerleştirin, topraklayın ve +ve terminalini bir düğmeye bağlayın. Basmalı düğmenin diğer ucunu voltaj kaynağına takın.
Ayrıca, bir öncekinin yanına yerleştirilmiş başka bir basmalı düğmeyi alın ve terminallerinden birini +5V'a bağlayın. Diğer terminal, JUMP LED'inin (yani nesne LED'inin) hemen altındaki LED'e giriş olarak NAND Gate'in diğer girişi ile bir NAND Gate'e (IC 7404) gider. NAND Kapısının çıktısı, puan sayacının RESET'ine (her iki BCD Sayacının PIN 2 ve 3'ü) gider. Bununla yaptığımız şey, hem NESNE LED'i (taban konumunda) sinyali hem de ENGEL sinyali aynı anda verilirse, yani nesne ve engel çarpıştığında puanı sıfırlıyoruz.
Her iki basma düğmesinin birlikte basıldığından emin olmak için biraz düzenleme yapın. Bir madeni para kullanabilir ve her iki düğmeyi de ona yapıştırabilirsiniz.
Skor sayacını ayarlamak için yukarıda ekli devre şemasını takip edin (Resim kaynağı: www.iamtechnical.com).
NOT: Engelle çarpışma durumunda puanı sıfırlaması için pim 2 ve 3'ü NAND Kapısının çıkışına bağlayın
Adım 6: Mutlu Oynama
Bu kadar. Projeniz bitti. İyi görünmesi için biraz bitirme ekleyebilirsiniz. Dinlenme iyidir.
EĞLENCE..!!
Önerilen:
Android Telefonları Pil Kullanmadan BOINC veya Katlanır Donanım İçin Nasıl Geri Dönüştürebilirsiniz: 8 Adım
Android Telefonları Pil Kullanmadan BOINC veya Katlanır Donanım İçin Geri Dönüştürme: UYARI: BU KILAVUZU TAKİP ETMEKLE DONANIMINIZA YAPILAN HERHANGİ BİR HASARDAN HİÇBİR ŞEKİLDE SORUMLU DEĞİLİM. Bu kılavuz BOINC kullanıcıları için daha etkilidir (kişisel tercih/sebepler), KATLAMA için de kullanılabilir Çok fazla zamanım olmadığı için ben
NodeMCU'lu CCTV Kamera + Eski Dizüstü Bilgisayarın Kamera Modülü (Blynk Kullanan ve Kullanmadan): 5 Adım
NodeMCU'lu CCTV Kamera + Eski Dizüstü Bilgisayarın Kamera Modülü (Blynk Kullanan ve Kullanmadan): Merhaba arkadaşlar! Bu talimatta size eski bir dizüstü bilgisayarın kamera modülünü ve nodeMCU'yu CCTV'ye benzer bir şey yapmak için nasıl kullandığımı göstereceğim
Arduino Kullanmadan Çizgi İzleyen Robot Nasıl Yapılır(Mikrodenetleyici): 5 Adım
Arduino Kullanmadan Çizgi İzleyen Robot Nasıl Yapılır(Mikrodenetleyici): Bu derste size Arduino kullanmadan çizgi izleyen robot yapmayı öğreteceğim.Açıklamak için çok kolay adımlar kullanacağım.Bu robot IR Proximity Sensor kullanacak. çizgiyi takip edin. Bunun için herhangi bir programlama deneyimine ihtiyacınız olmayacak
Arduino veya Herhangi Bir Mikrodenetleyici Kullanmadan IR Engel Sensörü: 6 Adım
Arduino veya Herhangi Bir Mikrodenetleyici Kullanmadan IR Engel Sensörü: Bu projemizde herhangi bir mikrodenetleyici kullanmadan basit bir engel sensörü yapacağız
HC - 06 (Slave Modülü) " İSİM " Kullanmadan " Monitör Seri Arduino " Değiştirme " Kolay Çalışır ": Hatasız Yol !: 3 Adım
HC - 06 (Slave Modülü) Kullanmadan " AD " Değiştirme " Monitör Seri Arduino "… " Kolay Çalışır ": Hatasız Yol !: " Uzun Süre " " Arduino'nun seri monitörü, " Başarılar ", başka bir kolay yol buldum ve şimdi paylaşıyorum! İyi Eğlenceler Arkadaşlar