Hi everyone
i've just purchased a 128x64 Graphic LCD Display Module which is used for arduino. As i am working on a digital stethoscope project, i wonder does the graphic LCD display the waveform in real time? i capture my heart sound from a eletret microphone, and i've built a circuit (filter, amplifer etc) to remove noise, after this signal goes into arduino, i am able to get the digital value of the waveform. (i've tried plot these numbers on matlab, and it shows a nice heartbeat waveform) However i require to display the waveform without copy paste the numbers to matlab and plot it. therefore i decide to use the graphic lcd to display it.
So my question is does graphic lcd with arduino able to plot the real time waveform? ( is there a "limited" sampling frequency? as i noticed when i plot the real time with matlab, beyond a certain point, i think i was trying to print out 60 data points per second? and with the matlab real time plot, a delay occurs, which i think this is due to matlab doesn't catch the speed as the arudino is outputting to it?)
ok that was a little of the topic i apologize...
Anyway if i plot the waveform with graphic LCD, does real time plotting waveform can be achieved? (as in its showing a wave from left to right, like this
not like this
Any answers will be great!!
Thanks for your guys time
From what I can tell in those videos, they are both drawing/plotting the waves the same way.
They both draw the sampled wave signal form from left to right for a give time frame
and then redraw the wave each time frame.
The only real difference is that the first video using a much slower draw & refresh rate.
Another difference is that in the first video the signal is being displayed on some some type of phosphorous screen so that the wave form fades out. That cannot be done on a LCD panel.
When using a slow draw rate as in video #1 you could come back behind the plotted pixels and start erasing them. So say any pixels more than half or 3/4 second behind the current position get erased.
You mentioned 60 data points per second.
On a 128x64 display that will only be about 2 seconds of plot vs the 5 seconds in that first video.
Plotting 60 pixels per second is not very fast so pretty much any graphic library should be able to do significantly better than that on a variety of glcd h/w and interfaces.
If you want a library that is very fast, and you have a ks0108 display you could look at my openGLCD library.
It works with ks0108 displays using direct Arduino pin control.
It can plot individual pixels at around 18,000 to 21,000 pixels per second depending on the display when using byte mode (which is what you could use on an Arduino mega board)
If you turn on the writethrough read cache (uses 1k of RAM),
that can jump up to just over 30,000 pixels per second.
If you are using an UNO you can't use byte mode so the rates will drop about 25-30% without the cache and about 10% with the cache enabled.
--- bill
thanks very much for the replay @bperrybap.
ye i dont need to show the fading away part of the signal. good to know that 60 isn't a limited value