Jump to content
  • 0

Display Wave Forms according to frequent to a Pmod OLEDrgb: 96 x 64 connected to bass


Jayy

Question

Hi! I need some help in displaying the waveform of the frequency of an audio input to a Pmod OLED display connected to a basys3. I am able to calculate the frequency (400Hz to >10khz) and output that value. However, i am a bit lost on how to programme that onto a moving waveform on the display. Help would be much appreciated. Thank you and have a nice day :D

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Hello @Jayy,

Did you play a little bit with the Pmod OLEDrgb demo to see how it's working? Here is the IP for the Pmod OLEDrgb https://github.com/Digilent/vivado-library/tree/master/ip/Pmods/pmodOLEDrgb_v1_0

Please follow the tutorial to add it to the block design https://reference.digilentinc.com/learn/programmable-logic/tutorials/pmod-ips/start

I don't know how you get the values of audio input, but first I would suggest you to print the values to a UART serial console. This way you make sure the you get the values correctly.

Then I think you could implement a similar code https://www.geeksforgeeks.org/program-to-print-sine-wave-pattern/ and print a pattern.

You'll have to see in the example sources how the rectangle pattern is drawn and make a similar function for sine wave pattern with the audio input values set as function arguments.

 

Link to comment
Share on other sites

Hi @Jayy,

In addition to what @Ana-Maria Balas said, I will also note that you will not get the display update rate that you are hoping for. The default screen refresh rate is about 102 Hz and even with tweaking other settings, it probably will not go much higher than that, so if you are hoping for a "live" output of your audio, I do not think the Pmod OLEDrgb will be able to do it.

If you are fine with that refresh rate though, I would recommend looking into the scrolling option that the Pmod OLEDrgb can do so that you only have to update one pixel/column at a time, rather than re-draw the entire screen each time you want to update.

Let us know if you have any questions.

Thanks,
JColvin

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...