viernes, 15 de septiembre de 2017

En la clase del día viernes 8 de septiembre, llevamos a cabo la continuación del proyecto quimestral del examen del primer quimestre. En esta jornada, volvimos a revisar el proyecto ya que anteriormente habíamos dejado pasar el hecho de que tenía pequeños errores en el display de 7 segmentos y los arreglamos  a través de la respectiva programación en el programa de Arduino final que nos había dado la profesora anterior. Nuestra siguiente tarea fue añadir otro display de 7 segmentos al proyecto, lo empezamos desde el pin 28, al percatarnos que en el Arduino mega los pines de 3v y 5v ya estaban ocupados en el joystick y en el display de 7 segmentos. Hicimos la misma conexión al igual que con el anterior, sin embargo, nos percatamos de que no funcionaba correctamente y le indicamos a la miss que no nos había salido la práctica de este día y ella nos indicó que no había problema ya que en la siguiente clase continuaríamos.
Considero que debo adquirir mayor práctica y agilidad en la manipulación del dislpay de 7 segmentos ya que no entiendo correctamente o en su totalidad el funcionamiento o programación de este.

Esta práctica aprendí que la cantidad de display de 7 segmentos puede ser colocado en el protoboard es más de uno y que puedo lograr que marque el número de comidas que la serpiente del juego ingiere. Además, puedo lograr que otro display también marque el número de vidas que la serpiente va perdiendo.


Código utilizado:
 digitalWrite(posY, HIGH);

  digitalWrite(comidaX, HIGH);
  digitalWrite(comidaY, LOW);
  digitalWrite(comidaX, LOW);
  digitalWrite(comidaY, HIGH);

  if(millis() >= time+150){
    valor1 = analogRead(ladox);
    valor2 = analogRead(ladoy);
    time = millis();
    if (valor1 > 700) {
      direccion = 0;
    } else {
      if (valor1 < 400)
        direccion = 1;
    }
  
    if (valor2 > 700) {
      direccion = 2;
    } else {
      if (valor2 < 400)
        direccion = 3;
    }
    
    if (direccion == 0) {
      if (posX == 9)
        posX = 2;
      else
        posX++;//posX = posX + 1;
    } else {
      if (direccion == 1) {
        if (posX == 2)
          posX = 9;
        else
          posX--;//posX = posX - 1;
      }
    }
  
    if (direccion == 2) {
      if (posY == 17)
        posY = 10;
      else
        posY++;
    } else {
      if (direccion == 3) {
        if (posY == 10)
          posY = 17;
        else
          posY--;
      }
    }
  
    if (comido == true) {
      punto++;
      generarComida();
      
    }
    //prendo el led comida
    //digitalWrite(comidaX, HIGH);
    //digitalWrite(comidaY, LOW);
    switch (punto) {
      case 0:
        display (0,0,0,0,0,0,1);//0
        break;
      case 1:
        display (1,0,0,1,1,1,1);//1
        break;
      case 2:
        display (0,0,1,0,0,1,0);//2
        break;
      case 3:
        display (0,0,0,0,1,1,0);//3
        break;
      case 4:
        display (1,0,0,1,1,0,0);//4
        break;
       case 5:
         display (0,1,0,0,1,0,0);//5
        break;
        case 6:
         display (0,1,0,0,0,0,0);//6
        break;
        case 7:
         display (0,0,0,1,1,1,1);//7
        break;
        case 8:
         display (0,0,0,0,0,0,0);//8
        break;
        case 9:
         display (0,0,0,1,1,0,0);//9
        break;
        
    }
    if (posX == comidaX && posY == comidaY) {
      comido = true;
    }
    
  }
}

void generarComida() {
  do {
    comidaX = random(2, 9);
  } while (comidaX == posX);

  do {
    comidaY = random(10, 17);
  } while (comidaY == posY);

  comido = false;
}

viernes, 2 de junio de 2017

El trabajo grupal constaba de conectar los pines del joystick con los pines del arduino UNO.
Materiales utilizados:
-Arduino UNO
-Joystick
-Cables macho-macho

Posterior a esto, conectamos el Arduino a la computadora y copilamos la programación proveida por el profesor en moodle y la subimos al programa Arduino UNO.

Joystick izquierda--- x=0 y=520
Joystick derecha ----- x=1022 y=517
Joystick abajo - y=0 x=523
Joystick arriba ----- y= 1023 x= 523
Joystick en el centro------y=523 x=523
Joystick (múltiples vueltas al mango) ------x=525 y=365    x=1023 y=1025

En esta práctica notamos que dependiendo de la manipulación del mango del joystick, sus componentes toman diferentes valores debido a la programación del ARduino UNO.

viernes, 12 de mayo de 2017

La clase pasada realizamos una actividad grupal llamada "Building Blocks" que se trataba de dibujar una figura sencilla y escribir en una hoja aparte las instrucciones de cómo dibujar la misma. Posterior a eso, la miss nos entregaba las instrucciones de otro grupo para hacer el dibujo a base de ellas. A mí grupo se le hizo un poco difícil ya que no especificaban bien desde donde hasta donde empezaba a dibujar, sin embargo, creo que mi pareja y yo hicimos instrucciones claras ya que al grupo que le tocó lo nuestro pudo dibujarlo muy rápido.
Considero que lo que aprendimos de esta clase es que programar no es fácil aveces, ya que se basa en una serie de instrucciones (o algoritmos) tal como nosotros lo hicimos, y que a lo largo de este año debemos ir mejorando estás destrezas.