Mündəricat:

Dot Jump Oyunu (Arduino istifadə etmədən): 6 addım
Dot Jump Oyunu (Arduino istifadə etmədən): 6 addım

Video: Dot Jump Oyunu (Arduino istifadə etmədən): 6 addım

Video: Dot Jump Oyunu (Arduino istifadə etmədən): 6 addım
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Noyabr
Anonim
Dot Jump Oyunu (Arduino istifadə etmədən)
Dot Jump Oyunu (Arduino istifadə etmədən)

Baxış

Salam! Mən Şivanş, IIIT-Hyderabad tələbəsiyəm. Google Chrome -un Dinosaur Jump oyunundan ilhamlanan ilk təlimatımla buradayam. Oyun sadədir: bir xal toplamaq üçün gələn maneələrdən keçin. Toqquşsanız, uduzursunuz və hesab sıfırlanır.

Bu layihənin əsas xüsusiyyəti, Arduino və ya başqa bir mikrokontrolördən istifadə edilməməsidir. Tamamilə əsas elektrik komponentlərindən götürülmüşdür və məntiq diaqramları və s.

Maraqlanırsınız? Gəlin başlayaq.

Ön şərtlər:

  • Rezistorlar, kondansatörler, inteqral sxemlər (IC) kimi elektrik komponentləri haqqında əsas bilik.
  • Məntiq qapıları haqqında əsas biliklər (AND, OR, NOT, və s.)
  • Flip-Flop, Counter, Multiplexer və s.

QEYD: Yuxarıda sadalanan şərtlər layihənin bütün işini başa düşmək üçündür. Eyni şeyi dərindən bilməyən biri də təlimatlandırılan addımları izləyərək layihə qura bilər.

Addım 1: İş modelinin hazırlanması

İş modelinin hazırlanması
İş modelinin hazırlanması
İş modelinin hazırlanması
İş modelinin hazırlanması

İlk vəzifə layihə üçün işləyən bir model yaratmaqdır. Yalnız bundan sonra layihə üçün lazım olan materiallara qərar verə bilərik. Bütün layihəni üç hissəyə bölmək olar.

1-ci hissə: maneə törətmə

Birincisi, nöqtənin keçməsi üçün təsadüfi maneələr yaratmalıyıq. Maneələr, LED Arrayinin bir ucundan digərinə hərəkət edən bir nöqtə nəbzi şəklində də olacaq.

Maneələr yaratmaq üçün biri Yüksək Frekanslı (HF Timer), digəri də Aşağı Frekanslı (LF Timer) iki Taymer Dövründən (dövrə diaqramları əlavə olunur) istifadə edirik. "Təsadüfi" hissəsi, çıxışı LF taymerinin hər yüksələn kənarında görünən HF Timer tərəfindən idarə olunur (CLK girişi olaraq qəbul edilir). Maneə Yaratma Təlimatı, LF Taymerinin hər yüksələn kənarındakı HF Taymerinin vəziyyətidir (1 -> Maneə Yarat | 0 -> Maneə Yaratma). Təsadüfi maneələrin yaranmasını təmin etmək üçün HF Timer hər 'JUMP' da SIFIRLANIR. HF Timer-in çıxışı, LF Timer Çıxışı olaraq CLK girişi ilə bir D Flip Flopa (növbəti dövr üçün təlimatların saxlanılması üçün) D girişi olaraq verilir.

Maneələrin yaranması üçün ikili təlimat bitdikdən sonra LED Arrayında 'maneə nəbzi' yaratmalıyıq. Çıxışı 4x16 demultiplexer (DeMUX) verilən 4 bitlik sayğacın köməyi ilə edirik. DeMUX -un çıxışı 16 müvafiq LED -in parlamasına səbəb olacaq.

2-ci hissə: JUMP

JUMP Fəaliyyəti üçün Push Button Girişini təlimat olaraq alacağıq. Təlimat verildikdən sonra, in-line obyekti LED parlamağı dayandırır və yuxarıdakı başqa bir LED yanır və bu da sıçrayış deməkdir.

3-cü hissə: Nəticə

Nəticə belə olacaq: Obyekt çökərsə, oyunu yenidən qurun; başqa, hesabı artırın.

Toqquşma, maneənin yerdəki mövqeyi üçün maneə siqnalı və obyekt siqnalı olaraq ANDING olaraq ifadə edilə bilər. Bir toqquşma baş verməzsə, 7 saylı bir cüt ekranda görünən nöqtə sayğacı artır.

Addım 2: Komponentlərin toplanması

Lazım olan komponentlər aşağıdakılardır:

  • PCB x 1, Breadboard x 3
  • LEDlər: Yaşıl (31), Qırmızı (1), BiColor: Qırmızı+Yaşıl (1)
  • Düymə x 2
  • 7 seqmentli ekran x 2
  • IC 555 x 3 [Taymer sxemləri üçün]
  • IC 7474 x 1 (D FlipFlop)
  • IC 7490 x 2 (Onilliyin Sayğacı) [hesabı göstərmək üçün]
  • IC 7447 x 2 (BCD-dən 7 seqmentli dekoderə) [hesabı göstərmək üçün]
  • IC 4029 x 1 (4 bit sayğacı) [maneə görüntüsü üçün]
  • IC 74154 x 1 (DeMUX) [maneələrin göstərilməsi üçün]
  • IC 7400 x 3 (qapı deyil)
  • IC 7404 x 1 (NAND qapısı)
  • IC 7408 x 1 (VƏ qapısı)
  • IC yuvaları
  • Gərginlik mənbəyi (5V)

Alətlər tələb olunur:

  • Lehimleme dəmir
  • Tel kəsici

Addım 3: Maneə Yaratma: Bölmə A

Maneə Nəsli: A Bölümü
Maneə Nəsli: A Bölümü
Maneə Nəsli: A Bölümü
Maneə Nəsli: A Bölümü

Birincisi, Maneə Yaratma Sinyalını (YÜKSEK/DÜŞ) yaratmaq üçün taymer sxemlərini qurmalıyıq.

Dövrə əvvəllər müzakirə olunan nəzəriyyəyə uyğun olaraq qurulacaq. Bunun üçün dövrə diaqramı yuxarıda əlavə edilmişdir. Dövrə bir çörək taxtasında həyata keçirilir (baxmayaraq ki, bir PCB üzərində də həyata keçirilə bilər) aşağıdakı kimi:

  • İki 555 IC və D Flip Flopu (IC 7474) aralarında bir az boş yer (4-5 sütun) olan çörək taxtasının bölücüsünün üzərinə qoyun.
  • Çörək taxtasının üst sətrini Gərginlik Mənbəsinin müsbət terminalı ilə, alt sıranı isə mənfi terminalla birləşdirin.
  • Dövrə diaqramına uyğun olaraq əlavə əlaqələr qurun. Lazımi əlaqələrdən sonra dövrə yuxarıdakı şəklə bənzəyir.

Qeyd: R1 və R2 müqavimətlərinin və C tutumunun dəyərləri aşağıdakı tənliklər istifadə edərək hesablanır:

T = 0.694 x (R1 + 2 * R2) * C

burada T müddəti tələb olunur.

D = 0.694 x [(R1 + R2)/T] *100

burada D vəzifə dövrüdür, yəni ON vaxtının ümumi vaxta nisbəti.

Bu layihədə Yüksək Frekanslı Taymer üçün T = 0,5 saniyə və Aşağı Frekanslı Taymer üçün T = 2 saniyədir.

Addım 4: Maneə Yaratma: B Bölümü

Maneə Nəsili: B-B
Maneə Nəsili: B-B
Maneə Nəsili: B-B
Maneə Nəsili: B-B
Maneə Nəsili: B-B
Maneə Nəsili: B-B

İndi əngəlin nə vaxt yaradılacağını bildiyimiz üçün onu göstərməliyik. 4 bitlik bir sayğac, bir Demultiplexer, bir taymer və 16 LEDdən ibarət bir sıra istifadə edəcəyik. Niyə 16? Bunun səbəbi, sayğacın 4 bitlik çıxışını demultiplexer istifadə edərək 16 LED-lə müqayisə edəcəyik. Bu o deməkdir ki, sayğac 0 -dan 15 -ə qədər sayılacaq və demultiplexer bu göstərici ilə LED -i yandıracaq.

Taymerin rolu sayma sürətini, yəni maneə hərəkətinin sürətini tənzimləməkdir. Maneə, taymerin bir dövrü ərzində bir mövqe dəyişəcək. Fərqli sürətlər əldə etmək üçün əvvəlki addımdakı tənliklərdən istifadə edərək fərqli R1, R2 və C dəyərləri ilə oynaya bilərsiniz.

LED matrisi üçün, ümumi bir nöqtəyə sahib olan xətti bir şəkildə 16 LED. Hər bir LED -in müsbət terminalı DeMUX -a qoşulacaq (DEMUX LOW çıxışı verdiyindən NOT qapısını istifadə edərək tərs çevirdikdən sonra).

Bunun üçün dövrə diaqramı yuxarıda əlavə edilmişdir.

Addım 5: JUMP və NƏTİCƏ

JUMP və NƏTİCƏ
JUMP və NƏTİCƏ
JUMP və NƏTİCƏ
JUMP və NƏTİCƏ
JUMP və NƏTİCƏ
JUMP və NƏTİCƏ

Növbəti şey atlama hərəkətidir. Bir sıçrayış göstərmək üçün matrisin üstünə fərqli rəngli bir LED qoyun, yerə qoyun və +ve terminalını bir düyməyə bağlayın. Düymənin digər ucunu gərginlik mənbəyinə bağlayın.

Ayrıca, birincisinə bitişik yerləşdirilmiş başqa bir düyməni götürün və terminallarından birini +5V -ə bağlayın. Digər terminal, NAND Gate -in digər girişi ilə NAND Gate -ə (IC 7404) gedir, JUMP LED -in altındakı LED -ə giriş olaraq (yəni obyektin LED -i). NAND Qapısının çıxışı hesab sayğacının SIFIRLA (hər iki BCD Sayğacının PIN 2 və 3) gedir. Bununla, həm OBJECT LED (əsas mövqedə) siqnalı, həm də OBSTACLE siqnalı eyni anda verilərsə, yəni obyekt və maneə toqquşarsa, hesabı sıfırlayarıq.

Hər iki düymənin bir -birinə basılmasını təmin etmək üçün müəyyən bir tənzimləmə aparın. Bir sikkə istifadə edərək hər iki düyməni yapışdıra bilərsiniz.

Hesab sayğacını qurmaq üçün yuxarıda göstərilən sxemə əməl edin (Şəkil mənbəyi: www.iamtechnical.com).

QEYD: Maneə ilə toqquşma halında hesabı sıfırlamaq üçün 2 və 3 -cü pinləri NAND Qapısının çıxışına qoşun

Addım 6: Xoşbəxt Oyun

Xoşbəxt Oynama!
Xoşbəxt Oynama!
Xoşbəxt Oynama!
Xoşbəxt Oynama!
Xoşbəxt Oynama!
Xoşbəxt Oynama!

Bu belədir. Layihəniz bitdi. Gözəl görünməsi üçün bəzək əlavə edə bilərsiniz. İstirahət yaxşıdır.

Zövq alın.. !!

Tövsiyə: