El proyecto consiste en hacer con transistores un puente H, en el cual vamos a utilizar un potenciometro para hacer que los motores giren hacia la derecha o izquierda, cuando el potenciometro quede en el medio se detendrán.
Pondrían hacerme notar mi error.
Cuando copilo el código no me sale ningún error y a la hora de simularlo no funciona.
int potpin = 0;
int val;
const int in1Pin = 3;
const int in2Pin = 4;
const int in3Pin = 8;
const int in4Pin = 10;
void setup() {
pinMode(in1Pin, OUTPUT);
pinMode(in2Pin, OUTPUT);
pinMode(in3Pin, OUTPUT);
pinMode(in4Pin, OUTPUT);
}
void loop() {
val = analogRead(potpin);
if (val >= 0 && val <= 499) {
digitalWrite(in2Pin, LOW);
digitalWrite(in1Pin, HIGH);
digitalWrite(in3Pin, HIGH);
digitalWrite(in4Pin, LOW);
}
if(val <= 500 && val >= 523 ){
digitalWrite(in2Pin, LOW);
digitalWrite(in1Pin, LOW);
digitalWrite(in3Pin, LOW);
digitalWrite(in4Pin, LOW);
}
if (val >= 524 && val <= 1023) {
digitalWrite(in2Pin, HIGH);
digitalWrite(in1Pin, LOW);
digitalWrite(in3Pin, LOW);
digitalWrite(in4Pin, HIGH);
}
delay(15);
}
Tengo este código, es para cambiar la dirección de un motor, como le puedo hacer para agregar un segundo motor y que esté este girando en sentido contrario al primero
int potpin = 0;
int val;
const int enPin = 5;
const int in1Pin = 7;
const int in2Pin = 4;
void setup() {
pinMode(in1Pin, OUTPUT);
pinMode(in2Pin, OUTPUT);
}
void loop() {
val = analogRead(potpin);
val = map(val, 0, 1023, 0, 255);
if (val 128) {
int vel = map(val, 0, 128, 255, 0);
digitalWrite(in2Pin, LOW);
digitalWrite(in1Pin, HIGH);
analogWrite(enPin, vel);
}
else {
digitalWrite(enPin, LOW);
}
delay(15);
}
He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español@luishernandez1.
En adelante por favor usar la categoría apropiada a la lengua en que queráis publicar. Esto es importante para el uso responsable del foro, y esta explicado aquí la guía "How to get the best out of this forum".
Este guía contiene mucha información útil. Por favor leer.
Moderador:
Por favor, lee las Normas del foro
Si posteas en el foro en inglés usa idioma inglés para expresarte, eso incluye los comentarios de tu código. Si un código tiene comentarios en español también moverán tu hilo a esta sección en Español.
Si escribes en español debes usar el foro Arduino en español
Edita también el titulo usando uno que refleje tu consulta. No uses palabras inútiles como "Me pueden ayudar con este problema" porque no dice nada, no habla de tu problema.
Lee el punto 5 de las normas sobre como debe ser un titulo y que debe expresar.
Moderador
No abras nuevos hilos con el mismo tema porque a esto se lo considera doble posteo.
De hecho ya te habian respondido. Y ahora vuelves con alguna variante a preguntar por direccion/potenciometro y giro de un motor.
Tienes 1ra advertencia. A la 3ra baneo de 1 dia.
Lee las normas y respétalas por favor!!