domingo, 18 de agosto de 2019

Aporte III Parcial I Quimestre: Prototipo Simon Dice

Unidad Educativa Particular Politécnico
Informática
2do "A" Oxford - III Parcial I Quimestre
Estefano Viteri - Miguel Rodríguez 
Aporte III Parcial I Quimestre: Prototipo Simon Dice

Materiales de trabajo:

  • 1 protoboard
  • 1 arduino
  • 1 potenciómetro 1k o 10k ohmios
  • 1 display lcd
  • 4 pulsadores
  • 4 leds diferente color
  • 5 resistencias 220 (rojo rojo café) o 330 ohmios
  • 4 resistencias 1k ohmio (café negro rojo)
  • Cables macho - macho y macho -hembra

Desarrollo de la actividad:

     Haciendo empleo de los materiales mencionados en la parte superior se inició la realización del prototipo del juego 'Simón Dice' mediante la programación y conexión de la placa Arduino UNO de tal forma que controlando los componentes de LEDs, botoneras y la pantalla LCD, se logre asemejar el uso y juego del clásico 'Simón Dice' del cual con anterioridad se habían hecho múltiples indagaciones respecto al diseño y ejecución de la producción del juego para lo cual el proyecto detallado en la presente entrada de blog es el proceso de realización del prototipo del juego 'Simón Dice'.

     El juego 'Simón Dice' es uno de memoria guiándose por las luces y botones del juego para lo cual en este caso se utilizarían botoneras, LEDs y la pantalla LCD para llevar a la realidad el juego. A partir de esto se tomó como guía la siguiente disposición o circuito electrónico:

     Haciendo las respectivas modificaciones al circuito y a la programación se obtuvieron los siguientes resultados:

#include <LiquidCrystal.h>      // incluir la libreria

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int led1 = 8;
int led2 = 10;
int led3 = 13;
int led4 = 9;

int pulsador1 = A0;
int pulsador2 = 1;
int pulsador3 = 6;
int pulsador4 = 7;

int datoPulsador1;
int datoPulsador2;
int datoPulsador3;
int datoPulsador4;

byte icono_1[8] = 
{
  B11000,
  B11000,
  B01100,
  B01100,
  B00110,
  B00110,
  B00011,
  B00011
};

byte icono_2[8] = 
{
  B00011,
  B00011,
  B00110,
  B00110,
  B01100,
  B01100,
  B11000,
  B11000
};

byte icono_3[8] = 
{
  B00011,
  B00011,
  B00110,
  B00110,
  B01100,
  B01100,
  B11000,
  B11000
};

byte icono_4[8] = 
{
  B11000,
  B11000,
  B01100,
  B01100,
  B00110,
  B00110,
  B00011,
  B00011
};

void setup()
{
  lcd.begin(16, 2);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  
  pinMode(pulsador1, INPUT);
  pinMode(pulsador2, INPUT);
  pinMode(pulsador3, INPUT);
  pinMode(pulsador4, INPUT);
  
  lcd.print("   Bienvenido   ");
  delay(1000);
  lcd.clear();
  lcd.createChar(1,icono_1);
  lcd.createChar(2,icono_2);
  lcd.createChar(3,icono_3);
  lcd.createChar(4,icono_4);
  
  lcd.setCursor(7, 0);
  lcd.write(1);
  lcd.write(2);
  lcd.setCursor(7, 1);
  lcd.write(3);
  lcd.write(4);
  
  digitalWrite(led1, HIGH);
  delay(250);
  digitalWrite(led1, LOW);
  delay(250);
  digitalWrite(led2, HIGH);
  delay(250);
  digitalWrite(led2, LOW);
  delay(250);
  digitalWrite(led3, HIGH);
  delay(250);
  digitalWrite(led3, LOW);
  delay(250);
  digitalWrite(led4, HIGH);
  delay(250);
  digitalWrite(led4, LOW);
  delay(250);
  digitalWrite(led3, HIGH);
  delay(250);
  digitalWrite(led3, LOW);
  delay(250);
  digitalWrite(led2, HIGH);
  delay(250);
  digitalWrite(led2, LOW);
  delay(250);
  digitalWrite(led1, HIGH);
  delay(250);
  digitalWrite(led1, LOW);
  delay(250);
}

void loop() {
  lcd.clear();
  datoPulsador1 = analogRead(pulsador1);
  datoPulsador2 = digitalRead(pulsador2);
  datoPulsador3 = digitalRead(pulsador3);
  datoPulsador4 = digitalRead(pulsador4);
  
  if (datoPulsador1 > 1000) {
    digitalWrite(led1, HIGH);
    lcd.print("Led Rojo");
    delay(200);
    digitalWrite(led1, LOW);
  }
  
  if (datoPulsador2 == HIGH) {
    digitalWrite(led2, HIGH);
    lcd.print("Led Verde");
    delay(200);
    digitalWrite(led2, LOW);
  }
  
  if (datoPulsador3 == HIGH) {
    digitalWrite(led3, HIGH);
    lcd.print("Led Blanco");
    delay(200);
    digitalWrite(led3, LOW);
  }
  
  if (datoPulsador4 == HIGH) {
    digitalWrite(led4, HIGH);
    lcd.print("Led Azul");
    delay(200);
    digitalWrite(led4, LOW);
  }
}
Vídeo demostrando el funcionamiento del prototipo llevado a cabo.


REFLEXIÓN: ¿QUÉ DIFICULTADES TUVO? Y ¿CÓMO LOGRO SUPERARLA? Y CONCLUSIÓN DE COMO FUNCIONA EL COMPONENTE TRABAJADO. 

       La principal dificultad que encontramos al realizar el proyecto fue que al principio no logramos conseguir que funcione correctamente el LCD el cual debía mostrar una frase de bienvenida, luego un icono y finalmente mostrar el con palabras el color de LED que estuviera siendo presionado o activado. Algo que ayudó significativamente a la solución de los problemas fue la eliminación de cables que no eran realmente necesarios, formando un circuito más limpio y ordenado del cual pudimos identificar los problemas y realizar los cambios pertinentes a las conexiones y a la programación. Revisando minuciosamente cada conexión y componente del programa del proyecto, se consiguió llevar a cabo satisfactoriamente el prototipo del 'Simón Dice'. 




No hay comentarios:

Publicar un comentario