Páginas

jueves, 4 de marzo de 2021

Práctica 1 - coche

 Práctica 1 - Cuadrado coche

En esta práctica hemos empezado a utilizar el coche, al cuál, le hemos colocado una pila para que se puedan alimentar los motores y otra para poder alimentar la placa de Arduino donde se guarda nuestro programa. 

Este programa lo he utilizado para que el coche pueda dibujar un cuadrado. 

// Motor A

int ENA = 3; // definimos los pines donde se encuentra el motor A

int IN1 = 2;

int IN2 = 4;


// Motor B

int ENB = 6; // definimos los pines donde se encuentra el motor B

int IN3 = 7;

int IN4 = 8;


void setup ()

{

 pinMode (ENA, OUTPUT); // definimos todos los pines como salidas

 pinMode (ENB, OUTPUT);

 pinMode (IN1, OUTPUT);

 pinMode (IN2, OUTPUT);

 pinMode (IN3, OUTPUT);

 pinMode (IN4, OUTPUT);

}

void Adelante () // definimos la señal para que vaya hacia delante y no la tengamos que repetir siempre

{

 digitalWrite (IN1, HIGH); // definimos la velocidad y dirección del motor A

 digitalWrite (IN2, LOW);

 analogWrite (ENA, 100); 

 digitalWrite (IN3, HIGH); // definimos la velocidad y dirección del motor B

 digitalWrite (IN4, LOW);

 analogWrite (ENB, 100); 

}

void Atras () // definimos la señal para que vaya hacia atrás y no la tengamos que repetir siempre

{

 digitalWrite (IN1, LOW); // definimos la velocidad y dirección del motor A

 digitalWrite (IN2, HIGH);

 analogWrite (ENA, 100); 

 digitalWrite (IN3, LOW);  // definimos la velocidad y dirección del motor B

 digitalWrite (IN4, HIGH);

 analogWrite (ENB, 100);

}

void Derecha () // definimos la señal para que vaya hacia la derecha y no la tengamos que repetir siempre

{

 digitalWrite (IN1, HIGH);  // definimos la velocidad y dirección del motor A

 digitalWrite (IN2, LOW);

 analogWrite (ENA, 50);

 digitalWrite (IN3, LOW); // definimos la velocidad y dirección del motor B

 digitalWrite (IN4, HIGH);

 analogWrite (ENB, 5); 


void Izquierda () // definimos la señal para que vaya hacia la izquierda y no la tengamos que repetir siempre

{

 digitalWrite (IN1, LOW);  // definimos la velocidad y dirección del motor A

 digitalWrite (IN2, HIGH);

 analogWrite (ENA, 200); 

 digitalWrite (IN3, HIGH); // definimos la velocidad y dirección del motor B

 digitalWrite (IN4, LOW);

 analogWrite (ENB, 100); 

}

void Parar () // definimos la señal para que pare y no la tengamos que repetir siempre

{

 digitalWrite (IN1, LOW); // definimos la velocidad y dirección del motor A

 digitalWrite (IN2, LOW);

 analogWrite (ENA, 0);

 digitalWrite (IN3, LOW); // definimos la velocidad y dirección del motor B

 digitalWrite (IN4, LOW);

 analogWrite (ENB, 0); 

}

void loop () //definimos el programa completo para que haga nuestras instrucciones

{

 Adelante();

 delay (500);

 Parar();

 delay(100);

 Derecha();

 delay (200);

 Parar();

 delay(100);

 Adelante();

 delay (500);

 Parar();

 delay(100);

 Derecha();

 delay (200);

 Parar();

 delay(100);

 Adelante();

 delay (500);

 Parar();

 delay(100);

 Derecha();

 delay (200);

 Parar();

 delay(100);

 Adelante();

 delay (500);

 Parar ();

}

1 comentario: