Practicas Con El Entrenador de Arduino Uno

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

Control de motores paso a paso unipolar.


Basndose en el siguiente diagrama elctrico realice un programa que haga mover el motor paso a paso usando la
tabla de paso completo con las siguientes consideraciones:
Si se pulsa el pulsador conectado a la entrada 3 del Arduino UNO R3, el motor paso a paso deber girar
en sentido horario.
Si se pulsa el pulsador conectado a la entrada 4 del Arduino UNO R3, el motor paso a paso deber girar
en sentido antihorario.

Diagrama esquemtico del montaje. Realizado en el software FRITZING.

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

Montaje del circuito en el entrenador de Arduino. Fuente: www.electronicakits.com.mx

Solucin del cdigo.


/*
CONTROL DE MOTOR A PASOS
El motor a pasos a usar es Unipolar; y se usara como etapa de potencia un C.I. ULN2003a. El programa
realizara lo siguiente:
Si se pulsa el pulsador conectado a la entrada 3 del Arduino UNO R3, el motor paso a paso deber girar en
sentido horario. Si se pulsa el pulsador conectado a la entrada 4 del Arduino UNO R3, el motor paso a
paso deber girar en sentido antihorario. Este ejemplo es de dominio pblico y est basado en los
ejemplos encontrados en www.arduino.cc

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

Salidas de control para el motor paso a paso = Del pin 6 al 9.


SE RECOMIENDA EL USO DE UNA PLACA "ENTRENADOR DE ARDUINO" DE LA MARCA
ELECTRNICAKITS, PARA LA REALIZACIN DE LOS EJEMPLOS.
Pgina: www.electronicakits.com.mx
Correo: electronicakits@gmail.com

Celular: 044(55) 3448-1752.


Tel. Local: 0155 2881-9042.

*/
unsigned int paso = 0;
int retardo = 50;

void setup()
{
pinMode(3,INPUT);
pinMode(4,INPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
}
void pasos()
{
switch (paso) {
case 0:
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,0);
digitalWrite(9,0);
break;
case 1:
digitalWrite(6,0);
digitalWrite(7,1);
digitalWrite(8,1);
digitalWrite(9,0);
break;
Autor: Ing. Jorge Antonio Morales Sierra.

//Se declara la variable tipo entero sin signo la cual llevara el No. de paso
a ejecutar.
//Se declara la variable retardo, la cual almacenara la base de tiempo en
ms entre paso y paso.

//Botn para encender el motor en sentido Horario.


//Botn para encender el motor en sentido Antihorario.
//Arreglo para las activaciones del motor.
//Arreglo para las activaciones del motor.
//Arreglo para las activaciones del motor.
//Arreglo para las activaciones del motor.

//Esta rutina tiene la secuencia de la activacin de las bobinas.


//Cada caso se ejecutara dependiendo del valor de la variable paso.
//Cada caso tiene un paso de la secuencia de la tabla de movimientos del
motor paso a paso.
//Si requiere modificar la tabla, necesitara modificar la tabla de salidas de
cada caso.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

case 2:
digitalWrite(6,0);
digitalWrite(7,0);
digitalWrite(8,1);
digitalWrite(9,1);
break;
case 3:
digitalWrite(6,1);
digitalWrite(7,0);
digitalWrite(8,0);
digitalWrite(9,1);
break;
}
}

void loop()
{
if(digitalRead(3)==0)
{
paso = paso + 1;
if (paso >= 4){
paso = 0;
}
pasos();
delay(retardo);
}
if(digitalRead(4)==0)
{
if (paso == 0){
paso = 3;
}
else
{
paso = paso - 1;
}
pasos();
delay (retardo);
}
}
Autor: Ing. Jorge Antonio Morales Sierra.

//Movimiento en sentido horario


//Se incrementa la variable paso para ejecutar la siguiente secuencia.
//Si la variable es mayor o igual a 4 reseteamos la variable paso.

//Movimiento en sentido horario


//Si la variable es igual a 0 se carga la variable paso con el No. 3.

//Se decrementara la variable paso para ejecutar la siguiente secuencia.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

Visualizador de alarmas con LCD.


El ejercicio a realizar es la conexin entre el Arduino UNO R3 y el entrenador de Arduino con un mdulo LCD
empleando un bus de datos de 4 bits, en este caso, se utilizaran 4 pines del Arduino UNO R3 ( del PIN 9 al 12).
Las seales de control RS y E, se generarn con los dos pines 7 y 8 (PIN 7 = RS y PIN 8 = E). Los PINES del 3 al
6 estarn conectados al banco de niveles lgicos, figura 3.6.
El software que se implementara en el Arduino UNO R3, se encarga de mostrar un mensaje en el display por 1
segundo de acuerdo al nivel lgico de cada salida del banco de interruptores. Ejemplo si se activa S0 se mostrara
un mensaje por 1 segundo en la LCD, si se activa S1 se mostrara el mensaje correspondiente a S1 durante 1
segundo y as sucesivamente.
Diagrama elctrico de la aplicacin:

Diagrama esquemtico del montaje. Realizado en el software FRITZING.

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

Montaje del circuito en el entrenador de Arduino. Fuente: www.electronicakits.com.mx

Solucin del cdigo.


/*
El siguiente programa que se implementara en el Arduino UNO R3, se encarga de mostrar un mensaje en el
display por 1 segundo de acuerdo al nivel lgico de cada salida del banco de interruptores conectado al
Arduino R3. Ejemplo si se activa S0 se mostrara un mensaje por 1 segundo en la LCD, si se activa S1 se
mostrar el mensaje correspondiente a S1 durante 1 segundo y as sucesivamente. Los PINES del 3 al 6
estarn conectados al banco de niveles lgicos. Este ejemplo es de dominio pblico y est basado en los
ejemplos encontrados en www.arduino.cc
Conexiones de la LCD:
* LCD RS pin conectado a pin 7
* LCD Enable conectado a pin 8
* LCD D4 pin conectado a pin 9
* LCD D5 pin conectado a pin 10
* LCD D6 pin conectado a pin 11
* LCD D7 pin conectado a pin 12
* LCD R/W pin conectado a tierra (GND)
Para mayor informacin de la librera de manejo de la LCD, refirase al siguiente enlace.
http://www.arduino.cc/en/Tutorial/LiquidCrystal

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

SE RECOMIENDA EL USO DE UNA PLACA "ENTRENADOR DE ARDUINO" DE LA MARCA


ELECTRNICAKITS, PARA LA REALIZACIN DE LOS EJEMPLOS.
Pgina: www.electronicakits.com.mx
Correo: electronicakits@gmail.com

Celular: 044(55) 3448-1752.


Tel. Local: 0155 2881-9042.

*/
#include <LiquidCrystal.h>

//Se da de alta la librera para el manejo de la LCD


// Se inicializa la librera declarando los pines a utilizar.

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);


//RS, E, D4, D5, D6, D7
void setup() {
pinMode(6,INPUT);
pinMode(5,INPUT);
pinMode(4,INPUT);
pinMode(3,INPUT);

//Pin conectado al banco de niveles lgicos "S3".


//Pin conectado al banco de niveles lgicos "S2".
//Pin conectado al banco de niveles lgicos "S1".
//Pin conectado al banco de niveles lgicos "S0".

// CONFIGURAMOS EL NUMERO DE COLUMNAS Y FILAS


lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print(" E. T. I. M. ");

//El 16 representa los caracteres por fila, y el 2


representa el No. de filas de la LCD
//Se escribe el primer mensaje a mostrar en la LCD.

}
void loop() {
if (digitalRead(3) == 1)
{
lcd.setCursor(0, 1);
lcd.print(" ALARMA 0 ");
delay(1000);
}
if (digitalRead(4) == 1)
{
lcd.setCursor(0, 1);
lcd.print(" ALARMA 1 ");
delay(1000);
}
Autor: Ing. Jorge Antonio Morales Sierra.

//Se verifica si el interruptor conectado al pin3 est en uno.


//De ser as entra al IF y se escribe la LCD
// Se coloca el cursor en la columna 0 y la fila 1.
//Se escribe el mensaje de la alarma 0.
//Se realiza un retardo de un segundo.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

if (digitalRead(5) == 1)
{
lcd.setCursor(0, 1);
lcd.print(" ALARMA 2 ");
delay(1000);
}
if (digitalRead(6) == 1)
{
lcd.setCursor(0, 1);
lcd.print(" ALARMA 3 ");
delay(1000);
}
if (digitalRead(6) == 0 && digitalRead(5) == 0 && digitalRead(4) == 0 && digitalRead(3) == 0)
{
//en caso de que todos los interruptores estn a cero, se mostrara el
siguiente mensaje.
lcd.setCursor(0, 1);
lcd.print(" SIN ALARMAS ");
delay(1000);
}
}

Autor: Ing. Jorge Antonio Morales Sierra.

También podría gustarte