Innholdsfortegnelse:
- Trinn 1: Nødvendig materiale
- Trinn 2: Boolsk logikk
- Trinn 3: Farmer, Fox, Goose and Grain Puzzle
- Trinn 4: Minne
- Trinn 5: Rules Logic
- Trinn 6: Prototyp en ekte krets
Video: Farmer, Fox, Goose, Grain Puzzle: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Da jeg var barn, hentet jeg en bok som var mine fedre, kalt The Scientific American Book Of Projects For The Amateur Scientist. Jeg har fortsatt boken, og min forståelse er at det er en vanskelig bok å få til i disse dager. Men du kan lese den på nettet nå. Denne boken tjente til å introdusere meg for mange ting, men kapitlet som vekket min interesse var det om matematiske maskiner. Det kan veldig godt være det som satte meg i gang med min eventuelle karriere innen programvareutvikling.
I dette kapitlet er beskrivelser av puslespillemaskiner som bruker datidens kretser … som gikk foran moderne integrerte kretser eller til og med transistorer (ved bruk av reléer). Men noen av de samme konseptene var der, for logiske enheter som egentlig er det samme som moderne datamaskiner fortsatt bruker i dag.
I disse dager kan du enkelt og billig få hele datasystemer for noen få dollar, og bare programmere puslespillet eller spillet ditt. Men du kan også gjøre mange ting på et lavere nivå ved å bruke de logiske portene som datamaskiner er bygget av, for å lage tilpasset maskinvare for puslespillet ditt. Selv om dette kanskje ikke er praktisk eller ideelt, lar det deg lære hvordan datamaskiner virkelig fungerer. Det er også litt moro.
Trinn 1: Nødvendig materiale
Du kan bygge dette helt i Tinkercad Circuits, og simulere den faktiske funksjonen til puslespillet.
Hvis du vil bygge det fysisk, trenger du følgende:
4 vippebrytere eller skyvebrytere.
1 trykknapp (kortvarig)
2 små brødbrett.
9 lysdioder.
9 1K motstander.
1 7475 firelåsbrikke
2 7408 fir- OG porter
1 7432 fir ELLER gate
1 batteri som inneholder 3 AA- eller AAA -celler.
sett med hoppetråder.
For sjetongene i 74xx -serien kan du bruke hvilken som helst variant av disse. IE, 74xx -versjonene er den originale TTL, men du kan også bruke 74LSxx -versjonene (lavere strømforbruk) eller 74HCxx (enda lavere cmos -versjoner) etc. Bare husk at 74xx- og 74LSxx -versjonene er enkle å håndtere, men alle de andre variasjonene er sensitiv statisk elektrisitet.
Trinn 2: Boolsk logikk
Boolsk logikk kan høres skummelt ut, men det er faktisk ganske enkelt. Boolsk betyr bare at du har å gjøre med bare en og en, eller sant og usant. Eller innen elektronikk, + og -. Den logiske delen av det koker bare ned til mange "hvis dette så er det". De mest grunnleggende logiske operasjonene er ganske enkelt disse tre tingene: AND, OR og NOT. Disse kalles porter, fordi de i hovedsak fungerer som bokstavelige porter til strømmen av elektrisitet gjennom en krets.
OG -porten fungerer som følger. Den har to innganger og en utgang. De to inngangene kan være en 1 eller 0, og utgangen er en 1 eller 0. For OG -porten, hvis begge inngangene er 1, er utgangen 1. Ellers sender den ut en 0.
For OR -porten har den også to innganger og en utgang. Hvis den ene eller den andre inngangen er en 1, er utgangen en 1.
Den siste porten er NOT -porten, og den har bare en inngang og en utgang. Hvis inngangen er en 1, er utgangen 0. Hvis inngangen er 0, sender den ut en 1.
OR- og AND -portene kan også ha mer enn 2 innganger. For enkelhets skyld kan de vises med 2 eller flere linjer som går inn i en gate, men egentlig er en 3 inngangsport bare to 2 inngangsporter hvor den ene mates inn i den andre.
Du vet nå alt du trenger å vite for å bygge en datamaskin. Selv de mest moderne datamaskinene bruker bare disse tre tingene, selv om de kan bruke millioner av dem.
Så la oss bygge et puslespill.
Trinn 3: Farmer, Fox, Goose and Grain Puzzle
Det første i boken er en logisk krets for å lage det klassiske puslespillet til Farmer, Fox, Goose and the Grain. Dette puslespillet har eksistert i hundrevis av år i forskjellige former. Det er et grunnleggende logikkpuslespill med bare noen få regler. Puslespillet er som følger.
En bonde har en rev, en gås og litt korn. Han kommer til en elv han må krysse, og det er en båt, men den kan bare holde ham og en annen ting om gangen.
Han kan ikke forlate reven med gåsen, for reven vil spise gåsen. Det er det revene gjør, det er bare deres natur.
Han kan ikke forlate gåsen med kornet, for gåsen vil spise den.
Hvordan kan han få dem alle tre over på den andre siden av elven trygt?
For å lage dette puslespillet trenger vi et par ting. Først, med start med fire brytere, en for hver av bonden, reven, gåsen og kornet. Slik setter vi inn det som går på båten.
For det andre trenger vi puslespillet for å huske hvor alt er fra trinn til trinn.
Deretter trenger vi en knapp for å fortelle den når vi skal flytte båten.
Til slutt trenger vi litt logikk for å håndheve reglene.
Trinn 4: Minne
For å huske plasseringen av objektene i dette puslespillet, bruker vi noe mer avansert enn reléene som ble brukt i den opprinnelige kretsen. Tilbake da denne boken ble skrevet, var det ingen transistorer, men de hadde releer. Disse reléene var tilkoblet slik at når du trykker på en knapp, vil de lukke og deretter forbli lukket til du trykker på knappen på den andre siden.
I dag bruker vi en vanlig og billig del kalt en 4 -bits lås. En "bit" i datalogikk refererer bare til en enkelt 1 eller 0. Det er det samme som et siffer. Denne integrerte kretsen (eller "IC" eller "Chip") inneholder 4 logiske komponenter kjent som flip -flops. En flip -flop er bare et par porter konfigurert slik at når du gir den en 1 eller 0 som inngang, vil den sende ut en 1 eller 0 og deretter forbli 'fast'. Derav navnet flip / flop. Det vil snu fra 1 til 0 eller flop fra 0 til 1 (eller er det omvendt?) Og deretter bli der. Dette gjør i utgangspunktet det samme som de fire reléene i den gamle kretsen.
Du kan lage en enkel flip -flop med bare to porter, men de i denne låsen har en ekstra funksjon (krever noen flere porter). I stedet for å umiddelbart få utgangsendringen med inngangen endring, har den en annen inngang som aktiverer eller deaktiverer inngangene. Normalt forblir den deaktivert. Dette lar deg sette to av bryterne (bonden og en annen) før den prøver å 'sende' båten til den andre siden. Kretsen vår er allerede smartere enn den gamle.
Vi har nå muligheten til å angi og huske plasseringen av alle prinsippene i vårt puslespill.
Her er kretsen vår så langt: 4 -bits lås
Trinn 5: Rules Logic
For å håndheve reglene og angi når det er et problem, bruker vi noen boolske logiske porter for å implementere begrensningene vi trenger.
Vi trenger fire tester for å finne ut om det er et problem - hvis noen av disse er sanne, så tennes advarselssignalet.
1. Hvis kornet og gåsen er på den andre siden av elven og ikke bonden.
2. Hvis reven og gåsen er på den andre siden av elven og ikke bonden.
3. Hvis bonden krysser elven og ingen rev og uten gås er med ham.
4. Hvis bonden krysser elven og ingen korn og ingen gås er med ham.
Legg merke til måten jeg har formulert dette på slik at det samsvarer nøyaktig med logikken vi skal bruke, som er OG -porter med enten de normale eller de inverterte utgangene fra låsen, de inverterte fungerer som et "nei" eller et "IKKE".
Siden noen av dem kan være sanne og forårsake et problem, mater de alle inn i en ELLER -gate.
Den fullførte logikken, inkludert 4 -bits låsen, vises i skjermbildet. Dette er fra et program som heter logicaly. Dette programmet er utmerket for å vise flyten av logikk mens du manipulerer bryterne, og markerer forbindelsene med en '1' verdi blått. Jeg har lagt ved filen du kan laste inn logisk.
Trinn 6: Prototyp en ekte krets
Nå kan vi lage en ekte arbeidskrets. Ved å bruke Tinkercad -kretser kan vi gjøre dette med simulering av det virkelige utseendet og funksjonaliteten til maskinvare.
Tinkercad har innebygd en 7475 4 -bits lås, slik at den delen er enkel. For portene har jeg valgt å bruke to sjetonger med 4 OG -porter hver (7408). For å lage fire, 3 inngang OG porter bruker vi to OG porter med utgangen av den ene går inn i 1 inngang av den andre. Dette etterlater 1 inngang på den andre, og 2 innganger på den første, og skaper en 3 inngang OG gate. For OR -porten gjør jeg det samme. En fire OR -gate -brikke bruker to OR -porter med utgangene som går inn i en tredje OR -gate. Den ene porten står ubrukt.
Kjør simuleringen på Tinkercad -kretser
Anbefalt:
Memory Puzzle Game Bruke en BBC MicroBit: 7 trinn
Memory Puzzle Game Bruke en BBC MicroBit: Hvis du ikke vet hva en BBC MicroBit er, er det i utgangspunktet en veldig liten enhet du kan programmere for å ha innganger og utganger. Litt som en Arduino, men mer utfyllet. Det jeg virkelig elsket med MicroBit var at den har to innebygde inngang b
WebApp Puzzle LED -lampe med ESP32: 5 trinn (med bilder)
WebApp Puzzle LED -lampe Med ESP32: Jeg har lekt med LED -strips i mange år, og flyttet nylig til en venns sted hvor jeg ikke kunne gjøre store endringer som å montere stripen på veggene, så jeg satte sammen denne lampen som har en enkelt ledning kommer ut for strøm og kan plasseres
Azimuthal Projection 3D Map Decoration X Folk Music Puzzle Puzzle - Arduino: 7 Steps
Azimuthal Projection 3D Map Decoration X Folk Music Puzzle Game - Arduino: INTRODUKSJON Neste side vil lære deg hvordan du lager et Arduino -prosjekt, som har to hovedfunksjoner - vanlig dekorasjon med belysning og folkemusikkoppgavespill, som inneholder feltene geografi, geometri , kart, FN og
Happy Fox! (Første element i et stort prosjekt): 7 trinn (med bilder)
Happy Fox! (Første element i et stort prosjekt): Et annet lite prosjekt har kommet for meg, det vil involvere en rekke små prosjekter som vil komme sammen etter hvert. Dette er det første elementet, en rev med en svingende hale som dukker opp og forsvinner som om ved magi
Crimson Fox: Å øke bevisstheten om å ta en pause mens du jobber: 8 trinn (med bilder)
Crimson Fox: Øke bevisstheten for å ta en pause mens du jobber: For et kurs vi fulgte på KTH i Sverige, fikk vi i oppdrag å lage en artefakt som kan endre form. Vi lagde en revform, som skal minne deg på å ta en pause fra jobb eller studier. Det generelle konseptet er at reven skal vise