diff --git a/pma770.ino b/pma770.ino index 3942c31..9378390 100644 --- a/pma770.ino +++ b/pma770.ino @@ -1,9 +1,11 @@ /* - Input Relay Alpha + PMA770Relay Alpha2 - dewdude@gmail.com - 28-12-2019 + dewdude@gmail.com - 29-12-2019 */ +#include +#include int latchPin = 11; int clockPin = 9; @@ -12,69 +14,81 @@ int matrix = A0; byte out = 0; int mx = 0; + void updateShiftRegister() { digitalWrite(latchPin,LOW); shiftOut(dataPin, clockPin, LSBFIRST, out); digitalWrite(latchPin, HIGH); } -void setTape2() + +void DontCrossTheStreams() { out = 0; updateShiftRegister(); - bitSet(out,5); +// Don't cross the streams! +} + +void setTape2() +{ + DontCrossTheStreams(); + bitSet(out,7); updateShiftRegister(); } + void setTape1() { - out = 0; - updateShiftRegister(); - bitSet(out,4); + DontCrossTheStreams(); + bitSet(out,6); updateShiftRegister(); } + void setAUX() { - out = 0; - updateShiftRegister(); - bitSet(out,3); + DontCrossTheStreams(); + bitSet(out,5); updateShiftRegister(); } + void setTune() { - out = 0; - updateShiftRegister(); - bitSet(out,2); + DontCrossTheStreams(); + bitSet(out,4); updateShiftRegister(); } + void setPh1() { - out = 0; - updateShiftRegister(); + DontCrossTheStreams(); + bitSet(out,3); bitSet(out,1); updateShiftRegister(); } +void setPh2() +{ + DontCrossTheStreams(); + bitSet(out,3); + bitSet(out,2); + updateShiftRegister(); +} + void setup() { pinMode(latchPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(clockPin, OUTPUT); -// Serial.begin(9600); -// Serial.print("Setting default output"); - bitSet(out,6); - updateShiftRegister(); -// Serial.print("Scanning Matrix"); + bitSet(out,5); + updateShiftRegister(); } void loop() { - // put your main code here, to run repeatedly: + int mx = analogRead(matrix); if (mx > 100 && mx < 200) setTape2(); if (mx > 500 && mx < 600) setTape1(); if (mx > 900 && mx < 950) setAUX(); if (mx > 1000) setTune(); if (mx > 820 && mx < 899) setPh1(); - -// Serial.println(mx); delay(200); }