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
/*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)
}
Add a video of the output (know more)