Don't cross the streams!

master
Jay 4 years ago
parent 864f5abfe6
commit c12edf1cac

@ -1,9 +1,11 @@
/*
Input Relay Alpha
PMA770Relay Alpha2
dewdude@gmail.com - 28-12-2019
dewdude@gmail.com - 29-12-2019
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
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);
}

Loading…
Cancel
Save