// Mon 25 Mar 21:30:12 UTC 2024
// [7:08 PM] MaderDash:
// https://wokwi.com/projects/393437201951574017
// just for diagram.json
#include <Arduino.h>
const int pin1 = 2;
const int pin2 = 3;
const int pin3 = 4;
const int pin4 = 5;
int totalValue = 0;
void printAllRadix(int value) {
Serial.print(value, DEC); // print as an ASCII-encoded decimal
Serial.print(" 0x");
Serial.print(value, HEX); // print as an ASCII-encoded hexadecimal
Serial.print(" ");
Serial.print(value, OCT); // print as an ASCII-encoded octal
Serial.print("Q 0b");
Serial.println(value, BIN); // print as an ASCII-encoded binary
}
void setup() {
pinMode(pin1, INPUT);
pinMode(pin2, INPUT);
pinMode(pin3, INPUT);
pinMode(pin4, INPUT);
pinMode(7, INPUT);
Serial.begin(9600);
delay(800);
Serial.print(" legend bbrtc: ");
Serial.println("Wed 27 Mar 18:36:25 UTC 2024");
}
void loop() {
int value1 = digitalRead(pin1);
int value2 = digitalRead(pin2);
int value3 = digitalRead(pin3);
int value4 = digitalRead(pin4);
int sense = digitalRead(7);
totalValue = value1 + (value2 << 1) + (value3 << 2) + (value4 << 3);
if (sense) { Serial.println("Relay is ON - inverted logic");}
if (!sense) { Serial.println("Relay is OFF - non-inverted logic");}
Serial.print(" the totalValue is: ");
printAllRadix(totalValue);
switch (totalValue) {
delay(200);
case 0:
// Handle case when all inputs are 0 (0 + 0*2 + 0*4 + 0*8)
Serial.println(" seen case 0.");
break;
case 1:
// Do something when totalValue is 1
Serial.println(" seen case 1.");
break;
case 2:
// Do something when totalValue is 2
Serial.println(" seen case 2.");
break;
case 3:
// Do something when totalValue is 3
Serial.println(" seen case 3.");
break;
case 4:
// Do something when totalValue is 4
Serial.println(" seen case 4.");
break;
case 5:
// Do something when totalValue is 5
Serial.println(" seen case 5.");
break;
case 6:
// Do something when totalValue is 6
Serial.println(" seen case 6.");
break;
case 7:
// Do something when totalValue is 7
Serial.println(" seen case 7.");
break;
case 8:
// Do something when totalValue is 8
Serial.println(" seen case 8.");
break;
case 9:
// Do something when totalValue is 9
Serial.println(" seen case 9.");
break;
case 10:
// Handle case when totalValue is 10 (1 + 0*2 + 0*4 + 0*8)
Serial.println(" seen case 10.");
break;
case 11:
// Handle case when totalValue is 11 (1 + 0*2 + 0*4 + 1*8)
Serial.println(" seen case 11.");
break;
case 12:
// Handle case when totalValue is 12 (1 + 0*2 + 1*4 + 0*8)
Serial.println(" seen case 12.");
break;
case 13:
Serial.println(" seen case 13.");
break;
case 14:
Serial.println(" seen case 14.");
break;
case 15:
Serial.println(" seen case 15.");
break;
default:
Serial.println(" seen default case.");
break;
}
delay(1100);
}
// [7:20 PM]MaderDash: @gecko
// [7:24 PM]MaderDash: got to head out guys. 😄
// end.