PROPUESTA CONTROLADOR DE MOTOR

En esta práctica, vamos a intentar crear un circuito que permita a un coche avanzar y retroceder. Para ello, utilizaremos Bitbloq, aunque como en este no está el controlador de motor (una pieza vital para crear circuitos), haremos un amago y utilizaremos leds en vez de motores.

Estos serían los componentes:
- Placa Arduino
- 6 leds que imitarán las entradas del controlador de motor (ENA, IN1, IN2...)

Este sería el montaje en Bitbloq:

Este sería el código:


/***   Included libraries  ***/


/***   Global variables and function definition  ***/
const int ENA = 5;
const int IN1 = 11;
const int IN2 = 10;
const int IN3 = 12;
const int IN4 = 13;
const int ENB = 6;

void AVANZAR() {
    digitalWrite(ENA, HIGH);
    digitalWrite(ENB, HIGH);
    digitalWrite(IN3, HIGH);
    digitalWrite(IN4, LOW);
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, LOW);
}
void RETROCEDER() {
    digitalWrite(ENA, HIGH);
    digitalWrite(ENB, HIGH);
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, HIGH);
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);
}
void IZQUIERDA() {
    digitalWrite(ENA, HIGH);
    digitalWrite(ENB, HIGH);
    digitalWrite(IN3, HIGH);
    digitalWrite(IN4, LOW);
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);
}
void DERECHA() {
    digitalWrite(ENA, HIGH);
    digitalWrite(ENB, HIGH);
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, HIGH);
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, LOW);
}



/***   Setup  ***/
void setup() {
    pinMode(ENA, OUTPUT);
    pinMode(IN1, OUTPUT);
    pinMode(IN2, OUTPUT);
    pinMode(IN3, OUTPUT);
    pinMode(IN4, OUTPUT);
    pinMode(ENB, OUTPUT);

}


/***   Loop  ***/
void loop() {
    AVANZAR();
    delay(2000);
    IZQUIERDA();
    delay(2000);
    RETROCEDER();
    delay(2000);
    DERECHA();
    delay(2000);
}

Entradas populares de este blog

TIPOS DE SENSORES EN LA ROBÓTICA

SOPHIA (PRÁCTICA VOLUNTARIA)

EL LENGUAJE DE PROGRAMACIÓN DE LA ROBÓTICA (PRÁCTICA VOLUNTARIA)