Está en la página 1de 62

SISTEMAS MECATRÓNICOS INDUSTRIALES Página 1 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

CURSO: SISTEMAS MECATRÓNICOS


INDUSTRIALES

LABORATORIO N° 7

“Automatismos de Sistemas con Arduino


UNO”

Hernandez Rosas Eduardo William

Huaranca Rodriguez, Alejandra Paola


Alumno (os):

Machacca Puma, Liset

Sosa Jorge, Marco Antonio

Grupo “B” Nota:

Profesor: Miguel León

Fecha de entrega: 16 05 18 Semestre VI


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 2 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

1. Objetivo

Identificar las principales instrucciones de tratamiento digital y analógico

en el ARDUNIO

Diseñar e implementar circuitos ejemplo de procesos con led,

potenciómetros, sensores, etc.

Identificar las características del modo de control de entradas y salidas

digitales.

Familiarizarse con el entorno de programación.

Aprender a declarar variables y variables tipo lista de valores.

Aprender a declarar una función y llamarla cuando sea necesario.

Aprender a conexionar leds a la placa.

Familiarizarse con el entorno de programación.

Reconocer las partes de un programa de Arduino.

Conocer órdenes como: pinMode, digitalWrite y delay.

Aprender a declarar variables tipo en arreglo de valores.

Aprender a conexionar un zumbador a la placa.

Aprender a como declarar variables.

Conocer órdenes de control de programa como: for

2. Seguridad en la ejecución del laboratorio

Antes de realizar el laboratorio:


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 3 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Asegúrese que usted y sus compañeros de grupo tienen los implementos

necesarios de seguridad. Recuerde que va a trabajar con elementos de aire

comprimido, electricidad y fluidos de alta presión.

Recursos

EQUIPOS, INSTRUMENTOS Y ACCESORIOS:

Tarjeta Arduino UNO.

Software Arduino.

Componentes eléctricos (leds, resistencias, potenciómetros, bocinas,

sensores,etc).
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 4 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

INFORMACIÓN

Para poner a funcionar tú Arduino, es necesario que descargues primero la

versión más actualizada del software de Arduino, desde

https://www.arduino.cc/en/Main/Software (software gratuito) Este software conocido

como “Arduino IDE”, te permitirá programar la tarjeta para que haga exactamente lo

que tú quieras. Es similar a un procesador de palabras, pero para escribir programas

con una computadora.

Click en el sistema operativo apropiado.

ABRIENDO EL IDE DE ARDUINO.


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 5 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Abre el software del IDE de Arduino en tú computadora. Viendo un poco la

interfaz para ir conociendo. Luego realizar algunos pasos para identificar la tarjeta

Arduino.

GUI (Interfaz gráfica del Usuario)

1) Verificar: Compila y aprueba tú código. Encuentra errores de sintaxis (paréntesis

o signos de punto y coma faltantes).

2) Cargar: Envía tú código a la tarjeta Arduino. Cuando le das click, deberás ver las

luces en tú tarjeta parpadeando rápidamente.

3) Nuevo: Estos botones abren otra nueva pestaña de código.

4) Abrir: Este botón permite abrir un archivo existente.

5) Guardar: Guarda el archivo actual.

6) Monitor serial: Este abre una ventana que muestra cualquier información serial

que tú tarjeta Arduino este transmitiendo. Es muy usado para tareas de depuración.

7) Nombre del Archivo: Muestra el nombre del archivo en el que estás trabajando

actualmente.

8) Área de código: Esta es la ventana/área donde escribes el código de tú

programa.

9) Área de mensajes: Es aquí donde el IDE te dice si hay algún error en tú código.

¿Qué es un circuito eléctrico?


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 6 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Un circuito es básicamente un ciclo eléctrico con un punto de inicio y un punto final –

con cualquier número de componentes entre dichos puntos. Los circuitos pueden incluir

resistencias, diodos, inductores, sensores de todas las formas y tamaños, motores, y

cualquier otro tipo entre cientos de miles de componentes. Los circuitos se dividen

generalmente en tres categorías: circuitos analógicos, circuitos digitales o circuitos de

señales mixtas.

EL MUNDO FUNCIONA CON CIRCUITO

Donde sea que mires encontraras circuitos. El teléfono celular que podamos tener, el

computador que controla el sistema de emisiones de los automóviles; la consola de

video juegos – todas estas cosas están completamente llenas de circuitos.

1.) LED PARPADEANTE


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 7 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Se trata de conectar un led al pin13, haciendo que luzca durante 500 ms y que se

apague durante 100 ms, este proceso se repetirá cíclicamente.

Figura A: Esquema de distribución electrónico

SOLUCION:

void setup() { //comienza la configuración

pinMode(13, OUTPUT); //Configura el pin 13 como de salida

} //termina la configuración

void loop() { //comienza el bucle principal del programa

digitalWrite(13, HIGH); //envia 5V al pin (salida)

13 delay (500); //espera 500 ms pin 13 con 5V

digitalWrite(13, LOW); //envia 0V al pin (salida)

13 delay (100); //espera 100 ms pin 13 con 0V

Materiales:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 8 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Placa Protoboard

Microcontroladora Arduino

Cable de conexión

1 LED

Objetivo:

Con esta práctica se pretende explicar al alumno el esquema de programación de la

microcontroladora, el montaje de circuitos sencillos y la estructura de la placa Arduino,

el programa es sencillo y consiste en hacer parpadear un LED.

Inicia programa

Parpadeo de un LED
Definir variable para
LED

Configurar PIN13
como salida

Activar salida
(PIN13=HIGH)

13 delay (500)

Desactivar salida
(PIN13=LOW)

13 delay (100)
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 9 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Montaje

Programación
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 10 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

2.) SECUENCIA DE LEDS

Se trata de encender y apagar 5 leds secuencialmente. Los leds deben estar

conectados a los pines 2, 3, 4, 5 y 6.

Se deben encender y posteriormente apagar los leds desde el pin 2 al 6, con un tiempo

de duración de encendido y apagado de 100 milisegundos.

Nota: en una segunda solución la secuencia principal del programa debe estar

reproducida en una función a la que llamará el programa principal.

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 11 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCIÓN 1:

int tiempo=100; //declara una variable como entero y de valor 100

void setup() { //comienza la configuración

pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
}
void loop() { //comienza el bucle principal del programa

digitalWrite(2,HIGH);
delay(tiempo);
digitalWrite(2,LOW);
delay(tiempo);
digitalWrite(3,HIGH);
delay(tiempo);
digitalWrite(3,LOW);
delay(tiempo);
digitalWrite(4,HIGH);
delay(tiempo);
digitalWrite(4,LOW);
delay(tiempo);
digitalWrite(5,HIGH);
delay(tiempo);
digitalWrite(5,LOW);
delay(tiempo);
digitalWrite(6,HIGH);
delay(tiempo);
digitalWrite(6,LOW);
delay(tiempo);
}
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 12 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCIÓN 2:

int iTiempo=100; int iLed;

void setup() { //comienza la configuración

for (iLed=2;iLed<7;iLed++) {

pinMode (iLed, OUTPUT);

void secuencia() {

for (iLed=2;iLed<7;iLed++) {

digitalWrite (iLed, HIGH);

delay (iTiempo);

digitalWrite (iLed, LOW);

delay (iTiempo);

void loop() {

secuencia();

SOLUCION 3:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 13 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int aiLeds[]={2,3,4,5,6};// Declara variables tipo lista de valores

int iTiempo=100;

int iRecorre=0;

void setup() { //comienza la configuración

for (iRecorre=0;iRecorre<5;iRecorre++) {

pinMode (aiLeds[iRecorre], OUTPUT);

void secuencia() {

for (iRecorre=0;iRecorre<5;iRecorre++) {

digitalWrite (aiLeds[iRecorre], HIGH);

delay (iTiempo);

digitalWrite (aiLeds[iRecorre], LOW);

delay (iTiempo);

void loop() {

secuencia();

MATERIALES

Arduino UNO
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 14 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Protoboard

5 LEDs

5 resistencias de 120 ohms.

Cables

MONTAJE

PROGRAMACIÓN

SOLUCIÓN 1:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 15 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCIÓN 2:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 16 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCIÓN 3:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 17 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

3.) CRUCE DE SEMÁFOROS


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 18 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Se trata de un cruce de semáforos controlado por Arduino, para ello utilizaremos en el

primer semáforo los pines 2 (led rojo), 3 (led ámbar), 4 (led verde), en el segundo

semáforo utilizaremos los pines 5 (led rojo), 6 (led ámbar) y 7 (led verde). La secuencia

de funcionamiento debe ser: rojo 1 – verde 2 durante 3 segundos, rojo 1 – ámbar 2

durante 500 ms, verde 1 – rojo 2 durante 3 segundos, ámbar 1 - rojo 2 durante 500 ms.

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico

SOLUCION:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 19 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int aiLeds[]={2,3,4,5,6,7};
int iTiempo1=3000;
int iTiempo2=1000;
int iRecorre;
void setup() {
for (iRecorre=0;iRecorre<6;iRecorre++) {
pinMode (aiLeds[iRecorre],OUTPUT);
}
}
void loop () {
digitalWrite (aiLeds[0],HIGH); // Rojo 1
digitalWrite (aiLeds[5],HIGH); // Verde 2
delay (iTiempo1); // (3s)
digitalWrite (aiLeds[5],LOW); // Verde 1
digitalWrite (aiLeds[4],HIGH); // Ambar 2
delay (iTiempo2); // (0.5s)
digitalWrite(aiLeds[0],LOW); // Rojo 1
digitalWrite (aiLeds[4],LOW); // Ambar 2
digitalWrite (aiLeds[2],HIGH); // Verde 1
digitalWrite (aiLeds[3],HIGH); // Rojo 2
delay (iTiempo1); // (3s)
digitalWrite (aiLeds[2],LOW); // Verde 1
digitalWrite(aiLeds[1],HIGH); // Ambar 1
delay (iTiempo2);
digitalWrite(aiLeds[1],LOW); // Ambar 1
digitalWrite(aiLeds[3],LOW); // Rojo 2
}
MATERIALES
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 20 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Arduino UNO

2 x Led rojo 3mm

2 x Led amarillo 3mm

2 x Led verde 3mm

6 x resistencias de 220Ω.

Cables para conectar todo.

Montaje
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 21 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Programación
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 22 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

4.) SOS CON ZUMBADOR


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 23 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Se trata de un zumbador que en código morse (pitidos largos/cortos) especifica una

palabra, en nuestro caso SOS. Para el que no lo sepa, la S son tres señales acústicas

de corta duración y la O tres señales acústicas de larga duración.

El zumbador debe estar conectado al pin 13, los pitidos cortos tendrán una duración de

100 ms y los largos 300 ms. Entre letra y letra debe pasar un tiempo de 300 ms y entre

SOSs debe haber un tiempo de 1000 ms.

Nota: Debes usar variables para guardar los tiempos que vas a usar.

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico

SOLUCION 1:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 24 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int corto=100; //Declara la variable de argumento entero "corto" y la inicializa con el valor 100 (letra S)
int pausa=300;//tiempo entre letra y letra
int largo=300; //variable de argumento entero "largo" y la inicializa con el valor 300 (letra O)
int espera=1000;//variable argumento entero "espera" y la inicializa con el valor 1000 (tiempo entre SOS-SOS)
int n=0;
int zumb=13; //PIN digital al que conectamos el zumbador
void setup(){ //comienza la configuración
pinMode(zumb,OUTPUT);
}
void loop(){
for(n=0;n<3;n++){ //Iteración en la que la variable n comienza con el valor 0
digitalWrite(zumb, HIGH); // y va aumentando en 1 en cada ciclo hasta que toma el valor 2,
delay(corto); // con lo que las instrucciones comprendidas entre los corchetes
digitalWrite(zumb,LOW); // se repiten 3 veces
delay(corto);
}
delay(pausa); //Tiempo entre letras
for(n=0;n<3;n++){ //Aquí esta la O
digitalWrite(zumb, HIGH);
delay(largo);
digitalWrite(zumb,LOW);
delay(largo);
}
delay(pausa);
for(n=0;n<3;n++){
digitalWrite(zumb, HIGH);
delay(corto);
digitalWrite(zumb,LOW);
delay(corto);
}
delay(espera); //Tiempo hasta repetir SOS de nuevo
}
SOLUCION 2:

int tcorto=100;
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 25 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int tlargo=300;
int pausa=300;
int espera=1000;
int n=0;
void setup(){ //comienza la configuración
pinMode(13,OUTPUT);
}
void s(){ //comienza el bucle para la letra S
for(n=0;n<3;n++) {
digitalWrite (13,HIGH);
delay (tcorto);
digitalWrite (13,LOW);
delay (tcorto);
}
}
void o(){ //comienza el bucle para la letra O
for(n=0;n<3;n++) {
digitalWrite (13,HIGH);
delay (tlargo);
digitalWrite (13,LOW);
delay (tlargo);
}
}
void loop(){ //se ejecuta el bucle principal en el orden siguiente
s();
delay(pausa);
o();
delay(pausa);
s();
delay(espera);
}

MATERIALES

1 Placa Arduino
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 26 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

1 Placa protoboard

1 Zumbador

Cables

MONTAJE
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 27 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

PROGRAMACIÓN

SOLUCION 1:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 28 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCION 2:

5.) COCHE FANTÁSTICO


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 29 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Se trata de encender y apagar 7 leds secuencialmente. Los leds deben estar

conectados a los pines 5, 6, 7, 8, 9, 10 y 11.

Se deben encender y apagar los leds desde el pin 5 al 11, con un tiempo de encendido

y apagado de 50 ms, más tarde se deben encender y apagar los leds desde el pin 11

al 5, con un tiempo de encendido y apagado de 50 ms. La secuencia se debe repetir

indefinidamente.

El efecto del programa es el de las luces delanteras de nuestro querido "Coche

fantástico".

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico

SOLUCION 1:

int leds[]={5,6,7,8,9,10,11};
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 30 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int n=0;

int tiempo=50;

void setup() { //comienza la configuración

for (n=0;n<7;n++) {

pinMode(leds[n],OUTPUT);

}
}
void loop() {

for (n=0;n<7;n++) {

digitalWrite (leds[n],HIGH);

delay(tiempo);

digitalWrite (leds[n],LOW);

delay(tiempo);

for (n=6;n>=0;n--) {

digitalWrite (leds[n],HIGH);

delay(tiempo);

digitalWrite (leds[n],LOW);

delay(tiempo);

SOLUCION 2: (Sin variables de lista de valores (Array)

int n=0;
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 31 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int tiempo=50;

void setup() { //comienza la configuración

for (n=5;n<12;n++) {

pinMode(n,OUTPUT);

}
}
void loop() {

for (n=5;n<12;n++) {

digitalWrite (n,HIGH);

delay(tiempo);

digitalWrite (n,LOW);

delay(tiempo);

for (n=11;n>=5;n--) {

digitalWrite (n,HIGH);

delay(tiempo);

digitalWrite (n,LOW);

delay(tiempo);

}
}
SOLUCIÓN 3: (Mejorando el efecto visual):

int leds[]={5,6,7,8,9,10,11};
int n=0;
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 32 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int tiempo=30;
void setup() { //comienza la configuración

for (n=0;n<7;n++) {
pinMode(leds[n],OUTPUT);
}
}
void loop() {

for (n=0;n<7;n++) {
digitalWrite (leds[n],HIGH);
delay(tiempo);
digitalWrite(leds[n+1],HIGH);
delay(tiempo);
digitalWrite (leds[n],LOW);
delay(tiempo*2);
}
for (n=6;n>=0;n--) {
digitalWrite (leds[n],HIGH);
delay(tiempo);
digitalWrite(leds[n-1],HIGH);
delay(tiempo);
digitalWrite (leds[n],LOW);
delay(tiempo*2);
}
}
MATERIALES

Placa Protoboard

Microcontroladora Arduino
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 33 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Cable de conexión

1 LED

MONTAJE
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 34 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

PROGRAMACIÓN

SOLUCION 1:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 35 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCION 2:

SOLUCION 3:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 36 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

6.) ENCENDER UN LED AL PRESIONAR UN PULSADOR

Se trata de encender y apagar 1 led al accionar un pulsador. El pulsador debe estar

conectado al pin 2, y el led al pin 13.

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 37 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Ponemos unir con un cable desde el PIN 5V a la pata del pulsador de la pata opuesta

ponemos otro cable tierra GMD, Para no provocar un cortocircuito insertamos por

medio una resistencia suficientemente grande por ejemplo de 1K/10K Ohm. En este

circuito podemos medir la tensión que hay entre el pulsador y la resistencia, cuando el

circuito este abierto ahí habrá 0 o cinco voltios según el orden en que hayamos puesto

nuestros componentes.

Figura C: Esquema Eléctrico Pull-Up y Pull-Down

Si el orden es V5 – Pulsador – Resistencia – GMD o “tierra” (montaje

PULL DOWN) (bajar), entre pulsador y resistencia habrá 0 voltios si está abierto el

circuito y 5 si está cerrado

Si el orden es V5 – Resistencia – Pulsador – GMD o “tierra” (montaje

PULL UP) (levantar), entre la resistencia y el pulsador habrá 5 voltios si está abierto

el circuito y 0 si está cerrado

Adjunto los tres esquemas posibles para su mejor comprensión:


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 38 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Figura D: Esquema Eléctrico Pull-Up y Pull-Down

SOLUCION:

const int buttonPin = 2; // the number of the pushbutton pin


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 39 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

const int ledPin = 13; // the number of the LED pin

// variables will change:

int buttonState = 0; // variable for reading the pushbutton status

void setup() {

// initialize the LED pin as an output:

pinMode(ledPin, OUTPUT);

// initialize the pushbutton pin as an input:

pinMode(buttonPin, INPUT);

void loop() {

// read the state of the pushbutton value:


buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on: digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
Materiales:

Placa protoboard

Microcontroladora Arduino
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 40 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Cable de conexión

1 LED Rojo

Pulsador

Resistencias de 120 Ω

Cables

MONTAJE
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 41 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

PROGRAMACIÓN
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 42 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCION:

7.) SECUENCIA DE LEDS CON PULSADOR


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 43 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Se trata de encender y apagar 4 leds secuencialmente al accionar un pulsador. El

pulsador debe estar conectado al pin 4, y los leds a los pines 5,6,7 y 8.

Se deben encender y posteriormente apagar los leds desde el pin 5 al 8, con un tiempo

de duración de encendido y apagado de 200 milisegundos.

Nota: la secuencia principal del programa debe estar reproducida en una función a la

que llamará el programa principal.

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 44 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCION 1:
int cadenaleds[]={5,6,7,8}; int pulsador=4;

int tiempo=200; int n=0;

void setup() {

for(n=0;n<4;n++) {

pinMode (cadenaleds[n],OUTPUT);

pinMode (pulsador,INPUT);

void flash() {

for (n=0;n<4;n++) {

digitalWrite (cadenaleds[n],HIGH); delay (tiempo);

digitalWrite (cadenaleds[n],LOW); delay (tiempo);

void loop() {

if (digitalRead(pulsador)==HIGH) { flash();

SOLUCION 2:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 45 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int leds[]={5,6,7,8}; int tiempo=200;


int pulsador=4; int n=0;
int valorpulsador=0;
void setup(){
for(n=0;n<4;n++){
pinMode(leds[n],OUTPUT);
}
pinMode(pulsador,INPUT);
Serial.begin(9600);
}
void monitoriza(){
Serial.print("El valor del pulsador es ...");
Serial.println(valorpulsador);
delay(1000);
}
void secuencia(){
for(n=0;n<4;n++){
digitalWrite(leds[n],HIGH);
delay(tiempo);
digitalWrite(leds[n],LOW);
delay(tiempo);
}
}
void loop(){
valorpulsador=digitalRead(pulsador);
monitoriza();
if (valorpulsador==1){
secuencia();
}
}
MATERIALES:

Placa protoboard
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 46 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Microcontroladora Arduino

Cable de conexión

4 LED Rojo

Pulsador

4 Resistencias de 120 Ω

Cables

MONTAJE
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 47 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

PROGRAMACIÓN

SOLUCION 1:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 48 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCION 2:

8.) RULETA DE LA FORTUNA


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 49 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Se trata de cinco leds que se van encendiendo y apagando formando una secuencia,

el jugador debe dar al pulsador cuando el led intermedio se enciende, si acierta

funciona un zumbador y la velocidad de la secuencia aumenta.

Los leds deben estar conectados de los pines 5 a 9 (inclusive), el zumbador al pin 10,

el pulsador al pin 11.

El tiempo inicial entre encendido y encendido de leds debe ser 200 ms, si se acierta se

decrementa el tiempo en 20 ms, si el tiempo entre encendidos llegase a 10 ms, se

devuelve el tiempo a 200 ms.

SOLUCION:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 50 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int leds[]={5,6,7,8,9}; int n=0;


int tiempo=200;
int zumbador=10;
int pulsador=11;
void setup (){
for(n=0;n<5;n++) {
pinMode(leds[n],OUTPUT);
}
pinMode(zumbador,OUTPUT);
pinMode(pulsador,INPUT);
}
void compruebaacierto(){
if(digitalRead(pulsador)==HIGH && n==2) {
digitalWrite(zumbador,HIGH);
delay (1000);
digitalWrite(zumbador,LOW);
tiempo=tiempo-20;
if(tiempo<10){
tiempo=200;}
}
}
void loop () {
for(n=0;n<5;n++) {
digitalWrite(leds[n],HIGH);
delay(tiempo);
compruebaacierto();
digitalWrite(leds[n],LOW);
delay(tiempo);
}
}
MATERIALES:

5 LEDs.
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 51 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

5 Resistencia de 120 Ohmios.

Placa de conecciones.

1 Placa de ARDUINO DUEMILANOVE

1 Cable USB

7 Cables largos (6 unen las resistecias a la placa de Arduino y uno une el

negativo a la GDN de la placa)

1 Pulsador

1 Zumbador (podria ser un altavoz)

1 PC

MONTAJE
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 52 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

PROGRAMACIÓN
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 53 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCION:

9.) AUMENTAR Y DISMINUIR INTENSIDAD LUMINOSA DE LED (FADING)


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 54 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Se trata aumentar y disminuir la luminosidad de un led usando la capacidad de ofrecer

una tensión variable que da una salida analógica. Para ello se conecta un led al pin 11

y se provoca que su luminosidad pase de mínima a máxima, para luego ir de máxima

a mínima. Los valores de salidas analógicas van del mínimo 0 al máximo 255.

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico

SOLUCION:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 55 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int luminosidad = 0; // variable para asignar la luminosidad al led

int led = 11; // pin del led

void setup(){

// en el setup no hay nada que configurar

void loop(){

for (luminosidad = 0 ; luminosidad <= 255; luminosidad=luminosidad+3) // (desde min a un max)

analogWrite(led, luminosidad); // ilumina el led con el valor asignado a luminosidad (entre 0 y 255)

delay(30); // espera 30 ms para que se vea el efecto

for (luminosidad = 255; luminosidad >=0; luminosidad=luminosidad-3) // (desde max a un min)

analogWrite(led, luminosidad);

delay(30);

MATERIALES:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 56 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Arduino UNO, Arduino Picaro o Cualquier modelo similar

Cable USB para Arduino

LEDs de cualquier color

Resietencias 120 Ohms

Jumpers o conectores

Protoboard

MONTAJE

PROGRAMACIÓN
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 57 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

SOLUCION:

10.) LUZ DE LED EN FUNCIÓN DE LA LUZ


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 58 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Se trata de un dispositivo que haga lucir un led más o menos en función de la luz

externa. Para ello conectaremos una ldr a la entrada analógica 2 y un led al pin 13.

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico

SOLUCION:
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 59 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

int sensorPin = 2; // select the input pin for the potentiometer

int ledPin = 13; // select the pin for the LED

int sensorValue = 0; // variable to store the value coming from the sensor

void setup() {

// declare the ledPin as an OUTPUT:

pinMode(ledPin, OUTPUT);

void loop() {

// read the value from the sensor:

sensorValue = analogRead(sensorPin);

// turn the ledPin on

digitalWrite(ledPin, HIGH);

// stop the program for <sensorValue> milliseconds:

delay(sensorValue);

// turn the ledPin off:

digitalWrite(ledPin, LOW);

// stop the program for for <sensorValue> milliseconds:

delay(sensorValue);

MATERIALES:

Arduino UNO, Arduino Picaro o Cualquier modelo similar


SISTEMAS MECATRÓNICOS INDUSTRIALES Página 60 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

Cable USB para Arduino

LEDs de cualquier color

Resietencias 120 Ohms

Jumpers o conectores

Protoboard

1 LDR

MONTAJE
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 61 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

PROGRAMACIÓN
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 62 / 62

Tema : Grupo: B
“Automatismos de Sistemas con Arduino UNO” VI Semestre

Profesor :Miguel León Fecha:16-05-2018 LABORATIO N° 7

CONCLUSIÓN

Conocimos más acerca de la estructura del lenguaje de programación.

Se realizó programación para circuitos básicos, como encender y apagar

un LED y más circuitos donde usamos diferentes componentes electrónicos.

Aprendimos el manejo y codificaciones con el programa ARDUINO en

cada proceso.