Addition of logic inverter. Inversion of srEnable.

master
Jay 4 years ago
parent 2cc0f562f7
commit 0276ea6629

@ -1,5 +1,14 @@
CHANGELOG:
Version 0.1.5:
Hardware
Removed 2003 ground from 595 enable line. (That was a stupid idea that thankfully didn't blow up.)
Added logic invterter to drive the 595 enable and 2003 ground. (Transistor can sink more current).
Software:
Flipped srEnable logic to drive logic inveter added to board.
Version 0.1.4:
Main:

@ -1,4 +1,5 @@
![HiFiLOGIX](images/logo.jpg "HiFiLOGIX")
Arduino Control for Your Vintage Stereo
# History
@ -11,6 +12,7 @@ Arduino Control for Your Vintage Stereo
30-Dec-2019: Version 0.1.3 - Removed ShiftReset function. Replaced with reset circuit onboard.
01-Jan-2020: Added license, media, and proper README.
04-Jan-2020: Version 0.1.4 - Changed project name. Removed 1602 display code. Added 128x32 OLED code
05-Jan-2020: Version 0.1.5 - Fixed stupid mistake in hardware. Flipped logic of srEnable for new circuit.
````
@ -53,11 +55,20 @@ for phono).
Click for full resolution.
Data is shifted in to a 74HC595 and it's parallel outputs are used to control a ULN2803(or 2003) darlington array to
in turn drive a relay. The output of the 74HC595 is controlled by the microcontroller and an RC circuit on the reset
line prevent suprious relays from firing. Every effort has been taken to ensure only one relay will be fired at a time
to prevent damage to other audio components. The 2803/2003 arrays include built in snubber diodes for inductive kick-
back protection. If you should deviate from this schematic and use discreet diodes, you must add these diodes to your
circuit or you will damage the transistors, shift register, and/or Adruino.
in turn drive a relay. Every effort has been taken to ensure only one relay will be fired at a time to prevent damage
to other audio components. The output of the 74HC595 is controlled by the microcontroller and an RC circuit on the reset
line prevent suprious relays from firing. In version 0.1.5/hardware 1.4 this was slightly modified. A simple transistor
logic inverter now drives both the 74HC595 enable pin as well as the ULN2803/2003's ground line. This was done because
the 2003 I'm using likes to boot up with every output on even when pulling the lines down. Calculating the relays to
draw about 40mA each; trying to sink this through the arduino using the existing logic low for the 595 was probably a
bad idea. So the logic in the software was flipped and the transistor now converts the logic-high to "logic low" and
is capable of sinking something like 800mA if I read the datasheet right. More than enough for the 80mA I predict I'll
need from the thing. While I wanted to keep parts down (and complexity) low; keeping a low number of pins to the micro-
controller is the priority and the transistor and two resistors not only aren't expensive, but meet that goal.
The 2803/2003 arrays include built in snubber diodes for inductive kick-back protection. If you should deviate from this
schematic and use discreet diodes, you must add these diodes to your circuit or you will damage the transistors, shift
register, and/or Adruino.
The switch matrix consists of a simple resistor based analog method that merely throws different amounts of voltage thru
resistors. While this allows us to read all of our switches using just one line, it can cause problems should you want to
@ -93,8 +104,7 @@ Please install them via Library Manager or however you install libaries. Check i
[![Picture of prototype rig](/images/prototype.jpg "Prototype")*Prototype & Development Build*
This is the most current prototype featuring a 128x32 OLED and a ULN2003 driving actual relays. It is known as hardware
revision 1.3.
More recent prototype build.
I'm horrible at making videos in general...but I still made an attempt to show things off. Youtube embedding is apparently
broken and I don't feel like putting a gig worth of video in the repository, so you'll just have to use links.

@ -1,7 +1,7 @@
/*
HiFiLOGIX 0.1.4
HiFiLOGIX 0.1.5
dewdude@gmail.com - 04-JAN-2020
dewdude@gmail.com - 05-JAN-2020
*/
#include <Wire.h>
@ -26,11 +26,11 @@ decode_results ircode;
void logo() {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_fewture_tr);
u8g2.drawStr(15,14,"HiFiLOGIX");
u8g2.setFont(u8g2_font_fewture_tr);
u8g2.drawStr(15,14,"HiFiLOGIX");
u8g2.setFont(u8g2_font_freedoomr10_tu);
u8g2.drawStr(14,30,"DENON PMA-770");
u8g2.sendBuffer();
u8g2.drawStr(14,30,"DENON PMA-770");
u8g2.sendBuffer();
u8g2.setFont(u8g2_font_logisoso28_tr);
}
@ -127,7 +127,7 @@ void setup()
logo();
delay(2000);
setAUX();
digitalWrite(srEnable,LOW);
digitalWrite(srEnable,HIGH);
}
void loop() {
@ -162,4 +162,4 @@ if (remote.decode(&ircode)) {
remote.resume();
}
delay(200);
}
}

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Loading…
Cancel
Save