Control motores cc con módulo L298N # VelezDuino 1.2

Seguimos con nuestro RobotCar 2WD construido con los tutoriales del blog de Luis LLamas (VelezDuino 1.0). En esta ocasión vamos a programar el módulo L298N directamente con las funciones de Arduino

El módulo controlador de motores L298N nos permite controlar la velocidad y la dirección de dos motores de corriente continua.

CONEXIÓN ELÉCTRICA

Las salidas para los motores A y B nos darán la energía para mover los motores.
Los pines IN1 e IN2 nos sirven para controlar el sentido de giro del motor A, y los pines IN3 e IN4 el del motor B.
  • Si IN1 está a HIGH e IN2 a LOW, el motor A gira en un sentido, y si está IN1 a LOW e IN2 a HIGH lo hace en el otro.
  • Lo mismo con los pines IN3 e IN4 y el motor B.

Para controlar la velocidad de giro de los motores tenemos que quitar los jumpers y usar los pines ENA y ENB.

  • Los conectaremos a dos salidas PWM de Arduino de forma que le enviemos un valor entre 0 y 255 que controle la velocidad de giro.
  • Si  tenemos los jumpers colocados, los motores girarán a la siempre a la misma velocidad. En nuestro caso hemos optado por esta última opción.

Sigue leyendo

Anuncios

El sensor ultrasónico HC-SR04 #arduino

Un sensor de ultrasonidos es un dispositivo para medir distancias. Su funcionamiento se base en el envío de un pulso de alta frecuencia, no audible por el ser humano. Este pulso rebota en los objetos cercanos y es reflejado hacia el sensor, que dispone de un micrófono adecuado para esa frecuencia.

Midiendo el tiempo entre pulsos, conociendo la velocidad del sonido, podemos estimar la distancia del objeto contra cuya superficie impactó el impulso de ultrasonidos. Sigue leyendo

Led intermitente (2) #ArduinoBlocks #practicasARDUINO

En este caso repetimos la práctica Led intermitente (2) realizada anteriormente pero utilizando para la programación ArduinoBlocks.

ArduinoBlocks es una plataforma web online donde podemos programar nuestra placa Arduino de forma visual sin necesidad de conocer el lenguaje C++ que utiliza Arduino IDE.

El resultado es el siguiente:

CÓDIGO ARDUINOBLOCKS (1)

Otra solución es utilizar el bloque “Led” de los actuadores que funciona exactamente igual que el bloque “Escribir Digital”. Podemos usarlo de la misma forma.

CÓDIGO ARDUINOBLOCKS (2)

Inténtalo tú:

  • Modifica el programa para que se ejecute continuamente la siguiente orden utilizando variables que controlen el tiempo:
    • Encendido durante 1 segundo
    • Apagado durante medio segundo
    • Encendido durante 2 segundos
    • Apagado durante 1 segundo

Led intermitente (2) #prácticasARDUINO

Vamos a repetir la práctica Led intermitente (1) pero utilizando variables para controlar el tiempo:

  • time1: variable que controla el tiempo de encendido.
  • time2: variable que controla el tiempo de apagado.

Para ello hemos añadido la siguiente secuencia:

int time1=500;
int time2=100;

El comando int es el que define la variable.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 1 Led
  • 1 Resistencia 120 Ω
  • Cables

 

ESQUEMAS

 

CÓDIGO ARDUINO
/* P03 Led intermitente 2
*  Se trata de conectar un led al pin 10, haciendo que luzca durante 500 ms y que se apague durante 100 ms
*  Este proceso se repetirá cíclicamente.
*  El led lleva conectada una resistencia de 120 Ω
*  Usamos variables para controlar el tiempo: time1 y time2
*/
int led=10; // le damos un nombre al pin 10
int time1=500; // definimos variable time1
int time2=100; // definimos variable time2
void setup ()
{
pinMode (led, OUTPUT); // configuramos el pin 10 como salida
}
void loop ()
{
digitalWrite (led, HIGH); // activa el led
delay (time1); // espera 500 ms
digitalWrite (led, LOW); // desactiva el led
delay (time2); //espera 100 ms
}

 

FUNCIONAMIENTO

Inténtalo tú:

  • Modifica el programa para que se ejecute continuamente la siguiente orden utilizando variables que controlen el tiempo:
    • Encendido durante 1 segundo
    • Apagado durante medio segundo
    • Encendido durante 2 segundos
    • Apagado durante 1 segundo

Led intermitente (1) #ArduinoBlocks #practicasARDUINO

En este caso repetimos la práctica Led intermitente (1) realizada anteriormente pero utilizando para la programación ArduinoBlocks.

ArduinoBlocks es una plataforma web online donde podemos programar nuestra placa Arduino de forma visual sin necesidad de conocer el lenguaje C++ que utiliza Arduino IDE.

El resultado es el siguiente:

CÓDIGO ARDUINOBLOCKS (1)

Otra solución es utilizar el bloque “Led” de los actuadores que funciona exactamente igual que el bloque “Escribir Digital”. Podemos usarlo de la misma forma.

CÓDIGO ARDUINOBLOCKS (2)

 

Inténtalo tú:

  • Modifica los tiempos para que encienda durante 1500 ms y se apague durante 500 ms.

Led intermitente (1) #prácticasARDUINO

Se trata de conectar un led al pin 10, haciendo que luzca durante 500 ms y que se apague durante 100 ms, este proceso se repetirá cíclicamente.

El led lleva conectada una resistencia de 120 Ω.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 1 Led
  • 1 Resistencia 120 Ω
  • Cables

 

ESQUEMAS

 

CÓDIGO ARDUINO
/* P02 Led intermitente 1
*  Se trata de conectar un led al pin 10, haciendo que luzca durante 500 ms y que se apague durante 100 ms
*  Este proceso se repetirá cíclicamente.
*  El led lleva conectada una resistencia de 120 Ω
*/
int led = 10; // le damos un nombre al pin 10
void setup ()
{
pinMode (led, OUTPUT); // configuramos el pin 10 como salida
}
void loop ()
{
digitalWrite (led, HIGH); // activa el led
delay (500); // espera 500 ms
digitalWrite (led, LOW); // desactiva el led
delay (100); //espera 100 ms
}

 

FUNCIONAMIENTO

Inténtalo tú:

  • Modifica los tiempos para que encienda durante 1500 ms y se apague durante 500 ms.

Hello World #ArduinoBlocks #practicasARDUINO

En este caso repetimos la práctica Hello World realizada anteriormente pero utilizando para la programación ArduinoBlocks.

ArduinoBlocks es una plataforma web online donde podemos programar nuestra placa Arduino de forma visual sin necesidad de conocer el lenguaje C++ que utiliza Arduino IDE.

El resultado es el siguiente:

CÓDIGO ARDUINOBLOCKS (1)

Otra solución es utilizar el bloque “Led” de los actuadores que funciona exactamente igual que el bloque “Escribir Digital”. Podemos usarlo de la misma forma.

CÓDIGO ARDUINOBLOCKS (2)

 

Inténtalo tú:

  • Modifica el tiempo de retardo para 100 ms, 250 ms, 2000 ms y 5000 ms.