Indholdsfortegnelse:
- Trin 1: Udvikling af arbejdsmodellen
- Trin 2: Indsamling af komponenter
- Trin 3: Hindringsgenerering: Del-A
- Trin 4: Hindringsgenerering: Del-B
- Trin 5: HOPPET og RESULTATET
- Trin 6: God spil
Video: Dot Jump -spil (uden brug af Arduino): 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Oversigt
Hej! Jeg er Shivansh, studerende ved IIIT-Hyderabad. Jeg er her med min første instruerbare, som er et spil inspireret af Google Chrome's Dinosaur Jump -spil. Spillet er enkelt: Spring over indkommende forhindringer for at score et point. Hvis du støder sammen, taber du, og scoren nulstilles.
Det fremhævende træk ved dette projekt er, at der ikke er brug af en Arduino eller nogen anden mikrokontroller. Det er rent afledt af grundlæggende elektriske komponenter og involverer implementering af Finite State Machines (FSM'er) ved hjælp af logiske diagrammer osv.
Interesseret? Lad os komme igang.
Forudsætninger:
- Grundlæggende know-how om elektriske komponenter som modstande, kondensatorer, integrerede kredsløb (IC'er).
- Grundlæggende viden om Logic Gates (AND, OR, NOT, etc.)
- Viden om arbejdet med Flip-Flop, Counter, Multiplexer osv.
BEMÆRK: Ovenstående forudsætninger er for at forstå hele projektets arbejde. En, der ikke har indgående kendskab til det samme, kan også bygge projektet ved at følge trinene i den instruerbare.
Trin 1: Udvikling af arbejdsmodellen
Den første opgave er at skabe en arbejdsmodel for projektet. Først derefter kan vi bestemme de nødvendige materialer til projektet. Hele projektet kan opdeles i tre dele.
Del-1: Hindringsgenerering
For det første skal vi generere tilfældige forhindringer for, at prikken springer over. Forhindringer vil også være i form af en punktpuls, der bevæger sig fra den ene ende af LED Array til den anden.
Til generering af forhindringer gør vi brug af to timerkredsløb (vedlagte kredsløbsdiagrammer), et med en højfrekvens (HF -timer) og en anden med en lavfrekvens (LF -timer). 'Tilfældigheds' -delen håndteres af HF -timeren, hvis output ses på hver stigende kant af LF -timeren (der tages som CLK -input). Hindergenereringsinstruktionen er tilstanden for HF -timeren på hver stigende kant af LF -timeren (1 -> Generer forhindring | 0 -> Generer ikke forhindring). HF -timeren er NULSTILLET på hvert 'JUMP' for at sikre tilfældig forhindring. Output fra HF Timer er givet som D-input til en D Flip Flop (til lagring af instruktion for den næste cyklus) med CLK input som LF Timer Output.
Når den binære instruktion til forhindringsgenerering er ude, skal vi generere 'forhindringspulsen' på LED Array. Vi gør det ved hjælp af en 4-bit tæller, hvis output er givet til en 4x16 demultiplexer (DeMUX). Output fra DeMUX ville få de 16 respektive lysdioder til at lyse.
Del-2: HOPPET
Til JUMP -handlingen tager vi trykknapindgangen som instruktion. Når instruktionen er givet, stopper den in-line objekt-LED med at lyse, og en anden LED ovenover lyser, hvilket betyder et spring.
Del-3: Resultat
Resultatet bliver sådan: Hvis objektet går ned, NULSTIL spillet; ellers øges scoren.
Kollisionen kan udtrykkes som ANDing af begge, forhindringssignalet og objektsignalet for forhindringens jordposition. Hvis der ikke sker en kollision, øges punkttælleren, som vises på et par 7-segment displays.
Trin 2: Indsamling af komponenter
De nødvendige komponenter er som følger:
- PCB x 1, brødbræt x 3
- Lysdioder: Grøn (31), Rød (1), BiColor: Rød+Grøn (1)
- Trykknap x 2
- 7-segment skærm x 2
- IC 555 x 3 [til timer kredsløb]
- IC 7474 x 1 (D FlipFlop)
- IC 7490 x 2 (Decade Counter) [til visning af score]
- IC 7447 x 2 (BCD til 7-segment dekoder) [til visning af score]
- IC 4029 x 1 (4-bit tæller) [til forhindringsvisning]
- IC 74154 x 1 (DeMUX) [til forhindringsvisning]
- IC 7400 x 3 (IKKE port)
- IC 7404 x 1 (NAND -port)
- IC 7408 x 1 (OG port)
- IC -stik
- Spændingskilde (5V)
Nødvendige værktøjer:
- Loddekolbe
- Wire Cutter
Trin 3: Hindringsgenerering: Del-A
Først skal vi konfigurere timerkredsløbene til generering af Obstacle Generation Signal (HIGH/LOW).
Kredsløbet vil blive opsat i overensstemmelse med den teori, der blev diskuteret tidligere. Kredsløbsdiagrammet for det samme er vedhæftet ovenfor. Kredsløbet er implementeret på et brødbræt (selvom det også kan implementeres på et printkort) som følger:
- Placer de to 555 IC'er og D Flip Flop (IC 7474) hen over skillelinjen på brødbrættet med noget ledigt mellemrum (4-5 kolonner) imellem.
- Forbind den øverste række af brødbrættet med den positive terminal af spændingskilde og den nederste række med den negative terminal.
- Foretag yderligere tilslutninger efter kredsløbsdiagrammet. Efter de nødvendige forbindelser ville kredsløbet ligne billedet ovenfor.
BEMÆRK: Værdierne for modstande R1 & R2 og kapacitans C beregnes ved hjælp af følgende ligninger:
T = 0,694 x (R1 + 2 * R2) * C
hvor T er påkrævet Tidsperiode.
D = 0,694 x [(R1 + R2)/T] *100
hvor D er driftscyklussen, dvs. forholdet mellem ON -tid og total tid.
I dette projekt, for højfrekvens-timeren, T = 0,5 sek. Og for lavfrekvent-timeren, T = 2 sek.
Trin 4: Hindringsgenerering: Del-B
Nu hvor vi ved, hvornår vi skal generere forhindringen, skal vi nu vise den. Vi vil bruge en 4-bit tæller, en Demultiplexer, en timer og en række 16 lysdioder. Hvorfor 16? Det er fordi vi vil kortlægge tællerens 4-bit output til de 16 lysdioder ved hjælp af demultiplexeren. Det betyder, at tælleren tæller 0 til 15, og demultiplexeren tænder LED'en med dette indeks.
Timerens rolle er at regulere tællehastigheden, dvs. hastigheden af forhindringsbevægelse. Forhindringen skifter én position i en tidsperiode i timeren. Du kan lege med forskellige værdier på R1, R2 og C ved hjælp af ligningerne i det foregående trin for at få forskellige hastigheder.
Til LED -matrixen loddes 16 LED'er lineært med en fælles grund. Den positive terminal på hver LED vil blive forbundet til DeMUX (efter invertering ved hjælp af NOT gate, da DeMUX giver en LOW output).
Kredsløbsdiagrammet for det samme er vedhæftet ovenfor.
Trin 5: HOPPET og RESULTATET
Næste ting er spring -handlingen. For at vise et spring, skal du blot placere en LED i anden farve over matrixen, jorden den og fastgøre dens +ve terminal til en knap. Sæt den anden ende af trykknappen til spændingskilden.
Tag også en anden trykknap, placeret ved siden af den forrige, og fastgør en af dens terminaler til +5V. Den anden terminal går til en NAND Gate (IC 7404) med den anden indgang i NAND Gate som input til LED'en lige under JUMP LED (dvs. objekt -LED). Outputtet fra NAND -porten går til RESET (PIN 2 og 3 for begge BCD -tællerne) på scoretælleren. Med dette er det, vi gør, at vi nulstiller scoren, hvis både OBJECT LED (i basisposition) signalet og OBSTACLE -signalet er givet på samme tid, dvs. objektet og forhindringen kolliderede.
Lav et arrangement for at sikre, at begge trykknapper trykkes sammen. Du kan bruge en mønt og stikke begge knapper til den.
Følg kredsløbsdiagrammet, der er vedhæftet ovenfor for opsætning af scoretælleren (Pic -kilde: www.iamtechnical.com).
BEMÆRK: Tilslut pin 2 og 3 til udgangen af NAND -porten, så den nulstiller scoren i tilfælde af kollision med forhindringen
Trin 6: God spil
Det er det. Du er færdig med dit projekt. Du kan tilføje lidt efterbehandling til det, så det ser godt ud. Hvile er fint.
GOD FORNØJELSE..!!
Anbefalede:
DIY håndfri desinfektionsdispenser uden kontakt uden en Arduino eller en mikrokontroller: 17 trin (med billeder)
DIY Non Contact Hand Sanitizer Dispenser Uden en Arduino eller en mikrokontroller: Som vi alle ved, ramte COVID-19-udbruddet verden og ændrede vores livsstil. I denne tilstand er alkohol og hånddesinfektionsmidler vitale væsker, men de skal bruges korrekt. Berøring af alkoholbeholdere eller håndsprit med inficerede hænder
Programmering af en Arduino Brug af en anden Arduino til at vise en rulletekst uden et bibliotek: 5 trin
Programmering af en Arduino Brug af en anden Arduino til at vise en rulletekst uden et bibliotek: Sony Spresense eller Arduino Uno er ikke så dyre og kræver ikke meget strøm. Men hvis dit projekt har en begrænsning på strøm, plads eller endda budget, kan du overveje at bruge Arduino Pro Mini. I modsætning til Arduino Pro Micro, Arduino Pro Mi
IR -forhindringssensor uden brug af Arduino eller enhver mikrokontroller: 6 trin
IR -forhindringssensor uden brug af Arduino eller enhver mikrokontroller: I dette projekt skal vi lave en simpel forhindringssensor uden at bruge nogen mikrokontroller
Naviger robot med skosensorer, Uden GPS, Uden kort: 13 trin (med billeder)
Naviger robot med skosensorer, Uden GPS, Uden kort: Robotten bevæger sig i en forudprogrammeret sti og sender (over bluetooth) sine faktiske bevægelsesoplysninger til en telefon til sporing i realtid. Arduino er forprogrammeret med sti og oblu bruges til at registrere robottens bevægelse. oblu sender bevægelse til
HC - 06 (Slave Module) Ændring af "NAME" uden brug "Monitor Serial Arduino" der "Let fungerer": Fejlfri måde!: 3 trin
HC - 06 (slave -modul) Ændring af "NAME" uden brug "Monitor Serial Arduino" … der "Let fungerer": Fejlfri måde!: Efter " Lang tid " forsøger at ændre navn på HC - 06 (slave -modul) ved hjælp af " seriel monitor af Arduino, uden " Succes ", jeg fandt en anden nem måde og jeg deler nu! Hav det sjovt venner