You are on page 1of 28

MM6160

SISTEMAS MECATRÓNICOS INDUSTRIALES Página 1 / 12


Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

CURSO: SISTEMAS MECATRÓNICOS


INDUSTRIALES
LABORATORIO N° 07
Automatismos de Sistemas con
Arduino UNO

Alumno (s):

Grupo : ___ Especialidad: VI Nota:


Profesor :
Fecha de entrega : 2018 Modulo:
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 2 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. 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:

Tener cuidado con el tipo y niveles de voltaje que


suministran a los equipos

Antes de utilizar los instrumentos cerciorarse si son


de entrada o de salida, para no dañar los equipos

Tener cuidado en la conexión y en la desconexión de


los equipos utilizados

 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.
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 3 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

3. RECURSOS
EQUIPOS, INSTRUMENTOS Y ACCESORIOS:
a. Tarjeta Arduino UNO.
b. Software Arduino.
c. Componentes eléctricos (leds, resistencias, potenciómetros, bocinas, sensores,etc).

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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 4 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

ABRIENDO EL IDE DE ARDUINO.

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?

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.
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 5 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

1.) LED PARPADEANTE.


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
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 6 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. 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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 7 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. 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);
}

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();
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 8 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

SOLUCION 3:
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();
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 9 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

3.) CRUCE DE SEMÁFOROS.


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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 10 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

SOLUCION:
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
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 11 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

4.) SOS CON ZUMBADOR


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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 12 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

SOLUCION 1:
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;
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);
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 13 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

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);
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 14 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

5.) COCHE FANTÁSTICO.


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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 15 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

SOLUCION 1:
int leds[]={5,6,7,8,9,10,11};
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;
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);
}
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 16 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

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


int leds[]={5,6,7,8,9,10,11};
int n=0;
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);
}
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 17 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. 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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 18 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. 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:

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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 19 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

SOLUCION 1:
const int buttonPin = 2; // the number of the pushbutton pin
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);
}
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 20 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

7.) SECUENCIA DE LEDS CON PULSADOR.


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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 21 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. 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:
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);
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 22 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

delay(tiempo);
digitalWrite(leds[n],LOW);
delay(tiempo);
}
}

void loop(){
valorpulsador=digitalRead(pulsador);
monitoriza();
if (valorpulsador==1){
secuencia();
}
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 23 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

8.) RULETA DE LA FORTUNA.


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.

Figura A: Esquema de distribución electrónico

Figura B: Circuito electrónico


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 24 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

SOLUCION 1:
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);
}
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 25 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

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


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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 26 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

SOLUCION 1:
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);
}
}
MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 27 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

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


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


MM6160
SISTEMAS MECATRÓNICOS INDUSTRIALES Página 28 / 12
Tema :
AUTOMATISMOS DE SISTEMAS CON ARDUINO UNO
Grupo A–B–C–D

Nota: Mantenimiento de Maquinaria de Planta Fecha: __/__/______ Lab. Nº 7

SOLUCION 1:
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);
}

You might also like