Hello, everyone.
I have a standing desk with controller as showed in the pics bellow. But, for studying purposes, I want to use Arduino to activate those controllers, maybe through Alexa commands.
The main objective is to ask Arduino to act as I have pressed one of the buttons in the desk controller.
The idea is to use a nano 33 iot and, based on a specific command, set one of the output pins to HIGH, in a way that this would close one of the controller buttons, simulating its pressing.
I don't have much experience and I'd like to validate this idea with you. Any considerations?
Regarding POWER!
The other concern is related to the different voltages. The desk controller receives 5V, but the output pins would delivery 3v, if I'm not mistaken. How to send the right voltage to activate the desk button?
Bellow I've put an initial schematic using an optocoupler, but I still have no idea how to define the right specs.
Am I in the right path ?
Appreciate your comments.
Where do the yellow and green wires labeled RX and TX go? That labeling usually indicates a serial interface, which is often a good way to interface with an Arduino.
All those 5 wires go to a control box and connects to it through a RJ45. This control box receives the AC power and also send the commands to the motors.
Is possible to connect those tx Rx wires to the arduino in a way that I can read the signals? Maybe trying to send signal to them to simulate the commands?
Is possible to connect those tx Rx wires to the arduino in a way that I can read the signals? Maybe trying to send signal to them to simulate the commands?
I'd be looking to tap into that RJ45 and read those signals and send your own. That's going to be the cleanest solution. You say there are five wires into the RJ45? What are the other ones? How are they labeled?
OK, it looks like the wires are TX, RX, 5V, Ground and Sleep.
TX, RX, 5V and Ground are pins on the Arduino. I'm not sure what Sleep does, but it's not important.
What I would be looking at is getting a RJ45 jack and socket and seeing if you can figure out how the unit communicates.
For this you'll need an Arduino with three serial ports -- one for receive, one for transmit, and one for logging to a terminal. Basically you put the RJ45 socket on the receive port, the RJ45 jack on the transmit port. You write a program that reads from one port and writes to the other, while sending output to the terminal so you can tell what's happening. Then you push some buttons and watch what happens and see if you can figure out the protocol.
The hardest part getting started is figuring out the serial speed, most likely it's 9600 Baud but it could be anything from 300 to 115,200. Once you figure out the speed you'll see the stream of bytes. If each button always gives the same stream of bytes then you just copy that stream of bytes. Otherwise you have to figure out what the protocol means.
Once you've got it figured out you can start injecting your own commands into the stream.