martes, 30 de julio de 2019

PARCIAL 3, PRÁCTICA INDIVIDUAL #1: ARDUINO + DISPLAY LCD

PRÁCTICA INDIVIDUAL #1: ARDUINO + DISPLAY LC

En mi caso los únicos materiales que utiliza fueron
  • 1 DISPLAY LCD
  • 1 ARDUINO
PROCEDIMIENTO
Por suerte mía, compre un LCD que solo se conecta directamente al arduino, lo único que hice fue conectar correctamente el LCD al arduino donde debe de ir. Luego utilice los códigos que el mister subido al moodle que son estos; 





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

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// caracteres para formar SUPERMAN
byte S_UL[8] = 
{
  B00000,
  B00011,
  B00111,
  B01110,
  B11101,
  B11001,
  B11101,
  B01111
};
byte S_ULM[8] =
{
  B00000,
  B11111,
  B11111,
  B11000,
  B10000,
  B10000,
  B11111,
  B11111
};
byte S_URM[8] =
{
  B00000,
  B11111,
  B11111,
  B00110,
  B00011,
  B00000,
  B11111,
  B11111
};
byte S_UR[8] =
{
  B00000,
  B11000,
  B11110,
  B11110,
  B10111,
  B00011,
  B00111,
  B10110
};
byte S_DL[8] =
{
  B00111,
  B00011,
  B00001,
  B00000,
  B00000,
  B00000,
  B00000,
  B00000
};
byte S_DLM[8] =
{
  B00000,
  B10110,
  B11111,
  B11100,
  B01110,
  B00111,
  B00011,
  B00001
};
byte S_DRM[8] =
{
  B00001,
  B00011,
  B11111,
  B00111,
  B01110,
  B11100,
  B11000,
  B10000
};
byte S_DR[8] =
{
  B11100,
  B11000,
  B10000,
  B00000,
  B00000,
  B00000,
  B00000,
  B00000
};


// caracteres para formar BATMAN1
byte B1_UL[8] = 
{
  B00000,
  B00000,
  B00000,
  B11111,
  B11111,
  B01111,
  B00111,
  B00111
};
byte B1_ULM[8] =
{
  B00000,
  B00000,
  B00000,
  B10000,
  B10010,
  B11011,
  B11111,
  B11111
};
byte B1_URM[8] =
{
  B00000,
  B00000,
  B00000,
  B00001,
  B01001,
  B11011,
  B11111,
  B11111
};
byte B1_UR[8] =
{
  B00000,
  B00000,
  B00000,
  B11111,
  B11111,
  B11110,
  B11100,
  B11100
};
byte B1_DL[8] =
{
  B00000,
  B00000,
  B00000,
  B00011,
  B00001,
  B00000,
  B00000,
  B00000
};
byte B1_DLM[8] =
{
  B01111,
  B00011,
  B00001,
  B00000,
  B00000,
  B00000,
  B00000,
  B00000
};
byte B1_DRM[8] =
{
  B11110,
  B11000,
  B10000,
  B00000,
  B00000,
  B0000,
  B00000,
  B00000
};
byte B1_DR[8] =
{
  B00000,
  B00000,
  B00000,
  B11000,
  B10000,
  B00000,
  B00000,
  B00000
};


// caracteres para formar BATMAN
byte B_UL[8] = 
{
  B00000,
  B00000,
  B00000,
  B00001,
  B00110,
  B01110,
  B11111,
  B11111
};
byte B_ULM[8] =
{
  B00000,
  B00000,
  B00000,
  B00010,
  B00011,
  B00011,
  B10111,
  B11111
};
byte B_URM[8] =
{
  B00000,
  B00000,
  B00000,
  B01000,
  B11000,
  B11000,
  B11101,
  B11111
};
byte B_UR[8] =
{
  B00000,
  B00000,
  B00000,
  B10000,
  B01100,
  B01110,
  B11111,
  B11111
};
byte B_DL[8] =
{
  B11111,
  B11111,
  B01110,
  B00100,
  B00010,
  B00000,
  B00000,
  B00000
};
byte B_DLM[8] =
{
  B11111,
  B11111,
  B10011,
  B00001,
  B00000,
  B00000,
  B00000,
  B00000
};
byte B_DRM[8] =
{
  B11111,
  B11111,
  B11001,
  B10000,
  B00000,
  B00000,
  B00000,
  B00000
};
byte B_DR[8] =
{
  B11111,
  B11111,
  B01110,
  B00100,
  B01000,
  B00000,
  B00000,
  B00000
};


// caracteres para formar ESPADAS
byte E_UL[8] = 
{
  B00011,
  B00010,
  B00010,
  B00001,
  B00000,
  B00000,
  B00000,
  B01100
};
byte E_ULM[8] =
{
  B10000,
  B01000,
  B00100,
  B00010,
  B10001,
  B01000,
  B00100,
  B01010
};
byte E_URM[8] =
{
  B00011,
  B00100,
  B01000,
  B10001,
  B00010,
  B10100,
  B01000,
  B00100
};
byte E_UR[8] =
{
  B10000,
  B10000,
  B10000,
  B00000,
  B00000,
  B00000,
  B00000,
  B01100
};
byte E_DL[8] =
{
  B01110,
  B00111,
  B00111,
  B00011,
  B00111,
  B01110,
  B11100,
  B11000
};
byte E_DLM[8] =
{
  B10001,
  B00010,
  B00100,
  B11000,
  B11100,
  B11110,
  B00110,
  B00000
};
byte E_DRM[8] =
{
  B00010,
  B10001,
  B01001,
  B00111,
  B01111,
  B11110,
  B11000,
  B00000
};
byte E_DR[8] =
{
  B11100,
  B11000,
  B11000,
  B10000,
  B11000,
  B11100,
  B01110,
  B00110
};


// caracteres para formar LOGO DC
byte L_UL[8] = 
{
  B00000,
  B00000,
  B11111,
  B01111,
  B00110,
  B00111,
  B00111,
  B00111
};
byte L_ULM[8] =
{
  B00000,
  B00000,
  B11000,
  B11100,
  B01110,
  B00110,
  B00110,
  B00110
};
byte L_URM[8] =
{
  B00000,
  B00000,
  B00111,
  B01111,
  B11000,
  B11100,
  B11100,
  B11100
};
byte L_UR[8] =
{
  B00000,
  B00000,
  B01100,
  B11100,
  B11000,
  B11000,
  B00000,
  B00000
};
byte L_DL[8] =
{
  B00111,
  B00111,
  B00111,
  B00111,
  B01111,
  B00000,
  B00000,
  B00000
};
byte L_DLM[8] =
{
  B00110,
  B00110,
  B01110,
  B11100,
  B11000,
  B00000,
  B00000,
  B00000
};
byte L_DRM[8] =
{
  B11100,
  B11100,
  B11110,
  B01111,
  B00111,
  B00000,
  B00000,
  B00000
};
byte L_DR[8] =
{
  B00000,
  B00000,
  B11000,
  B11000,
  B11000,
  B00000,
  B00000,
  B00000
};

void setup()
  lcd.begin(0, 2);     
}

void BATMAN()        // usa los caracteres para crear BATMAN
  lcd.createChar(1,B_UL);
  lcd.createChar(2,B_ULM);
  lcd.createChar(3,B_URM);
  lcd.createChar(4,B_UR);
  lcd.createChar(5,B_DL);
  lcd.createChar(6,B_DLM);
  lcd.createChar(7,B_DRM);
  lcd.createChar(8,B_DR);
  
  lcd.setCursor(10, 0); 
  lcd.write(1);  
  lcd.write(2); 
  lcd.write(3);  
  lcd.write(4); 
  lcd.setCursor(10, 1);
  lcd.write(5);  
  lcd.write(6);
  lcd.write(7);  
  lcd.write(8);  
  
  lcd.setCursor(2, 1);
  lcd.print("BATMAN"); 
}


void BATMAN1()        // usa los caracteres para crear BATMAN1
  lcd.createChar(1,B1_UL);
  lcd.createChar(2,B1_ULM);
  lcd.createChar(3,B1_URM);
  lcd.createChar(4,B1_UR);
  lcd.createChar(5,B1_DL);
  lcd.createChar(6,B1_DLM);
  lcd.createChar(7,B1_DRM);
  lcd.createChar(8,B1_DR);
  
  lcd.setCursor(9, 0); 
  lcd.write(5);
  lcd.write(1);  
  lcd.write(2); 
  lcd.write(3);  
  lcd.write(4); 
  lcd.write(8);
  lcd.setCursor(11, 1);  
  lcd.write(6);
  lcd.write(7);   
  
  lcd.setCursor(2, 1);
  lcd.print("BATMAN"); 
}

void SUPERMAN()        // usa los caracteres para crear SUPERMAN
  lcd.createChar(1,S_UL);
  lcd.createChar(2,S_ULM);
  lcd.createChar(3,S_URM);
  lcd.createChar(4,S_UR);
  lcd.createChar(5,S_DL);
  lcd.createChar(6,S_DLM);
  lcd.createChar(7,S_DRM);
  lcd.createChar(8,S_DR);
  
  lcd.setCursor(1, 0);  
  lcd.write(1);  
  lcd.write(2); 
  lcd.write(3);  
  lcd.write(4); 
  lcd.setCursor(1, 1);
  lcd.write(5);  
  lcd.write(6);
  lcd.write(7);  
  lcd.write(8);  
  
  lcd.setCursor(7, 1);
  lcd.print("SUPERMAN"); 
}

void ESPADAS()        // usa los caracteres para crear ESPADAS
  lcd.createChar(1,E_UL);
  lcd.createChar(2,E_ULM);
  lcd.createChar(3,E_URM);
  lcd.createChar(4,E_UR);
  lcd.createChar(5,E_DL);
  lcd.createChar(6,E_DLM);
  lcd.createChar(7,E_DRM);
  lcd.createChar(8,E_DR);
  
  lcd.setCursor(6, 0);  
  lcd.write(1);  
  lcd.write(2); 
  lcd.write(3);  
  lcd.write(4); 
  lcd.setCursor(6, 1);
  lcd.write(5);  
  lcd.write(6);
  lcd.write(7);  
  lcd.write(8);  
}

void DC_LOGO()        // usa los caracteres para crear DC_LOGO
  lcd.createChar(1,L_UL);
  lcd.createChar(2,L_ULM);
  lcd.createChar(3,L_URM);
  lcd.createChar(4,L_UR);
  lcd.createChar(5,L_DL);
  lcd.createChar(6,L_DLM);
  lcd.createChar(7,L_DRM);
  lcd.createChar(8,L_DR);
  
  lcd.setCursor(2, 0);  
  lcd.write(1);  
  lcd.write(2); 
  lcd.write(3);  
  lcd.write(4); 
  lcd.setCursor(2, 1);
  lcd.write(5);  
  lcd.write(6);
  lcd.write(7);  
  lcd.write(8);  
  
  lcd.setCursor(10,0);
  lcd.print("DC"); 
  lcd.setCursor(8, 1);
  lcd.print("COMICS"); 
}

void loop()
{
  DC_LOGO();
  delay(5000);
  lcd.clear();
  
  SUPERMAN();
  delay(5000);
  lcd.clear();
  
  BATMAN();
  delay(5000);
  lcd.clear();
  
  ESPADAS();
  delay(3000);
  lcd.clear();
  
  SUPERMAN();
  delay(5000);
  lcd.clear();
  
  BATMAN1();
  delay(5000);
  lcd.clear();
}

 REFLEXIÓN: ¿QUÉ DIFICULTADES TUVO? Y ¿CÓMO LOGRO SUPERARLA? Y CONCLUSIÓN DE COMO FUNCIONA EL COMPONENTE TRABAJADO. 
No tuve ninguna dificulta al momento de realizar dicha conexion, quizás se podria considerar una dificultad que tuve que cambiar el LiquidCrystal. h de unos numero a otros, dicho numeros son
 8, 9, 4, 5, 6, 7 . Logre hacer la conexion con bastante facilidad gracias a los codigos que el mister publico en moodle y gracias al LCD diferente que tengo también supe como acoplar bien el LCD al arduino. El LCD lo que hace es por medio de la pantalla emitir luz con una frase, palabra etc. Colocando de forma correcta todo te saldrá de una forma correcta.











miércoles, 17 de julio de 2019

Sumativa del II Parcial


UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”


PRIMERO AÑO DE BACHILLERATO – PARALELO B

APORTE P2 Q1 –LEDS EN SECUENCIA





Nombre: Johnny Velasco                                     Fecha: 18/07/19

Dificultades:
Ninguna tuve una completa fluides y control al momento de trabajar y manejar los componentes electrónicos.


Procedimiento:

Las semanas del 8-12 y del 15-18 de julio, trabajamos en el aporte de informática. Con los conocimientos adquiridos durante las clases, nos juntamos a un compañero de aula para realizar el mini proyecto. Consistía en agregarle el circuito realizado en clases anteriores ( el de prender los leds en secuencia con un pulsador, y regular la velocidad con potenciómetros), 2 leds mas y dos secuencias enlazadas a 2 pulsadores. En si en el circuito unicamente se le añadían los componentes respectivos de manera ordenada y coherente. En el código había que añadir las variables a los leds, a los pulsadores, y los valores de los pulsadores. Se defenia los pulsadores como input y los leds como output. Se usaban los comandados if para ir definiendo que pasaría si se pulsa un pulsador y otro no, cambiando las secuencias de encendido y apagado. En el video se ve un poco como era el código solo con 2 pulsadores y 2 secuencias respectivamente. 

Código que empleamos en transcurso de la evaluación.

//Variables Globales
//Pines Digitales
//Leds
int led1 = 1;
int led2 = 2;
int led3 = 3;
int led4 = 4;
int led5 = 5;
int led6 = 6;
int led7 = 7;
int led8 = 8;
int led9 = 11;
int led10 = 12;

//Pulsadores
int pulsador1 = 9;
int pulsador2 = 10;
int pulsador3 = 13;

//Pines Analógicos
//Potenciómetro y Foto Celda
int potenciometro = A0;
int foto_celda = A1;

//Variable donde se almacenará el valor sensado del potenciometro
int valorPotenciometro;
int valorFotoCelda;
int valorPulsador1;
int valorPulsador2;
int valorPulsador3;

//Para secuencia o barrido de los leds
int secuencia = 0;

void setup() {
  //pongo los leds como salida
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);
  pinMode(led9, OUTPUT);
  pinMode(led10,OUTPUT);

  //pongo los pulsadores en entrada
  pinMode(pulsador1, INPUT);
  pinMode(pulsador2, INPUT);
  pinMode(pulsador3, INPUT);
}

void loop() {
  //realiza la lectura del valor del potenciometro y lo almacena en la variable
  valorPotenciometro = analogRead(potenciometro);
  valorPulsador1 = digitalRead(pulsador1);
  valorPulsador2 = digitalRead(pulsador2);
  valorPulsador3 = digitalRead(pulsador3);

  //Encendemos o apagamos el pin del LED según convenga
  if (valorPulsador1 == HIGH) {
      secuencia = 1;
  } else {
  if (valorPulsador2 == HIGH) {
    secuencia = 2;
  } else {
    if (valorPulsador3 == HIGH){
      secuencia = 3;
    }
  }
  }



  if (secuencia == 0) {
    digitalWrite(led1, HIGH);
    digitalWrite(led2, HIGH);
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
    digitalWrite(led5, HIGH);
    digitalWrite(led6, HIGH);
    digitalWrite(led7, HIGH);
    digitalWrite(led8, HIGH);
    digitalWrite(led9 ,HIGH);
    digitalWrite(led10 ,HIGH);
   
    //espero tanto mili segundos segun el potenciometro marque
    delay(valorPotenciometro * 2);
   
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    digitalWrite(led10, LOW);

    //espero tanto mili segundos segun el potenciometro marque
    delay(valorPotenciometro * 2);
  } else {
    if (secuencia == 1) {
      digitalWrite(led1, HIGH);
      digitalWrite(led2, LOW);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, LOW);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, LOW);
      digitalWrite(led7, HIGH);
      digitalWrite(led8, LOW);
      digitalWrite(led9, HIGH);
      digitalWrite(led10, LOW);
   
      //espero tanto mili segundos segun el potenciometro marque
      delay(valorPotenciometro * 2);
     
      digitalWrite(led1, LOW);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, LOW);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, LOW);
      digitalWrite(led6, HIGH);
      digitalWrite(led7, LOW);
      digitalWrite(led8, HIGH);
      digitalWrite(led9, LOW);
      digitalWrite(led10, HIGH);
   
      //espero tanto mili segundos segun el potenciometro marque
      delay(valorPotenciometro * 2);
    } else {
      if (secuencia == 2) {
      digitalWrite(led1, LOW);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, LOW);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, LOW);
      digitalWrite(led6, HIGH);
      digitalWrite(led7, LOW);
      digitalWrite(led8, HIGH);
      digitalWrite(led9, LOW);
      digitalWrite(led10, HIGH);
   
      //espero tanto mili segundos segun el potenciometro marque
      delay(valorPotenciometro * 2);
      digitalWrite(led1, HIGH);
      digitalWrite(led2, LOW);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, LOW);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, LOW);
      digitalWrite(led7, HIGH);
      digitalWrite(led8, LOW);
      digitalWrite(led9, HIGH);
      digitalWrite(led10, LOW);
   
      //espero tanto mili segundos segun el potenciometro marque
      delay(valorPotenciometro * 2);
        } else {
          if (secuencia == 3){
      digitalWrite(led1, LOW);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, LOW);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, HIGH);
      digitalWrite(led8, LOW);
      digitalWrite(led9, HIGH);
      digitalWrite(led10, LOW);
   
      //espero tanto mili segundos segun el potenciometro marque
      delay(valorPotenciometro * 2);
      digitalWrite(led1, HIGH);
      digitalWrite(led2, LOW);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, LOW);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, HIGH);
      digitalWrite(led7, LOW);
      digitalWrite(led8, HIGH);
      digitalWrite(led9, LOW);
      digitalWrite(led10, HIGH);
   
      //espero tanto mili segundos segun el potenciometro marque
      delay(valorPotenciometro * 2);
           
          }
         
      }
    }
  }
}

Funcionamiento: