Improved Logic Gates.

why not macrofy the code :wink:

#define AND(A,B,O) digitalWrite(0, digitalRead(A) && digitalRead(B))
#define OR(A,B,O) digitalWrite(0, digitalRead(A) || digitalRead(B))
#define NOT(A,O) digitalWrite(0, !digitalRead(A))
// etc

void setup()
{
...
}

void loop() 
{  
  AND(1,2,3);
}