Spisu treści:

Gra Dot Jump (bez użycia Arduino): 6 kroków
Gra Dot Jump (bez użycia Arduino): 6 kroków

Wideo: Gra Dot Jump (bez użycia Arduino): 6 kroków

Wideo: Gra Dot Jump (bez użycia Arduino): 6 kroków
Wideo: Uruchomiłem internet dial-up (wdzwaniany) i okazuje się to nie być takie trudne. 2024, Listopad
Anonim
Gra Dot Jump (bez użycia Arduino)
Gra Dot Jump (bez użycia Arduino)

Przegląd

Cześć! Jestem Shivansh, student IIIT-Hyderabad. Jestem tutaj z moją pierwszą instrukcją, która jest grą inspirowaną grą Dinosaur Jump w Google Chrome. Gra jest prosta: przeskakuj nadjeżdżające przeszkody, aby zdobyć punkt. Jeśli się zderzysz, przegrywasz, a wynik jest resetowany.

Cechą wyróżniającą ten projekt jest to, że nie używa się Arduino ani żadnego innego mikrokontrolera. Pochodzi wyłącznie z podstawowych komponentów elektrycznych i obejmuje implementację maszyn skończonych (FSM) za pomocą diagramów logicznych itp.

Zainteresowany? Zacznijmy.

Wymagania wstępne:

  • Podstawowa wiedza na temat komponentów elektrycznych, takich jak rezystory, kondensatory, układy scalone (IC).
  • Podstawowa znajomość bramek logicznych (AND, OR, NOT itp.)
  • Wiedza o działaniu Flip-Flop, Counter, Multiplexer itp.

UWAGA: Wyżej wymienione warunki wstępne mają na celu zrozumienie całego działania projektu. Osoba, która nie ma dogłębnej wiedzy na ten temat, może również zbudować projekt, wykonując kroki w instrukcji.

Krok 1: Opracowanie modelu pracy

Opracowanie modelu pracy
Opracowanie modelu pracy
Opracowanie modelu pracy
Opracowanie modelu pracy

Pierwszym zadaniem jest stworzenie modelu pracy dla projektu. Dopiero wtedy możemy zdecydować, jakie materiały będą potrzebne do realizacji projektu. Cały projekt można podzielić na trzy części.

Część 1: Generowanie przeszkód

Po pierwsze, musimy wygenerować losowe przeszkody, przez które kropka będzie mogła przeskoczyć. Przeszkody będą również miały postać impulsu punktowego, który przemieszcza się z jednego końca matrycy LED na drugi.

Do generowania przeszkód wykorzystujemy dwa obwody czasowe (załączone schematy), jeden z wysoką częstotliwością (timer HF), a drugi z niską częstotliwością (timer LF). Część „losowości” jest obsługiwana przez Timer HF, którego wyjście jest widoczne na każdym zboczu narastającym timera LF (który jest traktowany jako wejście CLK). Instrukcja generowania przeszkód to stan timera HF na każdym zboczu narastającym timera LF (1 -> Generuj przeszkodę | 0 -> Nie generuj przeszkody). Timer HF jest resetowany przy każdym skoku, aby zapewnić losowe generowanie przeszkód. Wyjście timera HF jest podawane jako wejście D do przerzutnika D (do przechowywania instrukcji dla następnego cyklu) z wejściem CLK jako wyjściem timera LF.

Gdy binarna instrukcja generowania przeszkód jest wyłączona, musimy wygenerować „impuls przeszkody” na tablicy LED. Robimy to za pomocą 4-bitowego licznika, którego wyjście jest przekazywane do demultipleksera 4x16 (DeMUX). Wyjściem DeMUXa będzie świecenie 16 odpowiednich diod LED.

Część 2: Skok

W przypadku akcji JUMP jako instrukcję przyjmiemy wejście Push Button. Po wydaniu instrukcji, dioda LED obiektu w linii przestaje się świecić, a inna dioda LED nad nią świeci, co oznacza skok.

Część-3: Wynik

Wynik będzie następujący: Jeśli obiekt ulegnie awarii, ZRESETUJ grę; w przeciwnym razie zwiększ wynik.

Kolizja może być wyrażona jako AND zarówno sygnału przeszkody, jak i sygnału obiektu dla położenia przeszkody na ziemi. Jeśli kolizja nie ma miejsca, licznik punktów jest zwiększany, co jest wyświetlane na parze wyświetlaczy 7-segmentowych.

Krok 2: Zbieranie komponentów

Wymagane komponenty są następujące:

  • PCB x 1, płytka do krojenia chleba x 3
  • Diody: zielona (31), czerwona (1), dwukolorowa: czerwona+zielona (1)
  • Przycisk x 2
  • Wyświetlacz 7-segmentowy x 2
  • IC 555 x 3 [dla obwodów czasowych]
  • IC 7474 x 1 (D FlipFlop)
  • IC 7490 x 2 (licznik dekad) [do wyświetlania wyniku]
  • IC 7447 x 2 (BCD na 7-segmentowy dekoder) [do wyświetlania wyniku]
  • IC 4029 x 1 (4-bitowy licznik) [do wyświetlania przeszkód]
  • IC 74154 x 1 (DeMUX) [do wyświetlania przeszkód]
  • IC 7400 x 3 (NIE bramka)
  • IC 7404 x 1 (bramka NAND)
  • IC 7408 x 1 (bramka AND)
  • Gniazda IC
  • Źródło napięcia (5V)

Wymagane narzędzia:

  • Lutownica
  • Przecinak do drutu

Krok 3: Generowanie przeszkód: część A

Generowanie przeszkód: część A
Generowanie przeszkód: część A
Generowanie przeszkód: część A
Generowanie przeszkód: część A

Najpierw musimy skonfigurować obwody czasowe do generowania sygnału generowania przeszkód (HIGH/LOW).

Obwód zostanie ustawiony zgodnie z omówioną wcześniej teorią. Schemat obwodu dla tego samego znajduje się powyżej. Układ jest zaimplementowany na płytce stykowej (choć może być również zaimplementowany na płytce drukowanej) w następujący sposób:

  • Umieść dwa układy scalone 555 i D Flip Flop (IC 7474) w poprzek przegrody płytki stykowej, z pewną wolną przestrzenią (4-5 kolumn) pomiędzy nimi.
  • Połącz górny rząd płytki stykowej z dodatnim zaciskiem źródła napięcia, a dolny rząd z ujemnym zaciskiem.
  • Wykonaj dalsze połączenia zgodnie ze schematem obwodu. Po niezbędnych połączeniach układ wyglądałby podobnie jak na załączonym powyżej obrazku.

UWAGA: Wartości rezystancji R1 i R2 oraz pojemności C oblicza się z następujących wzorów:

T = 0,694 x (R1 + 2*R2) * C

gdzie T jest wymagany okres czasu.

D = 0,694 x [(R1 + R2)/T] *100

gdzie D jest cyklem pracy, tj. stosunkiem czasu włączenia do czasu całkowitego.

W tym projekcie dla timera wysokiej częstotliwości T = 0,5 sek. i dla timera niskiej częstotliwości T = 2 sek.

Krok 4: Generowanie przeszkód: część B

Generowanie przeszkód: część B
Generowanie przeszkód: część B
Generowanie przeszkód: część B
Generowanie przeszkód: część B
Generowanie przeszkód: część B
Generowanie przeszkód: część B

Teraz, gdy wiemy, kiedy wygenerować przeszkodę, musimy ją teraz wyświetlić. Użyjemy 4-bitowego licznika, demultipleksera, timera i tablicy 16 diod LED. Dlaczego 16? Dzieje się tak, ponieważ będziemy mapować 4-bitowe wyjście licznika na 16 diod LED za pomocą demultipleksera. Oznacza to, że licznik będzie liczył od 0 do 15, a demultiplekser będzie włączał diodę o tym indeksie.

Rolą timera jest regulacja prędkości liczenia, czyli prędkości poruszania się przeszkody. Przeszkoda przesunie się o jedną pozycję w jednym okresie timera. Możesz bawić się różnymi wartościami R1, R2 i C, korzystając z równań z poprzedniego kroku, aby uzyskać różne prędkości.

Do matrycy LED przylutuj 16 diod w sposób liniowy ze wspólną masą. Dodatni zacisk każdej diody LED zostanie podłączony do DeMUX-a (po odwróceniu za pomocą bramki NOT, ponieważ DeMUX daje wyjście LOW).

Schemat obwodu dla tego samego znajduje się powyżej.

Krok 5: SKOK i WYNIK

SKOK i WYNIK
SKOK i WYNIK
SKOK i WYNIK
SKOK i WYNIK
SKOK i WYNIK
SKOK i WYNIK

Następną rzeczą jest akcja skoku. Aby wyświetlić skok, wystarczy umieścić diodę LED innego koloru nad matrycą, uziemić ją i podłączyć jej terminal +ve do przycisku. Podłącz drugi koniec przycisku do źródła napięcia.

Weź też inny przycisk, umieszczony obok poprzedniego i podłącz jeden z jego zacisków do +5V. Drugi zacisk przechodzi do bramki NAND (IC 7404) z drugim wejściem bramki NAND jako wejście do diody LED tuż pod diodą LED JUMP (tj. diodą obiektu). Wyjście bramki NAND przechodzi do RESET (PIN 2 i 3 obu liczników BCD) licznika wyników. W ten sposób zresetujemy wynik, jeśli jednocześnie zostanie podany sygnał OBJECT LED (w pozycji bazowej) i OBSTACLE, tj. obiekt i przeszkoda zderzyły się.

Zrób pewne rozmieszczenie, aby upewnić się, że oba przyciski są wciśnięte razem. Możesz użyć monety i przykleić do niej oba guziki.

Aby ustawić licznik wyników, postępuj zgodnie ze schematem obwodu załączonym powyżej (źródło zdjęcia: www.iamtechnical.com).

UWAGA: Podłącz piny 2 i 3 do wyjścia bramki NAND, aby zresetować wynik w przypadku kolizji z przeszkodą

Krok 6: Miłej gry

Miłej gry!
Miłej gry!
Miłej gry!
Miłej gry!
Miłej gry!
Miłej gry!

Otóż to. Skończyłeś z projektem. Możesz dodać do niego wykończenie, aby wyglądało dobrze. Reszta jest w porządku.

SMACZNEGO..!!

Zalecana: