Initial Commit

master
Jay 4 years ago
parent 7ffa7619c8
commit d496091107

@ -0,0 +1,23 @@
Denon PMA-770 (and others) Arduino Control
# About
This project ultimately seeks to be a "logic control" modification for a
Denon PMA-770; allowing one to do things like change inputs, volume,
balance, and tone using a remote control.
But that's a long ways down the road; so right now it's goal is to drive
relays and a display to replace the source input switches and input
display. I am designing it around the aforementioned Denon; but it can
obviously work for other units with some modification.
Schematics and pictures up later.
# History
```
28-Dec-2019: Initial Version. Just reads five switches and triggers an
output.
29-Dec-2019: Added a display. Cleaned up code. Made a repository.
````

@ -0,0 +1,74 @@
/*
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);
}
Loading…
Cancel
Save