Serial Data Input through Microcontroller to Output Voltage

ledmetermicrocontrollermidiserial

I am new here and new to programming, so I thought maybe some of you might be able to help me in the right direction.

I am looking to design a circuit that receives serial data from an RS232 port on my CPU, and input that into what I would imagine would be a microcontroller of sorts, containing a Digital-to-Analog converter. From there, based on the specific data from serial, output voltages to drive a Bar Graph LED meter.

In more detail, there is an audio recording program I am using that outputs MIDI metering data in groups of 8. I am able to convert those MIDI messages to serial messages, outputting via one RS232 cable. I would like to send this serial data to a microchip, and program that data to output specific voltages, per channel.

Lets say I have Meter 1 outputting serial data to a microcontroller. I would want to use the microchip to convert that data to a voltage, out of one pin of the micro chip. Since there are 8 channels of metering, I hope it's possible to have 8 separate pins, outputting 8 specific voltages based on its serial data input programming, to drive 8 separate LED Bar Meters.

The reason I am looking to convert to analog, is because it gives the meter a finer resolution. After lots of research on LED matrices (digital meters), this seems like a better solution. The serial data should have specific levels outputting, as does the converted MIDI data. I will be monitoring this in the near future to confirm. The LED meter circuits do accept analog input.

The initial plan to design a 'Midi Meter bridge', staying in the digital realm didn't seem possible after lots of talking and research. This is why I am exploring this route. Ultimately I am looking to have a meter 32 LED's tall, 32 channels across total… but using a digital led matrix, I haven't found that to be an option.

My apologies, when I refer to resolution, I mean this… designing a meter bridge via an LED matrix, the most resolution I can get is 16 LEDs. Even though, the MIDI protocol is 8-bit, allowing 128 steps for the meter. If it were possible to program a Microchip to output a specific voltage for every 4 steps, the resolution on the analog LED bar meter would look better than the MIDI matrix. Additionally, using my analog LED bar graph, I can add many more segments than I could with the matrix.

enter image description hereAs an alternative, (noob here) looking at the analog schematic above, would it make more sense (or even be possible) for the PIC16f88 to accept the 'serial data' instead of the audio to control the LED meters??

Best Answer

I would suggest doing this in a small FPGA. What you want is clockwork it is more suited to an FPGA than a CPU. The VHDL for it is trivial.

You can get cheap FPGA dev boards, e.g. From Actel (Igloo Nano) that have all the hardware on board that you need. You just need to connect a level translator for the MIDI and dot matrix driver, e.g. those given in other answers. The dev board has pins to do that. Instead of a PCB you can even use stripboard. I've connected an LCD matrix display in this way.

Igloo Dev Boar Manual