You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.9 KiB
52 lines
1.9 KiB
/***********************************************************************
|
|
* Exp9_SerialDrive -- RedBot Experiment 9
|
|
*
|
|
* The first step to controlling the RedBot remotely is to first drive it
|
|
* from the Serial Monitor in a tethered setup.
|
|
*
|
|
* Hardware setup:
|
|
* After uploading this sketch, keep the RedBot tethered to your computer with
|
|
* the USB cable. Open up the Seral Monitor to send commands to the RedBot to
|
|
* drive.
|
|
*
|
|
* This sketch was written by SparkFun Electronics, with lots of help from
|
|
* the Arduino community. This code is completely free for any use.
|
|
*
|
|
* 15 Dec 2014 B. Huang
|
|
*
|
|
* This experiment was inspired by Paul Kassebaum at Mathworks, who made
|
|
* one of the very first non-SparkFun demo projects and brought it to the
|
|
* 2013 Open Hardware Summit in Boston. Thanks Paul!
|
|
***********************************************************************/
|
|
|
|
#include <RedBot.h>
|
|
RedBotMotors motors;
|
|
int leftPower; // variable for setting the drive power
|
|
int rightPower;
|
|
int data; // variable for holding incoming data from PC to Arduino
|
|
|
|
void setup(void)
|
|
{
|
|
Serial.begin(9600);
|
|
Serial.print("Enter in left and right motor power values and click [Send].");
|
|
Serial.print("Separate values with a space or non-numeric character.");
|
|
Serial.println();
|
|
Serial.print("Positive values spin the motor CW, and negative values spin the motor CCW.");
|
|
}
|
|
|
|
void loop(void)
|
|
{
|
|
// if there is data coming in on the Serial monitor, do something with it.
|
|
if(Serial.available() > 0)
|
|
{
|
|
leftPower = Serial.parseInt(); // read in the next numeric value
|
|
leftPower = constrain(leftPower, -255, 255); // constrain the data to -255 to +255
|
|
|
|
rightPower = Serial.parseInt(); // read in the next numeric value
|
|
rightPower = constrain(rightPower, -255, 255); // constrain the data to -255 to +255
|
|
|
|
motors.leftMotor(leftPower);
|
|
motors.rightMotor(rightPower);
|
|
|
|
}
|
|
}
|