Multifunctional momentary button with addressable LED control
Hi,
Not sure if I'm having ideas of grandeur or whether what I would like is actually possible.
What I would ideally like to create is 1 momentary push button to:
- Upon double press (within say 75ms) activates a blinking light (addressable LED) and opens a menu
- Within the menu a single button press cycles through a count of 1-4, which activates 1 of 4 AutoEQ profiles attached to a Demultiplexer
- The count cycle would also be used for a lookup table, which would be able to send relevant data to an addressable LED (i.e. R,G,B,Brightness or Colour,Brightness)
- After 5s of no input, the menu closes
- Long press of 2.5s-5s toggles a sleep mode
- Longer press >7.5s activates a reset
This is currently where I'm at with it, but not sure if it is actually achievable with the ADAU1452 alone and maybe I'll have to incorporate an Arduino and if so how do I go about that?
adau1452
programming
software
sigmaStudio 4.7
processors and dsp
sigmastudio
gpio
Processors and Microcontrollers
Show More
Hello thex,
I think you will need to do some Arduino programming for this. When you say a "menu" pops up... In use there would be no SigmaStudio and the DSP has no video or graphics capability so this would have to be done on the Arduino.
Reading your post again, I am not sure if you need an actual menu to open up? Just have it toggle between EQ profiles? Then use more GPIO to illuminate LEDs to show which of four settings is active?
Also, the LED brightness is going to be tricky... Will you be sending it a pulsed square wave via GPIO so you could vary the frequency and therefore the brightness? This might cause some RFI as well....
I took a quick glance of some of my old example projects and I have some similar things I have done but not exactly what you are asking about. So this is a good challenge for me to work on this!!
At least the double press and long press stuff...
So your basic question which is can this be done? I think it can for the most part.
Regarding your question and how to implement a system with a controller. We do have a help document for this. You can find it here on the Wiki:
Interfacing SigmaDSP Processors with a Microcontroller [Analog Devices Wiki]
Dave T
Hey Dave,
Thanks for taking a look. Just to clarify, I know there's no graphical menu as such, but I was thinking the double button press could act as a buffer from accidental or unsolicited use of the profile presets, so the double press acts like a key for their use.
As for the LED light, rather than sending voltage to control it's behaviour I was talking about addressable/controllable (don't think I managed to mention) PL9823/WS2812B LEDs that have a Data In pin. I know the Arduino/ESP32 have little programs to send data to these type of LEDs, I wasn't so sure whether a similar packet of data could be sent from a LUT based on the "double press" for the blinking light and then the colour to represent each preset, I believe brightness can also be controlled on the same packet.
Again, maybe I'm just shooting for the moon here... In the mean time I'll also take a look at that Wiki, thanks...
Hey Dave,
Any joy with the multifunctional button press programming by any chance?
I've been informed that the PL9823 does work similar to the WS2812B and found this datasheet, so if the ADAU1452 can send based on those rates, happy days, if not I did have an ATtiny25 for EEPROM in my design but with no spare pins. Would an ATtiny404 be a better option you think to use for both EEPROM and FastLED?
Please log in to reply.
