// speed, direc1, direc2, dp1, m1, dp2, m2, deg
void setup() {
pinMode(3, OUTPUT); //step
pinMode(2, OUTPUT); //dir
pinMode(4, OUTPUT); //dir
pinMode(5, OUTPUT); //step
pinMode(6, OUTPUT); //dir
pinMode(7, OUTPUT); //step
pinMode(8, OUTPUT); //step
pinMode(9, OUTPUT); //dir
pinMode(A1, OUTPUT);
pinMode(A0, OUTPUT);
//ChangeMotorBy(3,2,90,0,100);
//ChangeMotorBy(5,4,90,1,100);
delay(100);
Start2Motorfor(255,0,1,2,3,4,5,90);
//Start2Motorfor(255,1,0,2,3,4,5,90);
//Start2Motorfor(255,0,1,9,8,6,7,90);
//Start2Motorfor(255,1,0,9,8,6,7,90);
analogWrite(A0, 255);
analogWrite(A1, 255);
// Start4Motorfor(90,80,0,3,2,1,8,9,0,5,4,1,7,8);
//Start4Motorfor(90,80,1,3,2,0,8,9,1,5,4,0,7,8);
pinMode(12, INPUT);
//while (!(digitalRead(12) == HIGH)) {
// Start4Motor(80,1,3,2,0,8,9,0,5,4,0,7,8);
//}
//speed 1-255, direction 1/0 1= counterclockwise 0= clockwise, degrees
}
void loop() {
//Start4Motor(80,1,3,2,0,8,9,0,5,4,0,7,8);
delay(1000);
analogWrite(A1, 0);
}
void ChangeMotorBy(int motor,int dmotor, int po, int dir, int speed) {
for (int i = 0; i < po/1.8; i++){
StartMotor(speed,dir,dmotor,motor);
}
}
void StartMotor(int sp, int direc, int dpin, int MOTOR){
if (direc == 0) {
digitalWrite(dpin, HIGH);
}
if (direc == 1) {
digitalWrite(dpin, LOW);
}
digitalWrite(MOTOR, HIGH);
digitalWrite(MOTOR, LOW);
delay(map(sp,1,255,1,20));
}
void Start2Motorfor(int sp, int direc1,int direc2, int dpin1, int MOTOR1, int dpin2, int MOTOR2, int deg){
if (direc1 == 0) {
digitalWrite(dpin1, HIGH);
}
if (direc1 == 1) {
digitalWrite(dpin1, LOW);
}
if (direc2 == 0) {
digitalWrite(dpin2, HIGH);
}
if (direc2 == 1) {
digitalWrite(dpin2, LOW);
}
for (int i = 0; i < deg/1.8; i++){
digitalWrite(MOTOR1, HIGH);
digitalWrite(MOTOR2, HIGH);
digitalWrite(MOTOR1, LOW);
digitalWrite(MOTOR2, LOW);
delay(map(sp,1,255,1,20));
}
}
//deg, speed, "direction, motor pin, direct pin"
void Start4Motor(int so,int do1, int mo1, int dpo1, int do2, int mo2, int dpo2, int do3,int mo3, int dpo3, int do4, int mo4, int dpo4){
if (do1 == 0) {
digitalWrite(dpo1, HIGH);
}
if (do1 == 1) {
digitalWrite(dpo1, LOW);
}
if (do2 == 0) {
digitalWrite(dpo2, HIGH);
}
if (do2 == 1) {
digitalWrite(dpo2, LOW);
}
if (do3 == 0) {
digitalWrite(dpo3, HIGH);
}
if (do3 == 1) {
digitalWrite(dpo3, LOW);
}
if (do4 == 0) {
digitalWrite(dpo4, HIGH);
}
if (do4 == 1) {
digitalWrite(dpo4, LOW);
}
digitalWrite(mo1, HIGH);
digitalWrite(mo2, HIGH);
digitalWrite(mo3, HIGH);
digitalWrite(mo4, HIGH);
digitalWrite(mo1, LOW);
digitalWrite(mo2, LOW);
digitalWrite(mo3, LOW);
digitalWrite(mo4, LOW);
delay(map(so,1,255,1,20));
}
void Start4Motorfor( int d, int s, int d1,int m1, int dp1, int d2, int m2, int dp2, int d3,int m3, int dp3, int d4, int m4, int dp4){
if (d1 == 0) {
digitalWrite(dp1, HIGH);
}
if (d1 == 1) {
digitalWrite(dp1, LOW);
}
if (d2 == 0) {
digitalWrite(dp2, HIGH);
}
if (d2 == 1) {
digitalWrite(dp2, LOW);
}
if (d3 == 0) {
digitalWrite(dp3, HIGH);
}
if (d3 == 1) {
digitalWrite(dp3, LOW);
}
if (d4 == 0) {
digitalWrite(dp4, HIGH);
}
if (d4 == 1) {
digitalWrite(dp4, LOW);
}
for (int i = 0; i < d/1.8; i++){
digitalWrite(m1, HIGH);
digitalWrite(m2, HIGH);
digitalWrite(m3, HIGH);
digitalWrite(m4, HIGH);
digitalWrite(m1, LOW);
digitalWrite(m2, LOW);
digitalWrite(m3, LOW);
digitalWrite(m4, LOW);
delay(map(s,1,255,1,20));
}
}d
c
b
a