Example: Simple Tank-Drive Robot
A tank-drive robot is the most simple type of robot that you can make with a RoboPad. It is the default configuration that the roboPad is set up for and allows for driving two motors using two sliding sticks (Sliders) - one to control power to the left motor and one to control power to the right motor. This page aims to give you a walk-through of building a robot like.
Hardware
Tank drive robots have only two actuators: A left drive motor and a right drive motor, both attached to a wheel. After attaching your power supply to the "+" and "-" pins, it simply requires that two motors be soldered - one each to the M1 and M2 pin pairs on the RoboPad.
IO Configuration
In order to tell the RoboPad that there are two motors attached, you will need to configure the IO Units on the device. The RoboPad has special IO Units available for drive motors called "Built-in H-Bridge Motor" units. These use the internal H-bridges to drive the motors forwards and backwards:
They allow you tot set a "Forward Scale" and a "Reverse Scale" for each, which lets you change how fast the attached motors spin when told to go all the way forward or backward, which is useful for tuning a robot if it's not driving straight when you tell it to go forward or backward, or just to slow it down if forward or backwards is too fast. They should be there by default, and if not you can add them with the "Add" menu at the top of the IO Configuration page.
Nodegraph Configuration
By adding the H-Bridge Motor IO Units, the Chip Node in the Nodegraph Editor gains 2 new inputs and 2 new outputs:
The two input ports - here named "M1" and "M2" (because that's the name of each motor in the IO Configuration) - drive each motor. They expect values between 0 and 1, with 0 being "full reverse" and 1 being "full forward". The two outputs - here named "M1 armed" and "M2 armed" - indicate whether the motors are armed. The concept of actuator arming can feel a little complex, but it is important because without it the chance of accidentally driving a motor is much higher: any actuator is considered "armed" once the actuator has recieved a drive signal corresponding to it's "safe state". In the case of H-Bridge IO Units, the "safe state" is not moving, meaning that the RoboPad must recieve a value of 0.5 on each of the M1 and M2 input ports before each motor will move in any other way. Without this, it would be possible to (for example) add a signal to the M1 port that constantly fed the port with a value of "1", which would cause the robot to start driving it's M1 wheel immediately as soon as the controller was accessed, which wouldn't be safe.