Innehållsförteckning:
- Steg 1: Material som krävs
- Steg 2: Boolsk logik
- Steg 3: Bonde, räv, gås och spannmålspussel
- Steg 4: Minne
- Steg 5: Rules Logic
- Steg 6: Prototypa en riktig krets
Video: Bonde, räv, gås, kornpussel: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
När jag var barn hämtade jag en bok som var mina pappor, kallad The Scientific American Book Of Projects For The Amateur Scientist. Jag har fortfarande boken, och min förståelse är att det är en svår bok att få tag på nuförtiden. Men du kan läsa den online nu. Den här boken introducerade mig till många saker, men kapitlet som väckte mitt intresse var det om matematiska maskiner. Det kan mycket väl vara det som satte mig igång med min slutliga karriär inom mjukvaruutveckling.
I detta kapitel finns beskrivningar av pussellösningsmaskiner som använder tidens kretsar … som föregick moderna integrerade kretsar eller till och med transistorer (med hjälp av reläer). Men några av samma begrepp fanns där, för logiska enheter som i huvudsak är samma sak som moderna datorer fortfarande använder idag.
Dessa dagar kan du enkelt och billigt få hela datorsystem för några dollar, och bara programmera ditt pussel eller spel. Men du kan också göra många saker på en lägre nivå, med hjälp av de logiska grindarna som datorer är byggda från, för att skapa anpassad hårdvara för ditt pussel. Även om detta kanske inte är praktiskt eller idealiskt, låter det dig lära dig hur datorer verkligen fungerar. Det är också kul.
Steg 1: Material som krävs
Du kan bygga detta helt i Tinkercad Circuits och simulera hur pusslet fungerar.
Om du vill bygga det fysiskt, här är vad du behöver:
4 växlar eller skjutreglage.
1 tryckknapp (tillfällig)
2 små brödbrädor.
9 lysdioder.
9 1K motstånd.
1 7475 fyrkantig spärrchip
2 7408 fyr- och grindar
1 7432 fyr- eller grind
1 batteri som rymmer 3 AA- eller AAA -celler.
uppsättning bygelkablar.
För chipsen i 74xx -serien kan du använda valfri variation av dessa. IE, 74xx -versionerna är de ursprungliga TTL, men du kan också använda 74LSxx -versionerna (lägre effektanvändning), eller 74HCxx (ännu lägre effekt -cmos -versioner) etc. Kom bara ihåg att 74xx- och 74LSxx -versionerna är lätta att hantera, men alla andra variationer är känslig statisk elektricitet.
Steg 2: Boolsk logik
Boolsk logik kan låta skrämmande men det är faktiskt ganska enkelt. Boolean betyder bara att du har att göra med endast 1: or och 0: or, eller True and False. Eller inom elektronik, + och -. Den logiska delen av det handlar bara om en massa "om det här då". De mest grundläggande logiska operationerna är helt enkelt dessa tre saker: OCH, ELLER och INTE. Dessa kallas grindar, eftersom de i huvudsak fungerar som bokstavliga grindar till flödet av elektricitet genom en krets.
OCH -grinden fungerar enligt följande. Den har två ingångar och en utgång. De två ingångarna kan vara en 1 eller 0, och utgången är en 1 eller 0. För OCH -grinden, om båda ingångarna är 1, är utgången 1. Annars matar den ut ett 0.
För OR -grinden har den också två ingångar och en utgång. Om den ena eller andra ingången är en 1, är utgången en 1.
Den sista grinden är NOT -porten, och den har bara en ingång och en utgång. Om ingången är en 1, då är utgången 0. Om ingången är 0, matar den ut en 1.
OR- och AND -grindarna kan också ha mer än 2 ingångar. För förenkling kan de visas med 2 eller flera rader som går in i en grind, men egentligen är en 3 ingångsport bara två 2 ingångsportar med en matning in i den andra.
Du vet nu allt du behöver veta för att bygga en dator. Även de mest moderna datorerna använder bara dessa tre saker, även om de kanske använder miljontals av dem.
Så låt oss bygga ett pussel.
Steg 3: Bonde, räv, gås och spannmålspussel
Det första i boken är en logisk krets för att skapa det klassiska pusslet av bonden, räven, gåsen och säden. Detta pussel har funnits i hundratals år i olika former. Det är ett grundläggande logikpussel med bara några regler. Pusslet är följande.
En bonde har en räv, en gås och lite säd. Han kommer till en flod han måste korsa, och det finns en båt, men den kan bara hålla honom och en annan sak åt gången.
Han kan inte lämna räven med gåsen, för räven äter gåsen. Det är vad rävar gör, det är bara deras natur.
Han kan inte lämna gåsen med säden, för gåsen kommer att äta upp den.
Hur kan han få dem alla tre säkert över till andra sidan floden?
För att skapa detta pussel behöver vi några saker. Först med start med fyra växlar, en för var och en av bonden, räven, gåsen och säden. Detta är hur vi kommer att ställa in som går på båten.
För det andra behöver vi pusslet för att komma ihåg var allt är från steg till steg.
Sedan behöver vi en knapp för att berätta när båten ska flyttas.
Slutligen behöver vi lite logik för att tillämpa reglerna.
Steg 4: Minne
För att komma ihåg platserna för föremålen i detta pussel kommer vi att använda något mer avancerat än reläerna som används i den ursprungliga kretsen. När den här boken skrevs fanns det inga transistorer, men de hade reläer. Dessa reläer var anslutna så att när du tryckte på en knapp stängdes de och stängdes sedan tills du tryckte på knappen på andra sidan.
Idag använder vi en vanlig och billig del som kallas en 4 -bitars spärr. En "bit" i datalogik hänvisar bara till en enda 1 eller 0. Det är samma sak som en siffra. Denna integrerade krets (eller "IC" eller "Chip") innehåller fyra logiska komponenter som kallas flip -flops. En flip -flop är bara ett par grindar konfigurerade så att när du ger den en 1 eller 0 som en ingång, kommer den att mata ut en 1 eller 0 och sedan hålla sig "fast". Därav namnet flip / flop. Det kommer att vända från 1 till 0 eller floppa från 0 till 1 (eller är det tvärtom?) Och sedan stanna där. Detta gör i princip samma sak som de fyra reläerna i den gamla kretsen.
Du kan göra en enkel flip -flop med bara två grindar, men de i denna spärr har en extra funktion (kräver några fler grindar). Istället för att omedelbart få utgångsändringen med ingången att ändra, har den en annan ingång som aktiverar eller inaktiverar ingångarna. Normalt förblir det inaktiverat. Detta låter dig ställa in två av omkopplarna (bonden och en annan) innan den försöker "skicka" båten till andra sidan. Vår krets är redan smartare än den gamla.
Vi har nu möjlighet att ställa in och komma ihåg platserna för alla principer i vårt pussel.
Här är vår krets hittills: 4 bitars spärr
Steg 5: Rules Logic
För att tillämpa reglerna och ange när det finns ett problem använder vi några booleska logikportar för att implementera de begränsningar vi behöver.
Vi behöver fyra tester för att avgöra om det är ett problem - om någon av dessa är sanna, tänd sedan varningssignalen.
1. Om spannmålen och gåsen ligger på andra sidan floden och inte bonden.
2. Om räven och gåsen ligger på andra sidan floden och inte bonden.
3. Om bonden korsar floden och ingen räv och utan gås är med honom.
4. Om bonden korsar floden och inga spannmål och ingen gås är med honom.
Notera hur jag har formulerat detta för att exakt matcha logiken vi kommer att använda, som är OCH grindar med antingen de normala eller de inverterade utgångarna från spärren, de inverterade fungerar som ett "nej" eller ett "INTE".
Eftersom någon av dem kan vara sanna och orsaka problem, matar de alla in i en ELLER -grind.
Den färdiga logiken, inklusive 4 -bitars spärren, visas i skärmdumpen. Detta är från ett program som heter logicaly. Detta program är utmärkt för att visa flödet av logik när du manipulerar omkopplarna och markerar blått anslutningarna med ett '1' -värde. Jag har bifogat filen som du kan ladda in logiskt.
Steg 6: Prototypa en riktig krets
Nu kan vi skapa en riktig arbetskrets. Med hjälp av Tinkercad -kretsar kan vi göra detta med simulering av hårdvarans verkliga utseende och funktionalitet.
Tinkercad har byggt in en 7475 4 bitars spärr, så den delen är enkel. För grindarna har jag valt att använda två marker med 4 OCH grindar vardera (7408). För att skapa fyra, 3 ingång OCH grindar använder vi två OCH grindar med utgången från den ena som går in i 1 ingång på den andra. Detta lämnar 1 ingång på den andra och 2 ingångar på den första, vilket skapar en 3 ingång OCH grind. För OR -grinden gör jag samma sak. Ett fyra OR -grindchip använder två OR -grindar med utgångarna in i en tredje OR -grind. En grind lämnas oanvänd.
Kör simuleringen på Tinkercad -kretsar
Rekommenderad:
COMO USAR O SENSOR DE GÁS MQ-7: 5 steg
COMO USAR O SENSOR DE GÁS MQ-7: Tutorial i como usar eller sensor de gás MQ-7 para detectar a presença de Monóxido de Carbono (CO)
Visuino Breathalyzer Hur man använder MQ-3 Alkohol Gas Sensor: 8 steg
Visuino Breathalyzer Hur man använder MQ-3 Alkoholgassensorn: I denna handledning kommer vi att använda Arduino UNO, OLED Lcd, MQ-3 Alcohol Gas Sensor-modul och Visuino för att visa alkoholnivåer på LCD och ställa in gränsdetekteringen. Se en demonstrationsvideo
Controle De Gás E Poeira Com O NodeMCU: 5 steg
Controle De Gás E Poeira Com O NodeMCU: Este foi um trabalho para medir n í veis de poeira e g á s num dado ambiente, e compartilhar estes dados nas nuvens e em seu celular, incluindo disparar um e-mail de alerta caso os valores lidos sejam considerados altos
Hur man använder gas MQ-6 med SkiiiD: 10 steg
Hur man använder Gas MQ-6 med SkiiiD: En handledning för att utveckla Gas MQ-6 med skiiiD
Glad räv! (Första elementet i ett stort projekt): 7 steg (med bilder)
Glad räv! (Första elementet i ett stort projekt): Ett annat litet projekt har kommit i min väg, det kommer att innebära ett antal små projekt som kommer att komma ihop så småningom.Detta är det första elementet, en räv med en vag svans som dyker upp och försvinner som om magi:)