Está en la página 1de 8

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

PRACTICAS CON EL ENTRENADOR DE ARDUINO. Control de motores paso a paso unipolar. Basándose en el

Control de motores paso a paso unipolar.

Basándose en el siguiente diagrama eléctrico 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.

el motor paso a paso deberá girar en sentido antihorario. Diagrama esquemático del montaje. Realizado en

Diagrama esquemático del montaje.

Realizado en el software FRITZING.

Diagrama esquemático del montaje. Realizado en el software FRITZING. Autor: Ing. Jorge Antonio Morales Sierra.
Diagrama esquemático del montaje. Realizado en el software FRITZING. Autor: Ing. Jorge Antonio Morales Sierra.

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

PRACTICAS CON EL ENTRENADOR DE ARDUINO. Montaje del circuito en el entrenador de Arduino . Solución
PRACTICAS CON EL ENTRENADOR DE ARDUINO. Montaje del circuito en el entrenador de Arduino . Solución

Montaje del circuito en el entrenador de Arduino.

Solución del código.

/* “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 público y está basado en los ejemplos encontrados en www.arduino.cc

dominio público y está basado en los ejemplos encontrados en www.arduino.cc Autor: Ing. Jorge Antonio Morales
dominio público y está basado en los ejemplos encontrados en www.arduino.cc Autor: Ing. Jorge Antonio Morales

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

PRACTICAS CON EL ENTRENADOR DE ARDUINO. Salidas de control para el motor paso a paso =

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 ELECTRÓNICAKITS, PARA LA REALIZACIÓN DE LOS EJEMPLOS.

*/

Celular: 044(55) 3448-1752. Tel. Local: 0155 2881-9042.

//Se declara la variable tipo entero sin signo la cual llevara el No. de paso

a ejecutar. int retardo = 50; //Se declara la variable retardo, la cual almacenara la base de tiempo en

unsigned int paso = 0;

ms entre paso y paso.

void setup()

{

pinMode(3,INPUT);

//Botón para encender el motor en sentido Horario.

pinMode(4,INPUT);

//Botón para encender el motor en sentido Antihorario.

pinMode(6,OUTPUT);

//Arreglo para las activaciones del motor.

pinMode(7,OUTPUT);

//Arreglo para las activaciones del motor.

pinMode(8,OUTPUT);

//Arreglo para las activaciones del motor.

pinMode(9,OUTPUT);

//Arreglo para las activaciones del motor.

}

void pasos()

//Esta rutina tiene la secuencia de la activación de las bobinas.

{

switch (paso) { case 0:

//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

digitalWrite(6,1);

motor paso a paso. //Si requiere modificar la tabla, necesitara modificar la tabla de salidas de

digitalWrite(7,1);

cada caso.

digitalWrite(8,0);

digitalWrite(9,0);

break; case 1:

digitalWrite(6,0);

digitalWrite(7,1);

digitalWrite(8,1);

digitalWrite(9,0);

break;

digitalWrite(7,1); digitalWrite(8,1); digitalWrite(9,0); break; Autor: Ing. Jorge Antonio Morales Sierra.
digitalWrite(7,1); digitalWrite(8,1); digitalWrite(9,0); break; Autor: Ing. Jorge Antonio Morales Sierra.

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

PRACTICAS CON EL ENTRENADOR DE ARDUINO. case 2: digitalWrite(6,0); digitalWrite(7,0); digitalWrite(8,1);

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)

//Movimiento en sentido horario

{

paso = paso + 1; if (paso >= 4){ paso = 0;

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

}

pasos();

delay(retardo);

}

if(digitalRead(4)==0)

//Movimiento en sentido horario

{

if (paso == 0){ paso = 3;

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

}

else

{

paso = paso - 1;

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

}

pasos();

delay (retardo);

}

}

la siguiente secuencia. } pasos(); delay (retardo); } } Autor: Ing. Jorge Antonio Morales Sierra.
la siguiente secuencia. } pasos(); delay (retardo); } } Autor: Ing. Jorge Antonio Morales Sierra.

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

PRACTICAS CON EL ENTRENADOR DE ARDUINO. Visualizador de alarmas con LCD. El ejercicio a realizar es

Visualizador de alarmas con LCD.

El ejercicio a realizar es la conexión entre el Arduino UNO R3 y el entrenador de Arduino con un módulo 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 señales de control RS y E, se generarán con los dos pines 7 y 8 (PIN 7 = RS y PIN 8 = E). Los PINES del 3 al 6 estarán conectados al banco de niveles lógicos, 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 lógico 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 eléctrico de la aplicación:

y así sucesivamente. Diagrama eléctrico de la aplicación: Diagrama esquemático del montaje. Realizado en el software

Diagrama esquemático del montaje.

Realizado en el software FRITZING.

Diagrama esquemático del montaje. Realizado en el software FRITZING. Autor: Ing. Jorge Antonio Morales Sierra.
Diagrama esquemático del montaje. Realizado en el software FRITZING. Autor: Ing. Jorge Antonio Morales Sierra.

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

PRACTICAS CON EL ENTRENADOR DE ARDUINO. Montaje del circuito en el entrenador de Arduino . Solución
PRACTICAS CON EL ENTRENADOR DE ARDUINO. Montaje del circuito en el entrenador de Arduino . Solución

Montaje del circuito en el entrenador de Arduino.

Solución del código.

/*

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 lógico 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 estarán conectados al banco de niveles lógicos. Este ejemplo es de dominio público 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 información de la librería de manejo de la LCD, refiérase al siguiente enlace. http://www.arduino.cc/en/Tutorial/LiquidCrystal

refiérase al siguiente enlace. http://www.arduino.cc/en/Tutorial/LiquidCrystal Autor: Ing. Jorge Antonio Morales Sierra.
refiérase al siguiente enlace. http://www.arduino.cc/en/Tutorial/LiquidCrystal Autor: Ing. Jorge Antonio Morales Sierra.

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

PRACTICAS CON EL ENTRENADOR DE ARDUINO. SE RECOMIENDA EL USO DE UNA PLACA "ENTRENADOR DE ARDUINO"

SE RECOMIENDA EL USO DE UNA PLACA "ENTRENADOR DE ARDUINO" DE LA MARCA ELECTRÓNICAKITS, PARA LA REALIZACIÓN DE LOS EJEMPLOS.

*/

#include <LiquidCrystal.h>

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);

Celular: 044(55) 3448-1752. Tel. Local: 0155 2881-9042.

//Se da de alta la librería para el manejo de la LCD

// Se inicializa la librería declarando los pines a utilizar.

//Pin conectado al banco de niveles lógicos "S3". //Pin conectado al banco de niveles lógicos "S2". //Pin conectado al banco de niveles lógicos "S1". //Pin conectado al banco de niveles lógicos "S0".

// CONFIGURAMOS EL NUMERO DE COLUMNAS Y FILAS

lcd.begin(16, 2);

}

// Print a message to the LCD.

lcd.print("

E. T. I. M.

");

void loop() {

//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.

if (digitalRead(3) == 1)

 

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

 

{

//De ser así entra al IF y se escribe la LCD

lcd.setCursor(0, 1);

 

// Se coloca el cursor en la columna 0 y la fila 1.

lcd.print("

ALARMA 0

");

//Se escribe el mensaje de la alarma 0.

delay(1000);

//Se realiza un retardo de un segundo.

}

if (digitalRead(4) == 1)

 
 

{

lcd.setCursor(0, 1);

 

lcd.print("

ALARMA 1

");

delay(1000);

}

1);   lcd.print(" ALARMA 1 "); delay(1000); } Autor: Ing. Jorge Antonio Morales Sierra.
1);   lcd.print(" ALARMA 1 "); delay(1000); } Autor: Ing. Jorge Antonio Morales Sierra.

Autor: Ing. Jorge Antonio Morales Sierra.

PRACTICAS CON EL ENTRENADOR DE ARDUINO.

PRACTICAS CON EL ENTRENADOR DE ARDUINO. if (digitalRead(5) == 1) { lcd.setCursor(0, 1);   lcd.print(" ALARMA

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)

{

lcd.setCursor(0, 1); lcd.print(" SIN ALARMAS

delay(1000);

}

}

");

//en caso de que todos los interruptores estén a cero, se mostrara el siguiente mensaje.

de que todos los interruptores estén a cero, se mostrara el siguiente mensaje. Autor: Ing. Jorge
de que todos los interruptores estén a cero, se mostrara el siguiente mensaje. Autor: Ing. Jorge

Autor: Ing. Jorge Antonio Morales Sierra.