Arduino, Raspberry Pi och ESP8266 i all ära, men idag ska vi gå ner på djupet och lära oss lite grundläggande digitalteknik!

Inom digitaltekniken finns begreppet “grindar“, vilket kan sägas beskriver väldigt enkla logikkomponenter för elektroniska kretsar. Den som programmerat känner säkert också igen några av dessa då de har väldigt beskrivande namn (eftersom de är så simpla). Nu ska vi gå igenom några av dem!

Värt att notera innan vi börjar är att man här använder samma typ av beräkningssätt som datorer, så en krets lämnar ifrån sig antingen “0” (av) eller “1” (på). Notera också att det kommer lite bilder senare 🙂

AND

AND-grinden har två eller fler ingångar. För att den ska skicka ut “1” måste alla ingångar också vara 1.

OR

OR-grinden påminner om AND på så vis att man har två eller fler ingångar, men i fallet med OR räcker det att bara en av dessa är 1 för att grinden ska skicka ut 1.

NOT

NOT-grinden kan enkelt beskrivas som en inverterare. En ingång, och en utgång som lämnar det motsatta värdet. Är ingången 1 är utgången 0 och vice versa.

Utöver dessa tre “grundgrindar” finns även några specialgrindar:

NOR

NOR, eller “not or”, är en OR-grind med inverterare. Den lämnar 1 om båda ingångarna är 0, men inte annars.

XOR

XOR, eller “explicit or”, vill ha exakt en ingång som sann för att lämna 1. Om ingångarna har samma värde är den 0.

XNOR

XNOR är i princip en XOR-grind med inverterare. Har ingångarna samma värde, lämnar den 1. Men annars inte.

NAND

NAND-grinden är en AND-grind med inverterare. Det innebär att den lämnar ut “1” så länge inte båda ingångarna är 1. Är indatan 00, 01 eller 10 är utdatan 1.

Något som utmärker NAND-grinden är att man kan använda den för att ersätta alla andra grindar. AND-grind? Inga problem, sätt två NAND-grindar i serie. OR? Koppla två parallella NAND-grindar med en varsin input till samma NAND-grind. Och så vidare.

Varför ska du veta detta? Vad har du för nytta av det? Vem vet! Du kanske aldrig har någon nytta av det. Men dessa komponenter kan byggas med komponenter, som t.ex. transistorer (som datorprocessorer är uppbyggda av). Så det kanske är lite intressant, och vem vet, rätt vad det är kanske du behöver bygga en grind till ditt Raspberry Pi-projekt!

Eller varför koda logiken i mjukvaran, när det går lika bra med komponenter? 😉

På återseende!