All submissions

Logic Gate Implementation

Solving Approach

How do you plan to solve it?

 
 

 

 

 

Code

const int SWITCH_A = 2;
const int SWITCH_B = 3;
const int LED_AND = 4;
const int LED_OR = 5;
const int LED_NAND = 6;
const int LED_NOR = 7;

void setup() {

  pinMode(SWITCH_A, INPUT);
  pinMode(SWITCH_B, INPUT);
  
  
  pinMode(LED_AND, OUTPUT);
  pinMode(LED_OR, OUTPUT);
  pinMode(LED_NAND, OUTPUT);
  pinMode(LED_NOR, OUTPUT);
  
  
  Serial.begin(9600);
}

void loop() {
  
  bool inputA = digitalRead(SWITCH_A);
  bool inputB = digitalRead(SWITCH_B);
  

  bool andOutput = inputA && inputB;      
  bool orOutput = inputA || inputB;       
  bool nandOutput = !(inputA && inputB);  
  bool norOutput = !(inputA || inputB);   
  
  
  digitalWrite(LED_AND, andOutput);
  digitalWrite(LED_OR, orOutput);
  digitalWrite(LED_NAND, nandOutput);
  digitalWrite(LED_NOR, norOutput);
  
  
  Serial.print("A: "); Serial.print(inputA);
  Serial.print(" B: "); Serial.print(inputB);
  Serial.print(" | AND: "); Serial.print(andOutput);
  Serial.print(" OR: "); Serial.print(orOutput);
  Serial.print(" NAND: "); Serial.print(nandOutput);
  Serial.print(" NOR: "); Serial.println(norOutput);
  
  delay(100); 
}


 

 

 

Output

 

Video

Add a video of the output (know more)

 

 

 

 

Submit Your Solution

Note: Once submitted, your solution goes public, helping others learn from your approach!