Hi there,
First of all:
A very BiG thanx to all people involved of making/sharing/updating the FastLED code Universe.
I´m currently building up an audio-effector unit which shifts the phase angle of an incoming audio signal and add that to the audio source. (AKA a Phaser)
It has two channels, which can be used chained/independed/parallel or linked (stereo) or one within the feedback line of each other. And also the source signal can also be pre-shifted for true “through-zero” phasing.
Each channel has six stages, which will result in three notches which move within the spectrum of the output audio thus creating the phasing effect.
Nothing special - correct…but…read on…
Each stage is built around one tube (aka valve) and a variable condensor all pass filter. This is the most straight forward method of creating a phase shift.
I came across some mil-grade three chambered all electrically independend infinite turn rotary condensors.
Each one has a shaft and i combined two together with a dual-shaft stepper motor.
Both stepper motors are controlled via an arduinoUno.
Why i´m boring you with all that ?
The audio path is completely done, by now…but that´s only half of it, as it needs to be controlled…
To have some sort of visual feedback on what the unit is currently doing, i came up with the idea of a two dimensional readout:
A pointer/hand (mounted on a stepper shaft) rotates over a NEOPIXEL ring.
The pointer displays the current phase-angle of one line while the NEOPIXEL ring is colored with a rainbow according to the phase-angle with respect to the other line but at the same current position with respect to the hand. the brighness of each ring shows the feedback intensity.
And vice versa as i have two identical round windows within the housing.
(the housing had been a Philips GM2889 AM/FM signal generator)
I also included a feature what i call “analog convolution” where it´s possible to sum each stage together to an output via a designated fader. As the exact position of a fader is known, it will be (hopefully) also shown as the brightness of a 1/6th of the ring in a certain color rainbow brightness ranging from red to blue. The Phase shift angle can/will also be displayed with a rotation of the rainbow.
To make things easy i´ll use an Uno-chip for every Ring and another Uno-chip for each pointer stepper motor. I´m not a code warrior and need to simplify things as much as possible.
I´ll need to sync them nad have them controlled by a master, which also handles the main-encocder and 128x64 oled display.
Testcode is done and working.
I already done some RGB-LED-coding but the math underneath is not of something i like and even more painful to put into something that a µC will execute i the way i want it to…
And now i come across this library…it has nearly all i need…wrapping bytes…mapped sin(x).
No more lookup tables
i don´t need to write my byte overflow/underrun code…even for non-LED things…it´s like you´ve added some DSP power to the Arduino world.
I really can´t tell how nice that is…and also i found an easy way to light up all those pixels…
If you read until here…thanx…and if you want to see that thing, you may have a look at my INSTAGRAM page and also my YouTube channel.
https://www.instagram.com/tubical/
Many thanx for your interest and time,
TubiCal
