I discovered the problem it was pin 7 was constantly high regardless of code. So I replaced the 168 with a 328pu works great!
Now I need to get differential drive going any pointers?
I found this test code and modified it a bit. Gonna use this as my starting point.
// Use this code to test your motor with the Arduino board:
// if you need PWM, just use the PWM outputs on the Arduino
// and instead of digitalWrite, you should use the analogWrite command
// -----------------------------------------------------Motors
int motor_left[] = {4, 5};
int motor_right[] = {6, 7};
// -----------------------------------------------------Enable pins
#define pwm1 11
#define pwm2 10
#define ledfwd 9
#define ledrev 12
#define ledStop 2
#define ledRturn 13
#define ledLturn 8
// -----------------------------------------------------Setup
void setup() {
Serial.begin(9600);
// Setup motors
pinMode(ledfwd,OUTPUT);
pinMode(ledrev,OUTPUT);
pinMode(pwm1,OUTPUT);
pinMode(pwm2,OUTPUT);
pinMode(ledStop,OUTPUT);
pinMode(ledLturn,OUTPUT);
pinMode(ledRturn,OUTPUT);
digitalWrite(pwm1,HIGH);
digitalWrite(pwm2,HIGH);
int i;
for(i = 0; i < 2; i++){
pinMode(motor_left[i], OUTPUT);
pinMode(motor_right[i], OUTPUT);
}
}
// -----------------------------------------------------Loop
void loop() {
Serial.println("Forward");
drive_forward();
delay(2500);
motor_stop();
delay(750);
Serial.println("Reverse");
drive_backward();
delay(2500);
motor_stop();
delay(750);
Serial.println("Turn Left");
turn_left();
delay(2500);
motor_stop();
delay(750);
Serial.println("Turn Right");
turn_right();
delay(2500);
motor_stop();
delay(750);
Serial.println("ALL STOP!");
motor_stop();
delay(2500);
}
// -----------------------------------------------------Drive
void motor_stop()
{
digitalWrite(ledStop, HIGH);
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], LOW);
digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], LOW);
digitalWrite(ledfwd, LOW);
digitalWrite(ledrev, LOW);
digitalWrite(ledRturn, LOW);
digitalWrite(ledLturn, LOW);
delay(25);
}
void drive_forward()
{
digitalWrite(ledStop, LOW);
digitalWrite(motor_left[0], HIGH);
digitalWrite(motor_left[1], LOW);
digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[1], LOW);
digitalWrite(ledfwd, HIGH);
digitalWrite(ledrev, LOW);
digitalWrite(ledRturn, LOW);
digitalWrite(ledLturn, LOW);
}
void drive_backward()
{
digitalWrite(ledStop, LOW);
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], HIGH);
digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], HIGH);
digitalWrite(ledrev, HIGH);
digitalWrite(ledfwd, LOW);
digitalWrite(ledRturn, LOW);
digitalWrite(ledLturn, LOW);
}
void turn_left()
{
digitalWrite(ledStop, LOW);
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], HIGH);
digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[1], LOW);
digitalWrite(ledfwd, LOW);
digitalWrite(ledrev, LOW);
digitalWrite(ledRturn, LOW);
digitalWrite(ledLturn, HIGH);
}
void turn_right()
{
digitalWrite(ledStop, LOW);
digitalWrite(motor_left[0], HIGH);
digitalWrite(motor_left[1], LOW);
digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], HIGH);
digitalWrite(ledfwd, LOW);
digitalWrite(ledrev, LOW);
digitalWrite(ledRturn, HIGH);
digitalWrite(ledLturn, LOW);
}
SubMicro