Sunteți pe pagina 1din 6

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL


PERÍODO ACADÉMICO: MARZO 2018 – AGOSTO 2018

I. Título: Ruleta Loca utilizando programación en Arduino.

Carrera: SISTEMAS COMPUTACIONALES E INFORMATICOS

Unidad de organización curricular: BASICA

Línea de Investigación: CIENCIAS BASICAS

Ciclo Académico y paralelo: Marzo 2018 – Agosto 2018. Tercero A

Alumnos participantes:

 Danilo Jumbo
 Dennis Muñoz

Módulo y Docente: Medidas Eléctricas Ing. Franklin Salazar.

I. INFORME DEL PROYECTO


1. PP
2. YY

2.1 Título: Ruleta Loca utilizando programación en Arduino

2.2 Objetivos

1. Realizar un proyecto con el Arduino para hacer un uso correcto de ello y para
entender el funcionamiento y el manejo de este dispositivo.

2. Utilizar mediante las técnicas fundamentales electrónicas, la visualización de


luces incorporadas en una ruleta, previamente programadas.

3. Obtener gráficos representativos de las figuras generadas en cada aplicación


desarrollada.

2.3 Resumen

Se propone la programación de un juego para ARDUINO utilizando 5 Leds. El


juego parte de los Leds situados formando un círculo. Los Leds están ordenados,
de forma que el LED principal puede ser de otro color simplemente tener una
posición determinada en la Protoboard. El juego comienza haciendo brillar el
primer LED (el principal), de forma que pasado un determinado tiempo (300 ms
es una buena medida para empezar), dejará de brillar para encenderse el
segundo LED. De nuevo, pasado ese tiempo inicial, se apagará el segundo LED
para encenderse el tercero. Este proceso debe continuar indefinidamente, de
forma que cuando se apague el quinto LED se encenderá de nuevo el primero
(el principal).

2.4 Palabras clave: Arduino, ruletas, leds, programar, velocidad, protoboard,


jumpers, resistencia.
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: MARZO 2018 – AGOSTO 2018

2.5 Introducción
Se trata de cinco leds que se van apagando y encendiendo formando una
secuencia, el jugador debe dar a un pulsador cuando el led intermedio se
enciende, si acierta suena un zumbador y la velocidad de la secuencia aumenta.
El juego consiste en parar la ruleta de Leds justo en el LED principal. Para ello,
en el funcionamiento que se ha descrito anteriormente, cuando el jugador pulse
un botón, se evaluará si el LED que está encendido es el LED principal. Si es
así, se habrá acertado, y se incrementará la velocidad del juego disminuyendo
el tiempo en que los Leds están encendidos. Si se falla, se bajará la velocidad
(incrementando el tiempo de parpadeo de cada LED hasta un tiempo máximo.
El juego sólo acabará cuando el número de aciertos haya incrementado la
velocidad hasta una velocidad que se establezca como máxima (50 ms por
ejemplo). En cada acierto se puede decrementar el tiempo de parpadeo en 50
ms. Cuando el juego termina puedes hacer sonar un zumbador durante 0,5
segundos y el tiempo vuelve a su valor inicial.
Con el proyecto presente se quiere demostrar que la programación en Arduino
es fácil y sencilla de aprender y practicar con este tipo de proyectos propuestos,
proponiendo materiales que complementan la realización de la rueda. Además
demostrar que se pude utilizar Arduino en lo más simple como un juego o algo
en nos llame la atención realizar.
Además nuestro propósito es mostrar una rueda de la fortuna que se programara
con Arduino y girara con la programación y a la vez, que encenderá LEDS con
el objetivo de ser un proyecto llamativo para los demás alumnos.

2.6 Materiales y Metodología

Arduino Uno
1 protoboard
5 leds alto brillo.
20 jumpers
1 zumbador
6 resistencias de 220 Ohm
1 botón

- Codificado:
#include const int pulsadorPin = 2;
const int zumbadorPin = 6;
//Declarar pin zumbador
Pin const int pinArray[] = {13, // principal 12, 11, 10, 9 };
int pos = 0;
int aciertos = 0;
int vInicial= 300;
const int incrementoVelocidad = 50;
// para controlar ruido mecánico
unsigned long ultimaVez;
void intFlancoSubida() {
unsigned long ahora = millis();
// si han pasado mas de 100ms es una pulsacion valida
if (ahora - ultimaVez > 100) {
int k=14;
int i=4;
int j=4;
int Btn0 = 2;
int Btn1 = 3;
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: MARZO 2018 – AGOSTO 2018

int secuencia=1;
int velocidad_1=100;
int cambia_giro=1;
int contador=0;
int guardado=0;
int contadorr=0;
int guardadoi=0;

void setup() {
pinMode(Btn0, INPUT);
pinMode(Btn1, INPUT);
attachInterrupt(0,cambia_secuencia, RISING);
attachInterrupt(1,cambia_giroo, RISING);
Serial.begin(9600);
delay(2000);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);

void loop() {
while(1){
if (secuencia==1 && cambia_giro==1){
contador=0;
digitalWrite(i, HIGH);
delay(velocidad_1);
digitalWrite(i, LOW);
i=i+1;
if (i==14){
i=4;
}
}

if (secuencia==2 && cambia_giro==1){

digitalWrite(i, HIGH);
delay(velocidad_1);
i=i+1;
contador=contador+1;
if (i==14){
i=4;
}
if (contador==10){
guardado=i;
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: MARZO 2018 – AGOSTO 2018

contador=0;
i=14;
while(i>=4){
digitalWrite(i, LOW);
i=i-1;
}
i = guardado;
}
}

if (secuencia==1 && cambia_giro==2 ){


digitalWrite(i, HIGH);
delay(velocidad_1);
digitalWrite(i, LOW);
i=i-1;
if (i==3){
i=13;
}
}
if (secuencia==2 && cambia_giro==2 ){
digitalWrite(i, HIGH);
delay(velocidad_1);
i=i-1;
contadorr=contadorr + 1;
if (i==3){
i=13;
}

if (contadorr==10){
contadorr=0;
k=13;
i=guardadoi;
while(k>=4){

digitalWrite(k, LOW);
k=k-1;
}
delay(velocidad_1);
}
}
}

}
void cambia_secuencia(){
if (secuencia==1){
secuencia=2;
guardadoi=i;

}
else secuencia=1;{
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: MARZO 2018 – AGOSTO 2018

for (j=4;j<14;j++)
{
digitalWrite(j, LOW);
}
}

void cambia_giroo(){
if (cambia_giro==1){
cambia_giro=2; }
else
cambia_giro =1;
}

2.7 Resultados y Discusión


Los resultados que se obtendrán serán el manejo el Arduino en su correcto
funcionamiento, en la parte electrónica el efecto de luz provocado por los diodos
Leds y la pulsación que causara el cambio tanto en el tiempo como en la
velocidad de transmisión de datos hacia la placa desde su respectivo arduino.

2.8 Conclusiones

• Conocer el funcionamiento y utilizar una tarjeta controladora ARDUINO.


• Aprender a utilizar los diagramas de flujo al realizar tareas de programación.
•Mostrar las acciones básicas que pueden realizarse con un control: accionamiento
de diodos luminiscentes Leds, RELOJ, CONTROL DE MOTOR.

2.9 Referencias bibliográficas

https://www.youtube.com/watch?v=6sioHzfCs6s

2.10 Fotografías y gráficos


UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: MARZO 2018 – AGOSTO 2018