Logische Grundfunktionen der Digitaltechnik



Hier in der WIKIPEDIA ist sehr schön ausführlich beschrieben, was Digitaltechnik ist und was logische Grundfunktionen sind.

Aber vielleicht kennst Du Dich ja schon einwenig mit AND, OR, NAND, NOR, NOT usw. aus.

Diese Funktionen gibt es fertig in Integrierten Schaltkreisen. Man nennt Sie da auch "Gatter" (z. B.: NAND-Gatter im IC 7400).
Da man machmal NAND-Gatter mit zwei oder drei oder ... oder acht Eingängen braucht, kannst Du Dir ja vorstellen, wie groß der Bauelementeschrank werden kann, wenn man alles vorrätig haben muss.
Oder eben nicht, weil Du ja Dich inzwischen einwenig mit Mikrocontrollern auskennst. Ein Arduino oder noch besser: Hand voll einzelner Mikrocontroller ersetzen einen ganzen Sortiments-Schrank voll Integrierter Logikschaltkreise.



AND (deutsch: UND)

Darf ich Dich mit der dicken Elfriede bekannt machen? Diesen nette Frau saß an der Stanze, als ich noch Lehrling war. Sie schob immer ein Blech in so eine riesige Stanze, die dann nach unten krachte. Und damit sich Elfriede nicht die Finger abstanzen konnte, musste sie rechts und links an der Stanze gleichzeitig auf zwei Knöpfe drücken. Erst dann krachte die Stanze runter.

int o = 11; // LED an Pin 11
int i1 = 7; //Taste1 an Pin 7
int i2 = 8; //Taste2 an Pin8

void setup(){
  pinMode(o, OUTPUT);
  pinMode(i1, INPUT); digitalWrite(i1, HIGH);
  pinMode(i2, INPUT); digitalWrite(i2, HIGH);
}

void loop(){
 
  if (digitalRead(i1)==LOW && digitalRead(i2)==LOW){
    digitalWrite(o, HIGH);
  }
  else {
     digitalWrite(o, LOW);
  }

}


OR (deutsch: ODER)

Es reicht, einen von zwei Knöpfen zu drücken und ein Verbraucher geht an.

int o = 11; // LED an Pin 11
int i1 = 7; //Taste1 an Pin 7
int i2 = 8; //Taste2 an Pin 8

void setup(){
  pinMode(o, OUTPUT);
  pinMode(i1, INPUT); digitalWrite(i1, HIGH);
  pinMode(i2, INPUT); digitalWrite(i2, HIGH);
}

void loop(){

  if (digitalRead(i1)==LOW || digitalRead(i2)==LOW){
    digitalWrite(o, HIGH);
  }
  else {
     digitalWrite(o, LOW);
  }
 
}