Logic Gate Implementation

Solving Approach

How do you plan to solve it?

 step 1:  Declare gpio pin For led AND SWITCHES

step2 : initialize led as output AND SWITCHES AS INPUT

step3: wilL WRITE FOUR METHOD FOR LOGIC AND ,OR, NOR,AND NAND GATES ACCOURDINGLY LEDS WILL GO
 

 

 

 

Code

/*Paste your code here*/


// C++ code
//
#define AND 2
#define OR 3
#define NAND 4
#define NOR 5

#define SW1 6
#define SW2 7
int status1=0,status2 =0;

void setup()
{
  pinMode(AND, OUTPUT);
   pinMode(OR, OUTPUT);
   pinMode(NAND, OUTPUT);
   pinMode(NOR, OUTPUT);
   pinMode(SW1, INPUT);
   pinMode(SW2, INPUT);
}
void ANDGATE(int status1,int status2){

  if(status1==LOW && status2==LOW){
  	digitalWrite(AND, LOW);
  }else if(status1==LOW && status2==HIGH){
    digitalWrite(AND, LOW);
  }else if(status1==HIGH && status2==LOW){
    digitalWrite(AND, LOW);
  }else{
    digitalWrite(AND, HIGH);
  }
}
void ORGATE(int status1,int status2){

  if(status1==LOW && status2==LOW){
  	digitalWrite(OR, LOW);
  }else if(status1==LOW && status2==HIGH){
    digitalWrite(OR, HIGH);
  }else if(status1==HIGH && status2==LOW){
    digitalWrite(OR, HIGH);
  }else{
    digitalWrite(OR, HIGH);
  }
}
void NANDGATE(int status1,int status2){

  if(status1==LOW && status2==LOW){
  	digitalWrite(NAND, HIGH);
  }else if(status1==LOW && status2==HIGH){
    digitalWrite(NAND, HIGH);
  }else if(status1==HIGH && status2==LOW){
    digitalWrite(NAND, HIGH);
  }else{
    digitalWrite(NAND, LOW);
  }
}
void NORGATE(int status1,int status2){

  if(status1==LOW && status2==LOW){
  	digitalWrite(AND, HIGH);
  }else if(status1==LOW && status2==HIGH){
    digitalWrite(AND, LOW);
  }else if(status1==HIGH && status2==LOW){
    digitalWrite(AND, LOW);
  }else{
    digitalWrite(AND, LOW);
  }
}
void loop()
{status1=digitalRead(SW1);
 status2=digitalRead(SW2);
 delay(5000);
  ANDGATE(status1, status2);
 delay(1000); 
  ORGATE(status1, status2);
 delay(1000); 
  NANDGATE(status1,status2);
 delay(1000); 
  NORGATE(status1, status2);
  
  delay(1000); // Wait for 1000 millisecond(s)
  
}

 

 

 

Output

Video

Add a video of the output (know more)

 

 

 

 

Upvote
Downvote

Submit Your Solution

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