I posted a PDF to help understand how to daisy chain the Pololu Simple Motor Controller (SMC).
And code to go with it: http://rebeldroids.net/gallery/displayim...1&pid=1432
The H015 needs 4 motor controllers. Each need assigned a # (in my case 13-16). To make them move the Tx of the Arduino merely connects to the Rx of all of the controllers. When they hear their number, they'll listen for what to do.
Querying for the R/C receiver input positions is more complicated though. The Arduino has to ask the controller to read the R/C input, and then send that back to the Arduino. If there were only one SMC, we'd just hook up the Tx on the SMC to the RX of the Arduino.
However, with multiple SMC's we have to pass the Tx outputs through so that the last SMC Tx output goes to the next "TXin", until the final Tx output goes to the Arduino Rx.
Here I'm assuming the motors are 12V motors. Grounds pretty much all need to be connected, if the Arduino and SMC's don't share ground, then the Tx/Rx signals will be mixed up. If the R/X RX and SMCs don't share a ground, then those won't work either.
For power, I'm assuming that the Arduino is powered externally, and that there's a 12V (or other appropriate) input to the SMCs. The R/C receiver needs power, however it should only be powered from ONE of the SMCs. Ensure that SMC is wired (solder or jumper) from the "BEC" pin to "5V" pin on that SMC's R/C jumper block.
I hooked up the "A" side of the SMC to the + on my motor. If they run backwards, either flip them or change the software. It's easier if all the motors are connected in the same polarity.
We need 3 signals from the R/C Receiver to the Arduino. The SMC's can read the R/C inputs, but each SMC only has 2 R/C channel inputs, so you'll have to use 2 of them. The other two don't have to have the Tx lines connected because we'll never ask them any questions. The Tx line of the "last" SMC connects to the TXin line of the "first" SMC, and that TX line connects to the Rx of the Arduino. (You can connect all 4 if you want). You could also use the PWM inputs on the Arduino to listen to the R/C, I just did it this way.
And code to go with it: http://rebeldroids.net/gallery/displayim...1&pid=1432
The H015 needs 4 motor controllers. Each need assigned a # (in my case 13-16). To make them move the Tx of the Arduino merely connects to the Rx of all of the controllers. When they hear their number, they'll listen for what to do.
Querying for the R/C receiver input positions is more complicated though. The Arduino has to ask the controller to read the R/C input, and then send that back to the Arduino. If there were only one SMC, we'd just hook up the Tx on the SMC to the RX of the Arduino.
However, with multiple SMC's we have to pass the Tx outputs through so that the last SMC Tx output goes to the next "TXin", until the final Tx output goes to the Arduino Rx.
Here I'm assuming the motors are 12V motors. Grounds pretty much all need to be connected, if the Arduino and SMC's don't share ground, then the Tx/Rx signals will be mixed up. If the R/X RX and SMCs don't share a ground, then those won't work either.
For power, I'm assuming that the Arduino is powered externally, and that there's a 12V (or other appropriate) input to the SMCs. The R/C receiver needs power, however it should only be powered from ONE of the SMCs. Ensure that SMC is wired (solder or jumper) from the "BEC" pin to "5V" pin on that SMC's R/C jumper block.
I hooked up the "A" side of the SMC to the + on my motor. If they run backwards, either flip them or change the software. It's easier if all the motors are connected in the same polarity.
We need 3 signals from the R/C Receiver to the Arduino. The SMC's can read the R/C inputs, but each SMC only has 2 R/C channel inputs, so you'll have to use 2 of them. The other two don't have to have the Tx lines connected because we'll never ask them any questions. The Tx line of the "last" SMC connects to the TXin line of the "first" SMC, and that TX line connects to the Rx of the Arduino. (You can connect all 4 if you want). You could also use the PWM inputs on the Arduino to listen to the R/C, I just did it this way.
I build in Lego! Blogs at:
http://L3-G0.blogspot.com (or http://L3-G0.com for short)
http://MCK-Y.blogspot.com and
http://BB-8.blogspot.com
http://L3-G0.blogspot.com (or http://L3-G0.com for short)
http://MCK-Y.blogspot.com and
http://BB-8.blogspot.com