It seems that iI can't get the DC Motor function to work while also having servo'sservos driven off the other ports :(
#include "Arduino.h" #include <Servo.h>
int pinI1=8;//define I1 interface int pinI2=11;//define I2 interface int speedpinA=9;//enable motor A int pinI3=12;//define I3 interface int pinI4=13;//define I4 interface int speedpinB=10;//enable motor int spead =220;//define the spead of motor
Servo SteeringServo; // create servo object to control a servo
void setup() { // Steering servo pin setup SteeringServo.attach(5); // attaches the servo on pin 9 to the servo object
pinMode(pinI1,OUTPUT); pinMode(pinI2,OUTPUT); pinMode(speedpinA,OUTPUT); pinMode(pinI3,OUTPUT); pinMode(pinI4,OUTPUT); pinMode(speedpinB,OUTPUT);
Serial.begin(9600);
}
void forward() { analogWrite(speedpinA,spead);//input a simulation value to set the speed analogWrite(speedpinB,spead); digitalWrite(pinI4,HIGH);//turn DC Motor B move clockwise digitalWrite(pinI3,LOW); digitalWrite(pinI2,LOW);//turn DC Motor A move anticlockwise digitalWrite(pinI1,HIGH); } void backward()// { analogWrite(speedpinA,spead);//input a simulation value to set the speed analogWrite(speedpinB,spead); digitalWrite(pinI4,LOW);//turn DC Motor B move anticlockwise digitalWrite(pinI3,HIGH); digitalWrite(pinI2,HIGH);//turn DC Motor A move clockwise digitalWrite(pinI1,LOW); } void left()// { analogWrite(speedpinA,spead);//input a simulation value to set the speed analogWrite(speedpinB,spead); digitalWrite(pinI4,HIGH);//turn DC Motor B move clockwise digitalWrite(pinI3,LOW); digitalWrite(pinI2,HIGH);//turn DC Motor A move clockwise digitalWrite(pinI1,LOW); } void right()// { analogWrite(speedpinA,spead);//input a simulation value to set the speed analogWrite(speedpinB,spead); digitalWrite(pinI4,LOW);//turn DC Motor B move anticlockwise digitalWrite(pinI3,HIGH); digitalWrite(pinI2,LOW);//turn DC Motor A move clockwise digitalWrite(pinI1,HIGH); } void stop()// { digitalWrite(speedpinA,LOW);// Unenble the pin, to stop the motor. this should be done to avid damaging the motor. digitalWrite(speedpinB,LOW); delay(1000);
}
void loop()
{
left();
delay(15000);
stop();
right();
delay(1000);
stop();
// delay(2000); Already commented out
//forward();
// delay(2000);
// stop();
// backward();
delay(12000);
stop();
}
#include "Arduino.h"
#include <Servo.h>
int pinI1=8;//define I1 interface
int pinI2=11;//define I2 interface
int speedpinA=9;//enable motor A
int pinI3=12;//define I3 interface
int pinI4=13;//define I4 interface
int speedpinB=10;//enable motor
int spead =220;//define the spead of motor
Servo SteeringServo; // create servo object to control a servo
void setup()
{
// Steering servo pin setup
SteeringServo.attach(5); // attaches the servo on pin 9 to the servo object
pinMode(pinI1,OUTPUT);
pinMode(pinI2,OUTPUT);
pinMode(speedpinA,OUTPUT);
pinMode(pinI3,OUTPUT);
pinMode(pinI4,OUTPUT);
pinMode(speedpinB,OUTPUT);
Serial.begin(9600);
}
void forward()
{
analogWrite(speedpinA,spead);//input a simulation value to set the speed
analogWrite(speedpinB,spead);
digitalWrite(pinI4,HIGH);//turn DC Motor B move clockwise
digitalWrite(pinI3,LOW);
digitalWrite(pinI2,LOW);//turn DC Motor A move anticlockwise
digitalWrite(pinI1,HIGH);
}
void backward()//
{
analogWrite(speedpinA,spead);//input a simulation value to set the speed
analogWrite(speedpinB,spead);
digitalWrite(pinI4,LOW);//turn DC Motor B move anticlockwise
digitalWrite(pinI3,HIGH);
digitalWrite(pinI2,HIGH);//turn DC Motor A move clockwise
digitalWrite(pinI1,LOW);
}
void left()//
{
analogWrite(speedpinA,spead);//input a simulation value to set the speed
analogWrite(speedpinB,spead);
digitalWrite(pinI4,HIGH);//turn DC Motor B move clockwise
digitalWrite(pinI3,LOW);
digitalWrite(pinI2,HIGH);//turn DC Motor A move clockwise
digitalWrite(pinI1,LOW);
}
void right()//
{
analogWrite(speedpinA,spead);//input a simulation value to set the speed
analogWrite(speedpinB,spead);
digitalWrite(pinI4,LOW);//turn DC Motor B move anticlockwise
digitalWrite(pinI3,HIGH);
digitalWrite(pinI2,LOW);//turn DC Motor A move clockwise
digitalWrite(pinI1,HIGH);
}
void stop()//
{
digitalWrite(speedpinA,LOW);// Unenble the pin, to stop the motor. this should be done to avid damaging the motor.
digitalWrite(speedpinB,LOW);
delay(1000);
}
void loop()
{
left();
delay(15000);
stop();
right();
delay(1000);
stop();
// delay(2000); Already commented out
//forward();
// delay(2000);
// stop();
// backward();
delay(12000);
stop();
}