INHOUDSOPGAWE:
- Stap 1: Ontwikkel die werkmodel
- Stap 2: Versamel komponente
- Stap 3: Hindernisgenerering: Deel-A
- Stap 4: Hindernisgenerering: Deel-B
- Stap 5: Die SPRING en die resultaat
- Stap 6: Gelukkig speel
Video: Dot Jump -spel (sonder om Arduino te gebruik): 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Oorsig
Haai daar! Ek is Shivansh, 'n student aan IIIT-Hyderabad. Ek is hier met my eerste instruksies, 'n speletjie wat geïnspireer is uit Google Chrome se Dinosaur Jump -spel. Die spel is eenvoudig: spring oor inkomende hindernisse om 'n punt te behaal. As u bots, verloor u en die telling word teruggestel.
Die kenmerk van hierdie projek is dat daar geen gebruik is van 'n Arduino of 'n ander mikrobeheerder nie. Dit is suiwer afkomstig van basiese elektriese komponente en behels die implementering van Finite State Machines (FSM's) met behulp van logiese diagramme, ens.
Stel u belang? Laat ons begin.
Voorvereistes:
- Basiese kennis oor elektriese komponente soos weerstande, kondensators, geïntegreerde stroombane (IC's).
- Basiese kennis van logiese hekke (EN, OF, NIE, ens.)
- Kennis oor die werking van Flip-Flop, Counter, Multiplexer, ens.
OPMERKING: Die bogenoemde voorvereistes is vir die begrip van die volledige werking van die projek. Wie nie diepgaande kennis hiervan het nie, kan ook die projek bou volgens die stappe in die instruksies.
Stap 1: Ontwikkel die werkmodel
Die eerste taak is om 'n werkmodel vir die projek te skep. Slegs dan kan ons besluit watter materiaal benodig word vir die projek. Die hele projek kan in drie dele verdeel word.
Deel 1: Hindernisgenerering
Eerstens moet ons ewekansige struikelblokke genereer sodat die punt kan spring. Hindernisse sal ook in die vorm van 'n puntpuls wees wat van die een kant van die LED Array na die ander beweeg.
Om hindernisse op te wek, maak ons gebruik van twee tydskakels (kringdiagramme aangeheg), een met 'n hoë frekwensie (HF -timer) en 'n ander met 'n lae frekwensie (LF -timer). Die 'willekeurigheid' -gedeelte word hanteer deur die HF -timer, waarvan die uitset op elke stygende rand van die LF -timer gesien word (wat as CLK -invoer beskou word). Die instruksie vir die generering van hindernisse is die toestand van die HF -timer op elke stygende rand van die LF -timer (1 -> Genereer hindernis | 0 -> Moenie hindernis genereer nie). Die HF -timer is HERSTEL op elke 'JUMP' om willekeurige hindernisopwekking te verseker. Die uitset van die HF-timer word gegee as die D-invoer na 'n D Flip Flop (vir die stoor van instruksies vir die volgende siklus) met CLK-invoer as LF-timeruitgang.
Sodra die binêre instruksie vir hindernisgenerering uit is, moet ons die 'hindernispuls' op die LED Array genereer. Ons doen dit met behulp van 'n 4-bis teller waarvan die uitset gegee word aan 'n 4x16 demultiplexer (DeMUX). Die uitset van die DeMUX sou die 16 onderskeie LED's laat gloei.
Deel-2: Die SPRING
Vir die JUMP -aksie neem ons die drukknopinvoer as die instruksie. Sodra die instruksie gegee is, hou die in-line voorwerp-LED op met gloei en 'n ander LED daarbo gloei, wat 'n sprong aandui.
Deel 3: Resultaat
Die resultaat sal soos volg wees: As die voorwerp neerstort, RESET die spel; anders, verhoog die telling.
Die botsing kan uitgedruk word as ANDing van beide, die hindernissein en die voorwerpsein vir die grondposisie van die hindernis. As 'n botsing nie plaasvind nie, word die puntenteller verhoog, wat op 'n paar 7-segment-skerms vertoon word.
Stap 2: Versamel komponente
Die benodigde komponente is soos volg:
- PCB x 1, broodbord x 3
- LED's: Groen (31), Rooi (1), BiColor: Rooi+Groen (1)
- Drukknoppie x 2
- 7-segment skerm x 2
- IC 555 x 3 [vir tydkringe]
- IC 7474 x 1 (D FlipFlop)
- IC 7490 x 2 (Decade Counter) [vir vertoning van telling]
- IC 7447 x 2 (BCD tot 7-segment dekodeerder) [vir vertoning van telling]
- IC 4029 x 1 (4-bis teller) [vir hindernisvertoning]
- IC 74154 x 1 (DeMUX) [vir hindernisvertoning]
- IC 7400 x 3 (NIE hek nie)
- IC 7404 x 1 (NAND -hek)
- IC 7408 x 1 (EN hek)
- IC -voetstukke
- Spanningsbron (5V)
Gereedskap benodig:
- Soldeerbout
- Draadsnyer
Stap 3: Hindernisgenerering: Deel-A
Eerstens moet ons die tydstroombane instel vir die opwekking van 'n hindernisopwekkingsein (HOOG/LAAG).
Die kring sal opgestel word in ooreenstemming met die teorie wat vroeër bespreek is. Die stroombaan diagram hiervan is hierbo aangeheg. Die kring word geïmplementeer op 'n broodbord (alhoewel dit ook op 'n PCB geïmplementeer kan word) soos volg:
- Plaas die twee 555 IC's en D Flip Flop (IC 7474) oor die verdeler van die broodbord met 'n bietjie leë ruimte (4-5 kolomme) tussenin.
- Verbind die boonste ry van die broodbord met die positiewe aansluiting van Spanningsbron en die onderste ry met die negatiewe terminaal.
- Maak verdere verbindings volgens die kringdiagram. Na die nodige verbindings sal die stroombaan soortgelyk wees aan die prent hierbo.
LET WEL: Die waardes van weerstande R1 & R2 en kapasitansie C word bereken deur die volgende vergelykings te gebruik:
T = 0,694 x (R1 + 2 * R2) * C
waar T vereis word Tydperk.
D = 0,694 x [(R1 + R2)/T] *100
waar D die Duty Cycle is, d.w.s. die verhouding van ON -tyd tot totale tyd.
In hierdie projek, vir die hoëfrekwensie-timer, T = 0,5 sek. En vir die lae-frekwensie-timer, T = 2 sek.
Stap 4: Hindernisgenerering: Deel-B
Noudat ons weet wanneer ons die hindernis moet genereer, moet ons dit nou vertoon. Ons gebruik 'n 4-bis toonbank, 'n Demultiplexer, 'n timer en 'n verskeidenheid 16 LED's. Hoekom 16? Dit is omdat ons die 4-bis-uitset van die teller na die 16 LED's met die demultiplexer sal karteer. Dit beteken dat die teller 0 tot 15 tel en dat die demultiplexer die LED met die indeks aanskakel.
Die timer se rol is om die snelheid van tel, dws die snelheid van hindernisbeweging, te reguleer. Die hindernis sal een posisie in 'n eenmalige tydperk van die timer verander. U kan speel met verskillende waardes van R1, R2 en C deur die vergelykings in die vorige stap te gebruik om verskillende snelhede te kry.
Soldeer vir die LED -matriks 16 LED's op 'n lineêre manier met 'n gemeenskaplike grondslag. Die positiewe aansluiting van elke LED sal aan die DeMUX gekoppel word (na omkering met NOT gate, aangesien die DeMUX 'n LAE uitset lewer).
Die stroombaan diagram hiervan is hierbo aangeheg.
Stap 5: Die SPRING en die resultaat
Die volgende ding is die springaksie. Om 'n sprong te vertoon, plaas 'n LED van verskillende kleure bo die matriks, maal dit en heg sy +ve -terminaal aan 'n knoppie. Heg die ander kant van die drukknop aan die spanningsbron.
Neem ook nog 'n drukknoppie, aangrensend aan die vorige, en bevestig een van sy terminale aan +5V. Die ander terminaal gaan na 'n NAND -hek (IC 7404) met die ander ingang van NAND -hek as die ingang van die LED net onder die JUMP -LED (dws die voorwerp -LED). Die uitset van die NAND -hek gaan na RESET (PIN 2 en 3 van beide die BCD -tellers) van die tellingteller. Wat ons hiermee doen, is dat ons die telling terugstel as beide die OBJECT LED (in basisposisie) sein en die OBSTACLE sein op dieselfde tyd gegee word, dws die voorwerp en hindernis bots.
Tref 'n reëling om te verseker dat albei die drukknoppies saamgedruk word. U mag 'n muntstuk gebruik en albei die knoppies daaraan plak.
Volg die kringsdiagram hierbo aangeheg vir die opstel van die tellingteller (foto bron: www.iamtechnical.com).
LET WEL: Sluit pen 2 en 3 aan op die uitgang van die NAND -hek sodat die telling teruggestel kan word in geval van botsing met die hindernis
Stap 6: Gelukkig speel
Dis dit. U is klaar met u projek. U kan afwerking byvoeg sodat dit goed lyk. Rus is goed.
GENIET.. !!
Aanbeveel:
Hardloop sonder 'n skerm / skerm (sonder kop) op Raspberry Pi of ander Linux / unix -gebaseerde rekenaars: 6 stappe
Hardloop sonder 'n skerm / skerm (sonder kop) op Raspberry Pi of ander Linux / unix -gebaseerde rekenaars: As die meeste mense 'n Raspberry PI koop, dink hulle dat hulle 'n rekenaarskerm nodig het. Moenie u geld mors op onnodige rekenaarmonitors en sleutelborde nie. Moenie u tyd mors om sleutelborde en monitors tussen rekenaars te skuif nie. Moenie 'n TV vasmaak as dit nie is nie
Hoe om 'n lynvolgrobot te maak sonder om Arduino (mikrobeheerder) te gebruik: 5 stappe
Hoe om 'n lynvolgrobot te maak sonder om Arduino (mikrobeheerder) te gebruik: in hierdie instruksies sal ek u leer hoe om 'n lyn te volg wat die robot volg sonder om Arduino te gebruik. Ek sal baie eenvoudige stappe gebruik om te verduidelik. volg die reël. U het geen programmeerervaring nodig om
Navigeer deur robot met skoonsensors, sonder GPS, sonder kaart: 13 stappe (met foto's)
Navigeer deur die robot met skoonsensors, sonder GPS, sonder kaart: die robot beweeg op 'n vooraf geprogrammeerde pad en stuur (oor bluetooth) sy werklike bewegingsinligting na 'n telefoon vir intydse opsporing. Arduino is vooraf geprogrammeer met pad en oblu word gebruik vir die waarneming van die beweging van die robot. oblu stuur beweging na
Gebruik Orange Pi sonder monitor deur SSH- en VNC -bediener te gebruik: 6 stappe
Gebruik Orange Pi sonder monitor deur SSH- en VNC -bediener te gebruik: Orange Pi is soos 'n mini -rekenaar. Dit het alle basiese poorte wat 'n normale rekenaar het. Net soos HDMIUSBEthernetIT het 'n paar spesiale poorte, soos USB OTGGPIO Headers, SD -kaartgleuf, parallelle kamerapoort As u 'n oranje pi wil gebruik, moet u 'n behoefte hê
Die klein suurlemoenbattery en ander ontwerpe vir elektrisiteit sonder koste en ledlig sonder batterye: 18 stappe (met foto's)
Die klein suurlemoenbattery en ander ontwerpe vir elektrisiteit sonder koste en ledlig sonder batterye: Hallo, u weet waarskynlik reeds van suurlemoenbatterye of bio-batterye. Hulle word normaalweg vir opvoedkundige doeleindes gebruik, en hulle gebruik elektrochemiese reaksies wat lae spannings genereer, gewoonlik in die vorm van 'n gloeilamp of gloeilamp. Hierdie