Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Reads 8x8 multiplex with 2 multiplexors
- //Multiplex test code by Antonin Gazda
- const int pinIO = 9;
- const int pinA1 = 10;
- const int pinB1 = 11;
- const int pinC1 = 12;
- const int pinA2 = 13;
- const int pinB2 = A0;
- const int pinC2 = A1;
- int a0 ,a1 , a2, a3, a4, a5, a6, a7;
- int b0 ,b1 , b2, b3, b4, b5, b6, b7;
- int c0 ,c1 , c2, c3, c4, c5, c6, c7;
- int d0 ,d1 , d2, d3, d4, d5, d6, d7;
- int e0 ,e1 , e2, e3, e4, e5, e6, e7;
- int f0 ,f1 , f2, f3, f4, f5, f6, f7;
- int g0 ,g1 , g2, g3, g4, g5, g6, g7;
- int h0 ,h1 , h2, h3, h4, h5, h6, h7;
- void setup() {
- pinMode(pinA1, OUTPUT);
- pinMode(pinB1, OUTPUT);
- pinMode(pinC1, OUTPUT);
- pinMode(pinIO, INPUT_PULLUP);
- pinMode(pinA2, OUTPUT);
- pinMode(pinB2, OUTPUT);
- pinMode(pinC2, OUTPUT);
- Serial.begin(9600);
- }
- void checkState(){
- //set Multiplex to binary 0
- digitalWrite(pinA2 , LOW);
- digitalWrite(pinB2, LOW);
- digitalWrite(pinC2, LOW);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- a0 = digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- a1 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- a2 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- a3 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, HIGH);
- a4 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, HIGH);
- a5 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- a6 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- a7 =! digitalRead(pinIO);
- //set Multiplex to binary 1
- digitalWrite(pinA2, HIGH);
- digitalWrite(pinB2, LOW);
- digitalWrite(pinC2, LOW);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- b1 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- b2 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- b3 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- b4 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, HIGH);
- b5 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- b6 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- b7 =! digitalRead(pinIO);
- //set Multiplex to binary 2
- digitalWrite(pinA2, LOW);
- digitalWrite(pinB2, HIGH);
- digitalWrite(pinC2, LOW);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- c1 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- c2 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- c3 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- c4 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, HIGH);
- c5 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- c6 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- c7 =! digitalRead(pinIO);
- //set Multiplex to binary 3
- digitalWrite(pinA2, HIGH);
- digitalWrite(pinB2, HIGH);
- digitalWrite(pinC2, LOW);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- d1 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- d2 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- d3 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- d4 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, HIGH);
- d5 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- d6 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- d7 =! digitalRead(pinIO);
- //set Multiplex to binary 4
- digitalWrite(pinA2, LOW);
- digitalWrite(pinB2, LOW);
- digitalWrite(pinC2, HIGH);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- e1 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- e2 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- e3 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- e4 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, HIGH);
- e5 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- e6 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- e7 =! digitalRead(pinIO);
- //set Multiplex to binary 5
- digitalWrite(pinA2, HIGH);
- digitalWrite(pinB2, LOW);
- digitalWrite(pinC2, HIGH);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- f1 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- f2 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- f3 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- f4 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, HIGH);
- f5 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- f6 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- f7 =! digitalRead(pinIO);
- //set Multiplex to binary 6
- digitalWrite(pinA2, LOW);
- digitalWrite(pinB2, HIGH);
- digitalWrite(pinC2, HIGH);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- g1 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- g2 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- g3 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- g4 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, HIGH);
- g5 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- g6 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- g7 =! digitalRead(pinIO);
- //set Multiplex to binary 7
- digitalWrite(pinA2, HIGH);
- digitalWrite(pinB2, HIGH);
- digitalWrite(pinC2, HIGH);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- h1 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, LOW);
- h2 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- h3 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, LOW);
- h4 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, LOW);
- digitalWrite(pinC1, HIGH);
- h5 =! digitalRead(pinIO);
- digitalWrite(pinA1, LOW);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- h6 =! digitalRead(pinIO);
- digitalWrite(pinA1, HIGH);
- digitalWrite(pinB1, HIGH);
- digitalWrite(pinC1, HIGH);
- h7 =! digitalRead(pinIO);
- }
- void serialPrintAll(){
- Serial.print(a0);
- Serial.print(a1);
- Serial.print(a2);
- Serial.print(a3);
- Serial.print(a4);
- Serial.print(a5);
- Serial.print(a6);
- Serial.println(a7);
- Serial.print(b0);
- Serial.print(b1);
- Serial.print(b2);
- Serial.print(b3);
- Serial.print(b4);
- Serial.print(b5);
- Serial.print(b6);
- Serial.println(b7);
- Serial.print(c0);
- Serial.print(c1);
- Serial.print(c2);
- Serial.print(c3);
- Serial.print(c4);
- Serial.print(c5);
- Serial.print(c6);
- Serial.println(c7);
- Serial.print(d0);
- Serial.print(d1);
- Serial.print(d2);
- Serial.print(d3);
- Serial.print(d4);
- Serial.print(d5);
- Serial.print(d6);
- Serial.println(d7);
- Serial.print(e0);
- Serial.print(e1);
- Serial.print(e2);
- Serial.print(e3);
- Serial.print(e4);
- Serial.print(e5);
- Serial.print(e6);
- Serial.println(e7);
- Serial.print(f0);
- Serial.print(f1);
- Serial.print(f2);
- Serial.print(f3);
- Serial.print(f4);
- Serial.print(f5);
- Serial.print(f6);
- Serial.println(f7);
- Serial.print(g0);
- Serial.print(g1);
- Serial.print(g2);
- Serial.print(g3);
- Serial.print(g4);
- Serial.print(g5);
- Serial.print(g6);
- Serial.println(g7);
- Serial.print(h0);
- Serial.print(h1);
- Serial.print(h2);
- Serial.print(h3);
- Serial.print(h4);
- Serial.print(h5);
- Serial.print(h6);
- Serial.println(h7);
- }
- void loop() {
- serialPrintAll();
- checkState();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement