Greetings,
I have enjoyed several of your components for 15 years now.
2 of the most useful and often employed components in my collection are my 2 Mini Maestro 12s.
Just love those things.
A current project has me completely out of my understanding.
In the end, I would like to connect the two in a direct Input/Output relationship.
Meaning, I have successfully built a device consisting of potentiometers which I plugged in to all 12 inputs on one Maestro. I can view the successful connections in the Command Center… Now I wish to have that pushed to the other Maestro as outputs to RC Servos…
But for some reason I just cant make it work. and I cannot find anyone who has done it. I was also told I might not be able to do it directly, but might need an Arduino board in the middle… I have a few MEGA boards laying around but I am not really coding-smart.
If you can point me to maybe a tutorial or give some advice…
Any help would be greatly appreciated!!
I have moved your thread to the “Servo controllers and servos” section of the forum since it seems more appropriate.
There are a few options you could consider:
If each of your inputs controls a separate servo, you might consider just connecting 6 potentiometers and 6 servos to each Maestro, to avoid the complexity of having them communicate with each other.
If that is not practical in your setup for some reason, since you are using Mini Maestros you could write a script that reads all 12 of the analog inputs and sends TTL serial signals to the other Maestro to update the servo positions using the “SERIAL_SEND_BYTE” command. The script for that would look something like this:
0xAA serial_send_byte #send 0xAA to automatically detect baud rate if necessary
begin
analog_read_all_channels #reads the analog input on the specified channel and scales it to approximately 4000-8000
update_all_servos # set associated servo based on the value of the analog input
repeat
sub analog_read_all_channels #reads analog inputs on all channels and scales them to approximately 4000-8000
11 begin dup -1 greater_than while
dup get_position # get the value of the pot, 0-1023
4 times 4000 plus # scale it to 4000-8092, approximately 1-2 ms
swap 1 minus repeat
drop
return
sub update_all_servos # sends "Set Multiple Targets" command with compact protocol for all 12 channels
0x9F serial_send_byte
0x0C serial_send_byte
0x00 serial_send_byte
0 begin dup 12 less_than while
swap
dup 0x7F bitwise_and serial_send_byte
7 shift_right 0x7F bitwise_and serial_send_byte
1 plus repeat
drop
return
For that to work, the second Maestro (with the servos connected to it) would need to be set to the one of the UART serial modes, and you would need to connect the TX pin of the first Maestro to the RX pin of the second, as well as a common ground connection.
Lastly, you could use something like an Arduino like you mentioned to read the analog inputs and send serial commands to a Maestro with the servos connected to it. If you choose this option, I recommend using our Maestro Servo Controller Arduino Library to help make the programming easier. Additionally, if you give it a try and have problems, you can post what you have so far here, and I would be happy to help.