# 2 DC motors with 2 potentiometers

Hello

I have a question for my programm.
I use 2 DC motors with 2 potentiometers.

Now i have the problem that the program dont turn on the second motor (Pot 2=A0)
Can you please resold my problem.
I think it is a little thing wath is wrom on it.

Many thanks

Regard
Reka6

Assuming you are using a UNO, pin 4 does NOT support analogWrite but on the other hand pin 3 does.
So I would suggest you swap the connections over and change your code to something like this:

OP’s code (amended):
(Compiles, NOT tested!)

``````int Pot1 = A1;
int Pot2 = A0;
int val;
int val2;
void setup() {
Serial.begin(9600);
//put your setup code here, to run once:
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(A1, INPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(A0, INPUT);

}

void loop() {
// put your main code here, to run repeatedly:
int val = analogRead(A1);
if (val > 1 && val < 490) {
val = map (val, 1, 490, 255, 0);
analogWrite (5, 0);
analogWrite (6, val);
}
else if (val > 530 && val < 1023) {
val = map (val, 530, 1023, 0, 255);
analogWrite (6, 0);
analogWrite (5, val);
}
else if (val > 491 && val < 529) {
val = map (val, 491, 529, 0, 0);
analogWrite (6, 0);
analogWrite (5, 0);
}

int val2 = analogRead(A0);
if (val2 > 1 && val2 < 490) {
val2 = map (val2, 1, 490, 255, 0);
analogWrite (4, 0);
analogWrite (3, val2);
}
else if (val2 > 530 && val2 < 1023) {
val2 = map (val2, 530, 1023, 0, 255);
analogWrite (4, 0);
analogWrite (3, val2);
}
else if (val2 > 491 && val2 < 529) {
val2 = map (val2, 491, 529, 0, 0);
analogWrite (4, 0);
analogWrite (3, 0);
}
Serial.println(val);
Serial.println(val2);
}
``````

hope that helps…

I want to test your input.
I will repond you of the test.

Regards
Reka6

Assuming you are using a UNO, pin 4 does NOT support analogWrite but on the other hand pin 3 does. so I should suggest you sway the connections over and change your code to something like this:

OP’s code (amended):
(Compiles, NOT tested!)

``````int Pot1 = A1;
int Pot2 = A0;
int val;
int val2;
void setup() {
Serial.begin(9600);
//put your setup code here, to run once:
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(A1, INPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(A0, INPUT);

}

void loop() {
// put your main code here, to run repeatedly:
int val = analogRead(A1);
if (val > 1 && val < 490) {
val = map (val, 1, 490, 255, 0);
analogWrite (5, 0);
analogWrite (6, val);
}
else if (val > 530 && val < 1023) {
val = map (val, 530, 1023, 0, 255);
analogWrite (6, 0);
analogWrite (5, val);
}
else if (val > 491 && val < 529) {
val = map (val, 491, 529, 0, 0);
analogWrite (6, 0);
analogWrite (5, 0);
}

int val2 = analogRead(A0);
if (val2 > 1 && val2 < 490) {
val2 = map (val2, 1, 490, 255, 0);
analogWrite (4, 0);
analogWrite (3, val2);
}
else if (val2 > 530 && val2 < 1023) {
val2 = map (val2, 530, 1023, 0, 255);
analogWrite (4, 0);
analogWrite (3, val2);
}
else if (val2 > 491 && val2 < 529) {
val2 = map (val2, 491, 529, 0, 0);
analogWrite (4, 0);
analogWrite (3, 0);
}
Serial.println(val);
Serial.println(val2);
}
``````

hope that helps…

Assuming you are using a UNO, pin 4 does NOT support analogWrite but on the other hand pin 3 does. so I should suggest you sway the connections over and change your code to something like this:

OP’s code (amended):
(Compiles, NOT tested!)

``````int Pot1 = A1;
``````

int Pot2 = A0;
int val;
int val2;
void setup() {
Serial.begin(9600);
//put your setup code here, to run once:
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(A1, INPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(A0, INPUT);

}

void loop() {
// put your main code here, to run repeatedly:
int val = analogRead(A1);
if (val > 1 && val < 490) {
val = map (val, 1, 490, 255, 0);
analogWrite (5, 0);
analogWrite (6, val);
}
else if (val > 530 && val < 1023) {
val = map (val, 530, 1023, 0, 255);
analogWrite (6, 0);
analogWrite (5, val);
}
else if (val > 491 && val < 529) {
val = map (val, 491, 529, 0, 0);
analogWrite (6, 0);
analogWrite (5, 0);
}

int val2 = analogRead(A0);
if (val2 > 1 && val2 < 490) {
val2 = map (val2, 1, 490, 255, 0);
analogWrite (4, 0);
analogWrite (3, val2);
}
else if (val2 > 530 && val2 < 1023) {
val2 = map (val2, 530, 1023, 0, 255);
analogWrite (4, 0);
analogWrite (3, val2);
}
else if (val2 > 491 && val2 < 529) {
val2 = map (val2, 491, 529, 0, 0);
analogWrite (4, 0);
analogWrite (3, 0);
}
Serial.println(val);
Serial.println(val2);
}

``````

hope that helps....``````

Hallo

I have testet the propsition program, but ist dosenˋt work.
So i have now change PIN 4 to PIN 9 and itˋs work.

Regards
Reka6

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.