domingo, 11 de agosto de 2019

Dibujar Ícono

UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”

PRIMERO AÑO DE BACHILLERATO – PARALELO B

APORTE P3 Q1 –PRÁCTICA INDIVIDUAL #1: ARDUINO + DISPLAY LCD (continuación)

Nombre: Dylan Pesantes                                          Fecha: 08/07/19

MATERIALES DE TRABAJO:
  • 1 PROTOBOARD
  • 1 DISPLAY LCD
  • 1 ARDUINO
  • 1 POTENCIÓMETRO
  • 1 RESISTENCIA 220 (ROJO ROJO CAFÉ)
  • CABLES MACHO - MACHO O MACHO - HEMBRA

Apuntes:
La pantalla lcd tiene 16 caracteres de fila por 2 columnas. Cada carácter tiene 5 x 8 pixeles los cuales se los pueden configurar por medio de binario.
Por medio de excel, utilizando las celdas se puede ir haciendo los dibujos colocando un rectángulo 5x8 y pintando las celdas correspondientes para hacer un dibujo. Aquellas sin pintar seran 0 y las pintadas serán 1.

Procedimiento:
En la clase, aprendimos a como hacer los dibujos que se van alternando dentro de una pantalla lcd 16x2. Tomamos en cuenta que cada pixel soporta hasta 8bytes y son 5x8 caracteres. En mi caso decidí hacer la planta de fuego del Mario para poder demostrar los conocimientos aprendidos. En un archivo en excel procedí a crear un formato para su futura programación.


martes, 30 de julio de 2019

PRÁCTICA INDIVIDUAL #1: ARDUINO + DISPLAY LCD

UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”

PRIMERO AÑO DE BACHILLERATO – PARALELO B

APORTE P3 Q1 –PRÁCTICA INDIVIDUAL #1: ARDUINO + DISPLAY LCD

Nombre: Dylan Pesantes                                          Fecha: 30/07/19

MATERIALES DE TRABAJO:
  • 1 PROTOBOARD
  • 1 DISPLAY LCD
  • 1 ARDUINO
  • 1 POTENCIÓMETRO
  • 1 RESISTENCIA 220 (ROJO ROJO CAFÉ)
  • CABLES MACHO - MACHO O MACHO - HEMBRA

Procedimiento:
En mi caso utilizando una placa lcd Key Pad shield, conecte dicha placa al arduino para mostrar las imágenes que se habian escrito en el código. El procedimiento sin utilizar placa es de conectar el lcd y el potenciómetro al arduino segun se nos muestra en la imagen de moodle. El potenciómetro le sirve a lcd para encontrar el contraste adecuado del lcd.  Las imágenes que se muestran en el lcd son el símbolo de batman, logo de dc, el símbolo de superman, y unas espadas que se van cambiando cada 5 segundos. 

lunes, 22 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: Dylan Pesantes                                          Fecha: 18/07/19
 

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. 

Codigo: 
//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);
           
          }
         
      }
    }
  }
}

viernes, 5 de julio de 2019

Leds en Patron: Potenciometro+Boton+Arduino

UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”
PRIMER AÑO DE BACHILLERATO – PARALELO B
PRÁCTICA INDIVIDUAL #2:Mini Proyecto 2 Estudiantes: Controlando Luces con Arduino
Nombre: Dylan Pesantes Maroto                                             Fecha: 05/07/19


Procedimiento:
En la semana, vimos como programar utilizando condicionales (véase los apuntes). De esta manera, en arduino creamos un código en donde ordenábamos que cuando se aplastase el botón 1, los leds que antes parpadeaban todos juntos, ahora intermitieran saltados. Se agrego unas variable mas al arduino que seria la de pulsador1, valorpulsador1 y secuencia =0. En void loop, se puso que al aplastar el pulsador, el valor de secuencia sea = 1.Con esto, utilizando condicionales complejas, se pudo escribir el código tal que ocurra lo que deseamos.







 Apuntes de clase:

 Lenguaje c++:
Variables instrucciones funciones
Todo esto se llama código fuente(lenguaje de alto nivel: mas cercano al lenguaje humano)
    Esto pasa por el botón de verificar(compilar)
         Se crea un código ejecutable(lenguaje de bajo nivel:baja a un lenguaje computacional o binario)


//variable global: son variables pueden ser accsedidas desde cualquier lugar
//tipo de la variable nombredelavariable [=valor];

// funciones
  void setup(){}    :Para configuracion
       Se colocan variables locales; son temporales.
  void loop () {}    :Acciones infinitas
      Se colocan variables locales, son temporales, aunque se crean y se destuyen a cada momento.

Estructura condicional:  

Simple:  La condicion puede ser verdadero o falso. El doble igual (==) indica pregunta. Uno solo  indica asignacion.
if( condicion) {
inst1;        En este caso si es verdaero, se hacen las ig. instrucciones.
inst2;        Si es falso, salta.
}
Ejemplo:
int variable =3;
if(variable ==3){
   variable =2
}
if (variable ==2) {
  variable=5;
}

Compuesto:
if (condicion){
 inst1;
 inst2;
}else{
 inst3;
 inst4;

Ejemplo:
int x=5;
int y=3;
x= x+y;
if( x>8){ //false
y=x+1;
}else{
y=x-2;
{
if (y==6){ //true
x= x+1; //x=9
}
// x=9 y =6

domingo, 30 de junio de 2019

Mini Proyecto 2 Estudiantes: Controlando Luces con Arduino



UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”
PRIMER AÑO DE BACHILLERATO – PARALELO B
PRÁCTICA INDIVIDUAL #2:Mini Proyecto 2 Estudiantes: Controlando Luces con Arduino
Nombre: Dylan Pesantes Maroto                                             Fecha: 25/06/19

MATERIALES DE TRABAJO:
  • 1 PROTOBOARD
  • 1 ARDUINO
  • 1 POTENCIÓMETRO
  • 1 FOTO RESISTOR
  • 2 PULSADORES
  • 8 LEDS
  • 8 RESISTENCIA 220 O 330 OHMIOS
  • CABLES MACHO - MACHO

Procedimiento:
Siguiendo la imagen predispuesta en moodle, en una breadboard larga se conectaron 8 leds con sus respectivas resistencias. A los las patitas catodas del led, se las fue conectando en los pines digitales de la placa arduino (1,2,3,4,5,6,7,8).  Al lado derecho de los leds, se adirió al circuito 2 pulsadores que su positivo serian puestos en los pines digitales 9 y 10 del arduino. La función que tendrán dichos pulsadores sera la de al aplastar el pulsador 1, los leds se prenderán en secuencia hacia el lado derecho, y viceversa con el lado izquierdo.  Aun mas al lado derecho, se encuentra un potenciometro y una foto celda. El potenciometro se conecto su negativo al negativo, la resistencia resultante al pin A0 del arduino, y el positivo al positivo. La función que tiene prevista es de controlar la velocidad con la que la los leds se encenderán, dicho de otro modo, la velocidad del patrón. La foto celda se conecta uno de sus patas a una resistencia y esta al negativo de la protoboard, y la otra pata al A1 del arduino. La función de la foto celda es de al momento de no haber luz, encender los leds, y al presentarse luz, no. 
Código:

El código que se uso esta vez fue el mismo de la clase pasada, sin embargo lo único que cambio dentro fue el hecho de que al haber as leds en el arduino, se tuvo que adherir mas mas variables int de led dentro del código.

sábado, 22 de junio de 2019

PRÁCTICA INDIVIDUAL #2: ARDUINO + LEDS PRENDIDO EN SECUENCIA + POTENCIÓMETRO REGULANDO VELOCIDAD

UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”
PRIMER AÑO DE BACHILLERATO – PARALELO B
PRÁCTICA INDIVIDUAL #2: POTENCIÓMETRO - LEDS EN SECUENCIA - ARDUINO
Nombre: Dylan Pesantes Maroto                                             Fecha: 18/06/19

Materiales:

  • 1 PROTOBOARD  
  • 1 ARDUINO  
  • 1 POTENCIÓMETRO
    4 LEDS 
  • 4 RESISTENCIA 220 O 330 OHMIOS
  • CABLES MACHO - MACHO 
Procedimiento #1: Ensamblaje
Con los materiales listos, conecte los 4 leds en la protoboard de manera que tengan un ligero espacio entre ellos y a su vez se encuentren ordenados horizontalmente. De ahí conecte en los los leds con una resistencia a positivo y de ahí a los pins digitales 1, 2, 3 y 4; y los cátodos de los leds al negativo de la protoboard. El otro componente que fue conectado fue el potenciometro. La terminal 1 va a negativo del proto, el terminal 2 al pin analógico A0, y el terminal 3 a 5v del arduino.


Procedimiento #1: Código
Lo primero que realizamos fue definir nuestras variables. En este caso las variables se las calificaba con int xxxx= pin del arduino que lo que concretamos fueron leds. Cada uno recibía el nombre de led1, led2,led3, y led4; cada uno conectado al pin digital 1,2,3,4 respectivamente. En void setup definí los pines de los leds como salidas, puesto que se les enviara voltaje para que enciendan. En void loop lo que se prosiguió a realizar fue con digital write encender los leds, dejar un delay, y apagar los leds. Al subirlo al arduino todo fue como l código lo indico, en este caso los diodo leds encendían por 1 seg. y se apagan por 1 seg. constantemente.

Procedimiento #1: Complicaciones
Instalado el código en el arduino, los leds empezaron a brillar con 500 mili-segundos encendido y apagado. Una falla que tuve fue que el tercer led de la fila no encendía con la intensidad que debía. Probé  cambiar y los cables y la complicación persistió. Cambie de posición los leds tres y cuatro, el led número cuatro presento en la coneccion del tres sus mismas fallas. En el código, remplace el pin 3 con el 5 y el problema seguía. Le pedí apoyo al profesor y por falta de tiempo, dijo que lo revisaríamos las siguiente semana.

Procedimiento #2: Código con potenciómetro 
El día jueves de la misma semana, el profesor nos brindo el código ya elaborado con ciertos cambios los que fueron explicados en clase. Al código se le añadió en la sección superior una nueva variable que en esta coso seria valor potenciometro el cual se le vincula al pin A0. En void setup con respecto a a nueva variable no incluyo nada, porque los pines analógicos únicamente son de entrada. En void setup previamente se colocaba un delay tomando los segundos como los intervalos en los que se encendían y apagaban los leds. Esta vez el delay se vio afectado por los valores que exportaba el potenciometro al arduino, que serian de 0 a 1023 datos. Al subir el codigo, cuando se subi la resistencia del potenciometro, los leds emitían luz intermitente mas lento, caso contrario ocurrió cuando la resistencia fue nula al intermitir rápidamente. La solución a la complicación del procedimiento numero uno fue resuelta al ver que el componente que se encontraba en mal estado era un cable. Se soluciono cambiando los cables dañados.