Arduino:Примеры/RobotWheelCalibration

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Калибровка колес [1]

Этот скетч калибрует колеса вашего Arduino Robot. Необходимо, чтобы оба мотора (для правого и левого колес) робота крутились с одинаковой скоростью, чтобы он мог двигаться максимально строго по прямой. Запустите скетч и следуйте инструкциям на экране. Калибровка колес осуществляется при помощи потенциометра, находящегося на нижней (моторной) плате.

Необходимое оборудование

  • Arduino Robot;
  • Длинная тонкая отвертка;

Инструкция

  1. Загрузите скетч, отключите USB и включите питание
  2. Найдите на полу плоскую поверхность. Возьмите отвертку, подходящую для потенциометра, находящегося на моторной плате
  3. После загрузочной картинки экран покажет список инструкций
  4. Далее при помощи регулятора на верхней (контрольной) плате настройте скорость робота
  5. Поставьте робота на плоскую поверхность и проверьте, будет ли он идти строго по прямой
  6. Если робота тянет в сторону, то вам надо подрегулировать потенциометр, находящийся на нижней (моторной) плате. Как раз для этого и пригодится отвертка. Если робота клонит влево, поверните потенциометр по часовой стрелке. Если вправо, то против часовой
  7. Если робота по-прежнему клонит в сторону, повторяйте процесс до тех пор, пока он не пойдет по прямой
  8. Число в правой нижней части экрана – это калибровочное значение, которое варьируется от «-30%» до «30%». Оно поможет отслеживать ход регулировки

Пробуем

Калибровка колес робота

Код

/* Калибровка колес

Этим скетчем можно пользоваться, чтобы калибровать колеса Arduino
Robot. Когда колеса робота крутятся с одной и той же скоростью, он
должен двигаться строго по прямой (насколько это возможно). 

Запустите скетч и следуйте инструкциям на экране. Калибровка колес
осуществляется при помощи потенциометра на нижней (моторной) плате. 

(c) 2013 Х. Янг (X. Yang)
*/
#include "scripts_library.h"

#include <ArduinoRobot.h>
#include <Wire.h>
#include <SPI.h>

void setup() {
  Serial.begin(9600);
  Robot.begin();
  Robot.beginTFT();
  Robot.beginSD();

  Robot.setTextWrap(false);
  Robot.displayLogos();

  writeAllScripts();

}
void loop() {
  int val = map(Robot.knobRead(), 0, 1023, -255, 255);
  Serial.println(val);
  Robot.motorsWrite(val, val);

  int WC = map(Robot.trimRead(), 0, 1023, -20, 20);
  Robot.debugPrint(WC, 108, 149);
  delay(40);

}

См.также

  1. Robot Logo example

Внешние ссылки