You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.2 KiB
Arduino
75 lines
1.2 KiB
Arduino
5 years ago
|
/*
|
||
|
Input Relay Alpha
|
||
|
|
||
|
dewdude@gmail.com - 28-12-2019
|
||
|
|
||
|
*/
|
||
|
|
||
|
int latchPin = 11;
|
||
|
int clockPin = 9;
|
||
|
int dataPin = 12;
|
||
|
int matrix = A0;
|
||
|
|
||
|
byte out = 0;
|
||
|
int mx = 0;
|
||
|
void updateShiftRegister()
|
||
|
{
|
||
|
digitalWrite(latchPin,LOW);
|
||
|
shiftOut(dataPin, clockPin, LSBFIRST, out);
|
||
|
digitalWrite(latchPin, HIGH);
|
||
|
}
|
||
|
void setTape2()
|
||
|
{
|
||
|
bitSet(out,5);
|
||
|
updateShiftRegister();
|
||
|
}
|
||
|
void setTape1()
|
||
|
{
|
||
|
bitSet(out,4);
|
||
|
updateShiftRegister();
|
||
|
}
|
||
|
void setAUX()
|
||
|
{
|
||
|
bitSet(out,3);
|
||
|
updateShiftRegister();
|
||
|
}
|
||
|
void setTune()
|
||
|
{
|
||
|
bitSet(out,2);
|
||
|
updateShiftRegister();
|
||
|
}
|
||
|
void setPh1()
|
||
|
{
|
||
|
bitSet(out,1);
|
||
|
updateShiftRegister();
|
||
|
}
|
||
|
|
||
|
void setup()
|
||
|
{
|
||
|
pinMode(latchPin, OUTPUT);
|
||
|
pinMode(dataPin, OUTPUT);
|
||
|
pinMode(clockPin, OUTPUT);
|
||
|
Serial.begin(9600);
|
||
|
Serial.print("Setting default output");
|
||
|
bitSet(out,7);
|
||
|
updateShiftRegister();
|
||
|
Serial.print("Scanning Matrix");
|
||
|
}
|
||
|
|
||
|
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);
|
||
|
}
|