Arduino Mega · Puertas lógicas

Completa el programa de puertas lógicas en la maqueta Mega: lee 4 entradas y muestra las salidas en LEDs.

Qué tienes que hacer

Código de partida

const int O[] = { 13, 12, 11, 10, 9, 8, 7, 6, 5 };
const int nO = 9;
const int I[] = { 28, 26, 24, 22 };
const int nI = 4;
bool A, B, C, D;
bool AND, NAND, OR, NOR;

void setup() {
  Serial.begin(9600);
  for (int i = 0; i < nO; i++) pinMode(O[i], OUTPUT);
  for (int i = 0; i < nI; i++) pinMode(I[i], INPUT);
}

void loop() {
  A = digitalRead(I[0]);  // pin 28
  B = digitalRead(I[1]);  // pin 26
  C = digitalRead(I[2]);  // pin 24
  D = digitalRead(I[3]);  // pin 22

  AND = A && B;          // LED 13
  // NAND → LED 12
  // OR   → LED 11
  // NOR  → LED 10
  // … completa el resto

  digitalWrite(O[0], AND);
  mostrarEntradasEnMonitor();
}

void mostrarEntradasEnMonitor() {
  Serial.print(A); Serial.print(" ");
  Serial.print(B); Serial.print(" ");
  Serial.print(C); Serial.print(" ");
  Serial.println(D);
}