RobotWheelCalibration
Tune the wheels to perform even better.
Wheel Calibration
Use this sketch to calibrate the wheels of your robot. Your robot should move in a straight line when putting both motors at the same speed.
Run the software and follow the on-screen instructions. Use the potentiometer on the bottom board to adjust the calibration.
Hardware Required
- Arduino Robot 
- A long thin screwdriver 
Instruction
- Upload the example, unplug USB and turn on power 
- Find a flat surface, on the ground. Have a screwdriver that fits into the pot on the Motor Board ready. 
- After the starting screen, a list of instructions will show up. 
- You can change the robot speed by adjusting the knob on Control Board. 
- Put the robot on the flat surface, and see if it's going a straight line 
- If the robot goes in a curve, you need to adjust the morto board's trimmer potentiometer with screwdriver. 
- If the robot is turning left, screw it clockwise 
- If it's turning right, screw it counter-clockwise 
- If the robot is still turning, repeat the process until it's moving in a straight line. 
- The number on the bottom-right corner of the LCD screen is the calibration value, ranging from -30% to 30%. It can help keep track of your process. 
Try it out
Code
1/* 6 Wheel Calibration2
3*4
5* Use this sketch to calibrate the wheels in your robot.6
7* Your robot should drive as straight as possible when8
9* putting both motors at the same speed.10
11*12
13* Run the software and follow the on-screen instructions.14
15* Use the trimmer on the bottom board to make sure the16
17* robot is working at its best!18
19*20
21* (c) 2013 X. Yang22
23*/24#include "scripts_library.h"25
26#include <ArduinoRobot.h>27#include <Wire.h>28
29void setup() {30
31  Serial.begin(9600);32
33  Robot.begin();34
35  Robot.beginTFT();36
37  Robot.beginSD();38
39  Robot.setTextWrap(false);40
41  Robot.displayLogos();42
43  writeAllScripts();44
45}46void loop() {47
48  int val = map(Robot.knobRead(), 0, 1023, -255, 255);49
50  Serial.println(val);51
52  Robot.motorsWrite(val, val);53
54  int WC = map(Robot.trimRead(), 0, 1023, -20, 20);55
56  Robot.debugPrint(WC, 108, 149);57
58  delay(40);59
60}Suggest changes
The content on docs.arduino.cc is facilitated through a public GitHub repository. If you see anything wrong, you can edit this page here.
License
The Arduino documentation is licensed under the Creative Commons Attribution-Share Alike 4.0 license.
