Cuprins:
- Pasul 1: Dezvoltarea modelului de lucru
- Pasul 2: Strângerea componentelor
- Pasul 3: Generarea de obstacole: partea A
- Pasul 4: Generarea de obstacole: Partea B
- Pasul 5: SĂRUL și REZULTATUL
- Pasul 6: Joc fericit
Video: Dot Jump Game (fără utilizarea Arduino): 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Prezentare generală
Bună! Sunt Shivansh, student la IIIT-Hyderabad. Sunt aici cu primul meu instructable, care este un joc inspirat din jocul Dinosaur Jump de la Google Chrome. Jocul este simplu: sări peste obstacolele primite pentru a înscrie un punct. Dacă te ciocnești, pierzi și scorul se resetează.
Caracteristica de evidențiere a acestui proiect este că nu există utilizarea unui Arduino sau a altui microcontroler. Este derivat pur din componente electrice de bază și implică implementarea mașinilor cu stat finit (FSM) cu ajutorul diagramelor logice etc.
Interesat? Să începem.
Condiții preliminare:
- Cunoștințe de bază despre componentele electrice precum rezistoare, condensatoare, circuite integrate (circuite integrate).
- Cunoștințe de bază despre porțile logice (ȘI, SAU, NU etc.)
- Cunoștințe despre funcționarea Flip-Flop, Counter, Multiplexer etc.
NOTĂ: Condițiile preliminare enumerate mai sus sunt pentru înțelegerea întregii funcționări a proiectului. O persoană care nu are cunoștințe aprofundate despre acest lucru poate construi proiectul urmând pașii din instructabil.
Pasul 1: Dezvoltarea modelului de lucru
Prima sarcină este de a crea un model de lucru pentru proiect. Abia atunci putem decide materialele necesare proiectului. Întregul proiect poate fi împărțit în trei părți.
Partea 1: Generarea de obstacole
În primul rând, trebuie să generăm obstacole aleatorii pentru ca Dot să sară peste. Obstacolele vor fi, de asemenea, sub forma unui impuls punct care se deplasează de la un capăt al matricei LED la celălalt.
Pentru generarea de obstacole, folosim două circuite cu temporizator (schemele de circuite atașate), unul cu frecvență înaltă (HF Timer) și altul cu frecvență joasă (LF Timer). Partea „aleatorie” este gestionată de temporizatorul HF a cărui ieșire este văzută pe fiecare margine ascendentă a temporizatorului LF (care este luată ca intrare CLK). Instrucțiunea de generare a obstacolelor este starea temporizatorului HF pe fiecare margine ascendentă a temporizatorului LF (1 -> Generare obstacol | 0 -> Nu genera obstacol). Cronometrul HF este RESETAT la fiecare „JUMP” pentru a asigura generarea aleatorie de obstacole. Ieșirea temporizatorului HF este dată ca intrare D către un flip flop D (pentru stocarea instrucțiunilor pentru următorul ciclu) cu intrare CLK ca ieșire temporizator LF.
Odată ce instrucțiunile binare pentru generarea obstacolelor sunt scoase, trebuie să generăm „pulsul obstacolului” pe matricea LED. O facem cu ajutorul unui contor de 4 biți a cărui ieșire este dată unui demultiplexor 4x16 (DeMUX). Ieșirea DeMUX ar face ca cele 16 LED-uri respective să strălucească.
Partea 2: SĂRTUL
Pentru acțiunea JUMP, vom lua ca instrucțiune intrarea butonului. Odată ce instrucțiunea este dată, LED-ul obiectului în linie încetează să mai aprindă și un alt LED deasupra acestuia luminează, ceea ce înseamnă un salt.
Partea 3: Rezultat
Rezultatul va fi după cum urmează: Dacă obiectul se blochează, RESTAȚI jocul; altfel, creșteți scorul.
Coliziunea poate fi exprimată ca ANDing al ambelor, semnalul obstacolului și semnalul obiectului pentru poziția la sol a obstacolului. Dacă nu are loc o coliziune, se crește Contorul punctelor care este afișat pe o pereche de afișaje cu 7 segmente.
Pasul 2: Strângerea componentelor
Componentele necesare sunt următoarele:
- PCB x 1, Breadboard x 3
- LED-uri: verde (31), roșu (1), BiColor: roșu + verde (1)
- Apăsați butonul x 2
- Afișaj cu 7 segmente x 2
- IC 555 x 3 [pentru circuite cu temporizator]
- IC 7474 x 1 (D FlipFlop)
- IC 7490 x 2 (Decen Counter) [pentru afișarea scorului]
- IC 7447 x 2 (decodor BCD la 7 segmente) [pentru afișarea scorului]
- IC 4029 x 1 (Contor pe 4 biți) [pentru afișarea obstacolelor]
- IC 74154 x 1 (DeMUX) [pentru afișarea obstacolelor]
- IC 7400 x 3 (NU poarta)
- IC 7404 x 1 (poartă NAND)
- IC 7408 x 1 (poarta AND)
- Prize IC
- Sursa de tensiune (5V)
Instrumente necesare:
- Ciocan de lipit
- Cleste de sarma
Pasul 3: Generarea de obstacole: partea A
În primul rând, trebuie să setăm circuitele temporizatoare pentru generarea semnalului de generare a obstacolelor (HIGH / LOW).
Circuitul va fi configurat în conformitate cu teoria discutată anterior. Schema de circuit pentru aceeași este atașată mai sus. Circuitul este implementat pe o placă de calcul (deși poate fi implementat și pe un PCB) după cum urmează:
- Așezați cele două 555 IC-uri și D Flip Flop (IC 7474) peste divizorul plăcii cu un spațiu liber (4-5 coloane) între ele.
- Conectați rândul de sus al panoului cu borna pozitivă a sursei de tensiune și rândul de jos cu borna negativă.
- Efectuați conexiuni suplimentare urmând schema de circuit. După conexiunile necesare, circuitul ar arăta similar cu imaginea atașată mai sus.
NOTĂ: Valorile rezistențelor R1 și R2 și ale capacității C sunt calculate utilizând următoarele ecuații:
T = 0,694 x (R1 + 2 * R2) * C
unde este necesar T Perioada de timp.
D = 0,694 x [(R1 + R2) / T] * 100
unde D este ciclul de funcționare, adică raportul dintre timpul de pornire și timpul total.
În acest proiect, pentru temporizatorul de înaltă frecvență, T = 0,5 sec și pentru temporizatorul de frecvență joasă, T = 2 sec.
Pasul 4: Generarea de obstacole: Partea B
Acum, că știm când să generăm obstacolul, acum trebuie să-l afișăm. Vom folosi un contor pe 4 biți, un Demultiplexer, un temporizator și o serie de 16 LED-uri. De ce 16? Asta pentru că vom mapa ieșirea de 4 biți a contorului la cele 16 LED-uri folosind demultiplexorul. Înseamnă că contorul va conta de la 0 la 15 și demultiplexorul va porni LED-ul cu acel index.
Rolul temporizatorului este de a regla viteza de numărare, adică viteza de mișcare a obstacolelor. Obstacolul se va schimba o poziție într-o perioadă de timp a cronometrului. Puteți juca cu diferite valori de R1, R2 și C folosind ecuațiile din pasul anterior pentru a obține viteze diferite.
Pentru matricea cu LED-uri, lipiți 16 LED-uri într-un mod liniar, cu un teren comun. Terminalul pozitiv al fiecărui LED va fi conectat la DeMUX (după inversarea utilizând poarta NOT, deoarece DeMUX dă o ieșire LOW).
Schema de circuit pentru aceeași este atașată mai sus.
Pasul 5: SĂRUL și REZULTATUL
Următorul lucru este acțiunea de salt. Pentru afișarea unui salt, așezați doar un LED de culoare diferită deasupra matricei, legați-l la masă și atașați terminalul + ve la un buton. Atașați celălalt capăt al butonului la sursa de tensiune.
De asemenea, luați un alt buton, plasat adiacent celui precedent și atașați unul dintre terminalele sale la + 5V. Celălalt terminal se îndreaptă către o poartă NAND (IC 7404) cu cealaltă intrare a porții NAND ca intrare către LED-ul chiar sub LED-ul JUMP (adică LED-ul obiectului). Ieșirea porții NAND merge la RESET (PIN 2 și 3 ale ambelor contoare BCD) ale contorului de scor. Cu aceasta, ceea ce facem este să resetăm scorul dacă semnalul OBJECT LED (în poziția de bază) și semnalul OBSTACLE sunt date în același timp, adică obiectul și obstacolul s-au ciocnit.
Faceți unele aranjamente pentru a vă asigura că ambele butoane sunt apăsate împreună. Puteți folosi o monedă și lipiți ambele butoane de ea.
Pentru configurarea contorului de scoruri, urmați schema circuitului atașată mai sus (sursa Pic: www.iamtechnical.com).
NOTĂ: Conectați pinii 2 și 3 la ieșirea Porții NAND pentru ca acesta să reseteze scorul în caz de coliziune cu obstacolul
Pasul 6: Joc fericit
Asta e. Ați terminat cu proiectul dvs. Puteți adăuga câteva finisaje, astfel încât să arate bine. Odihna este bine.
DISCURAȚI-VĂ.. !!
Recomandat:
Cameră CCTV cu NodeMCU + Modul de cameră pentru laptop vechi (cu și fără utilizarea Blynk): 5 pași
Cameră CCTV cu NodeMCU + Modulul de cameră pentru laptop vechi (cu și fără utilizarea Blynk): Bună băieți! În acest instructable, vă voi arăta cum am folosit modulul de cameră vechi al laptopului și nodeMCU pentru a face ceva similar cu CCTV
Modul generator SPWM (fără utilizarea microcontrolerului): 14 pași
Modul generator SPWM (fără utilizarea microcontrolerului): Bună ziua tuturor, bine ați venit la instructajul meu! Sper că toți vă descurcați grozav. Recent, m-am interesat să experimentez semnalele PWM și am dat peste conceptul de SPWM (sau modularea sinusoidală a lățimii impulsului) în care ciclul de funcționare al unui tren de puls
Neopixel Ws2812 Rainbow LED Glow Cu M5stick-C - Rularea Rainbow pe Neopixel Ws2812 Utilizarea M5stack M5stick C Utilizarea Arduino IDE: 5 pași
Neopixel Ws2812 Rainbow LED Glow Cu M5stick-C | Rularea Rainbow pe Neopixel Ws2812 Utilizarea M5stack M5stick C Utilizarea Arduino IDE: Bună băieți, în acest instructables vom învăța cum să utilizați LED-uri neopixel ws2812 sau benzi LED sau matrice LED sau inel cu LED cu placa de dezvoltare m5stack m5stick-C cu Arduino IDE și vom face un model curcubeu cu el
Cum să rulați motorul DC fără perii Quadcopter fără drone utilizând controlerul de viteză al motorului fără perii HW30A și testerul servo: 3 pași
Cum să rulați motorul DC fără perii Quadcopter cu drone utilizând regulatorul de viteză al motorului fără perii HW30A și testerul servo: Descriere: Acest dispozitiv se numește Servo Motor Tester care poate fi utilizat pentru a rula servo motorul prin conectarea simplă a servomotorului și alimentarea acestuia. De asemenea, dispozitivul poate fi folosit ca generator de semnal pentru regulatorul de viteză electric (ESC), apoi nu puteți
Răcitor / suport pentru laptop cu cost zero (fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): 3 pași
Zero Cost Laptop Cooler / Stand (Fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): ACTUALIZARE: VĂ RUGĂM VOTĂ PENTRU MEA MEA MEA INTRAREA PE www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ SAU POATE VOTA PENTRU CEL MAI BUN PRIETEN AL MEU