Hi all,
For a project I’d like a Arduino (preferably nano) to be able to do the following things:
- Read DMX value from specific DMX-address (using RS485).
- Convert read DMX value and output it as PWM (which later on will be converted to 0-10V to drive a VFD)
- Create a simple menu on a 128x64 OLED I2C display, controlled by a rotary encoder with switch, to be abled to change the DMX address (and for the below)
- (optionally), create a ‘standalone’ mode where the ‘device’ can work without receiving DMX. In this mode, the PWM output can be controlled manually by a percentage or slider on the menu (using the rotary encoder).
Ok, first things first. I think it’s advice-able to approach this project in smaller pieces, so to make each point work in it’s own before blending it all together.
(1.) Therefore, I’d like to try the link below (ArDMX) as soon as my ordered RS485’s come in to make part 1 working.
https://playground.arduino.cc/DMX/Ardmx/
(2.) This shouldn’t be to hard and is mostly already captured in the link from #1. As soon as my PWM–>0-10V converter comes in I’ll give the electronics a try on this part.
(3.) This is where it gets harder for me. I’ve been searching for good code examples/tutorials on how to easily program simple menus but haven’t found anything usable yet. Also, reading of the rot. enc. isn’t going so smoothly currently, a really lot of bouncing and ghosting is going on.
Do any of you guys have good examples or thoughts about how to achieve a simple menu, I’ve put a small example/mockup of how I’d like the menu to be in the attachments of this post.
Furthermore, the DMX address to have a look at is being defined before the setup void in the ArDMX example. Would it even be possible to change the address by using the menu? Would this always require a reboot before it becomes active?
(4.) This one is optional and might only be interesting later on. On the other hand is this a nice way to test #2.
For now, I’m curious if any of you can help me with #3, later on I’ll let you know how the other points are going (when the hardware is delivered).
Maybe someone has some example of how to easily make small menus, combined with a rotary encoder?
Thanks in advance!