Saturday, June 20, 2015

Arduino digital out, 4 to 16 decoder/demultiplexer

.. .Using an 74HCT4514 ...

Controlling the VFO for the "Trevo" transceiver from the Arduino poses a small problem, the Arduino doesn't have enough output lines to control all the bandpass filters so I had to come up with a solution. There are some I2C IC's that would expand the digital output pins and do the job but I think that's like killing flies with a cannon so I went to a more "old school" approach.

The 4514 series IC used here, in high speed version (HCT not realy needed), is a 4 to 16 decoder with input latches, the latches are not needed on this case since there will be no signal change from the command lines.

Basically you input a 4 bit (parallel) binary and you have 16 digital outputs according to the truth table here:

This is the assembly (LED's were place on the first 3 outputs to check that is working correctly)

And the control schematic from the Arduino:

Sample code to output high (1) on Q1 of the 74HCT4514, pin 9:

// start sample
// setting the pins on the Arduino
pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT);
// send the data "1000"
digitalWrite(13, 1); digitalWrite(12, 0); digitalWrite(11, 0); digitalWrite(10, 0);
 // end sample I still have to code the rest so that a band change activates the correct output...

Have a nice weekend!

No comments: