Hi guys,
I've recently received the code below but I can't quite figure out what each part does. From what I know of the project the are 4 motors that control forward/backward movement and 2 that control cables that would change the direction of the robot.
Here are the picture of what it looks like turning and the code:
Thanks in advance for any help.
http://imageshack.com/a/img843/7775/68k9.png
#include <MeetAndroid.h>
int drivePWM = 130;
int rearPWM = 130;
int steerPWM = 130;
int adjustedPWM = 0;
int adjustedRearPWM;
int adjustedSteerPWM;
int MotorPin1 = 6;
int MotorPin2 = 5;
int rearMotorPin1 = 9;
int rearMotorPin2 = 10;
int steerMotorPin1 = 13;
int steerMotorPin2 = 11;
MeetAndroid meetAndroid;
void setup()
{
// start serial port at 9600 bps:
Serial1.begin(115200);
Serial.begin(115200);
meetAndroid.registerFunction(get_drive, 'o');
meetAndroid.registerFunction(get_steer, 'p');
meetAndroid.registerFunction(get_rear, 'q');
}
void loop()
{
meetAndroid.receive();
//set drive PWM
if (drivePWM > 140){
adjustedPWM= map(drivePWM, 140, 255, 0, 200);
analogWrite(MotorPin1, adjustedPWM);
analogWrite(MotorPin2, 0);
}
else if (drivePWM < 120){
adjustedPWM = map(drivePWM, 0, 120, 200, 0);
analogWrite(MotorPin2, adjustedPWM);
analogWrite(MotorPin1, 0);
}
else{
analogWrite(MotorPin1, 0);
analogWrite(MotorPin2, 0);
}
//rear PWM
if (rearPWM > 140){
adjustedRearPWM = map(rearPWM, 140, 255, 0, 150);
analogWrite(rearMotorPin1, adjustedRearPWM);
analogWrite(rearMotorPin2, 0);
}
else if (rearPWM < 120){
adjustedRearPWM = map(rearPWM, 0, 120, 150, 0);
analogWrite(rearMotorPin2, adjustedRearPWM);
analogWrite(rearMotorPin1, 0);
}
else{
adjustedRearPWM = 0;
analogWrite(rearMotorPin1, 0);
analogWrite(rearMotorPin2, 0);
}
//steer PWM
if (steerPWM > 140){
adjustedSteerPWM = map(steerPWM, 140, 255, 0, 150);
analogWrite(steerMotorPin1, adjustedSteerPWM);
analogWrite(steerMotorPin2, 0);
}
else if (steerPWM < 120){
adjustedSteerPWM = map(steerPWM, 0, 120, 150, 0);
analogWrite(steerMotorPin2, adjustedSteerPWM);
analogWrite(steerMotorPin1, 0);
}
else{
analogWrite(steerMotorPin1, 0);
analogWrite(steerMotorPin2, 0);
}
delay(50);
}
void get_drive(byte flag, byte numOfValues)
{
drivePWM = meetAndroid.getInt();
}
void get_steer(byte flag, byte numOfValues)
{
steerPWM = meetAndroid.getInt();
}
void get_rear(byte flag, byte numOfValues)
{
rearPWM = meetAndroid.getInt();
}