The example shows low-pass-filtered white noise from an avalanche-breakdown transistor for X- and Y-axes (truly random). If sampled at around 100 samples/second, the signal should be faithfully captured. However, the fading effect, which is very cool, takes place over many seconds, which seems to preclude storing that many points (maybe 10,000 x/y pairs) and fading them exponentially over maybe 10 seconds with a circular buffer approach.
The goal is to sample analog noise with a Teensy 3.6 and display it in a "slow phosphor" way on a Gameduino 3.
I have some ideas to try, but if anyone has any to share, it would be much appreciated.
Post by gregkovacs on Oct 14, 2018 14:56:50 GMT -8
James, I realized I didn't fully understand your code (sorry, I'm mostly a hardware guy when I went in and thought I'd just replace the source of the x, y coordinates for each stored point with something like: x = analogRead(A3); y = analogRead(A4);
Of course, that's not how it works...
My goal here is to X-Y plot two analog signals - truly and entirely random, from physics - and connect between the points with a series of slowly decaying traces.
You have made a very realistic trace display!
What I need to do is figure out how to feed your code X, Y values (from two analog inputs) at a rate I can specify (e.g., 10 Hz) and have an independent "fade" rate. For a phosphor, it is a physical property, and the light decays exponentially, creating a characteristic visual effect.
I built the original with vintage slow-phosphor cathode ray tubes, and would like to simulate X-Y display faithfully so I and others can implement cool signal-driven art pieces (stereo music L/R channels, lowpass filtered to prevent aliasing) makes a very cool "fuzzball" that changes with the music. In this case, I was looking at noise from avalanching in transistors, but it could be anything.
A basic X-Y plot demo that give about 70 kHs/s sample rate on a Teensy 3.6 running normal speed is below.
I'm not asking you to write my code for me, but maybe point me to how I could feed it X-Y pairs and, hopefully, independently control the fade rate.