BITÁCORA 7 segmentos + leds

TRABAJO EN PAREJAS:

En este día, nos reunimos en el aula de clases para realizar un trabajo en parejas donde se realizará una programación con su debida conexión, donde la función seria encender un display para mostrar los números del 0 al 9 de forma ascendente que vaya cambiando cada segundo, la programación se la hará con estructura switch, en la que cada momento que llegue al numero tres encienda un led amarillo, cuando llegue al 6 un led rojo y cuando llegue al 9 un led azul (no es necesario seguir este mismo patrón de colores, pero de conveniencia deberán variar).

Por ende lo principal que se debe hacer es hacer la debida conexión y de esta forma definir los pines y cual serán sus funciones; de esta forma en la parte de void setup se definen que pines o puertos se van a usar en este caso es del 5 al 11 como pines de salida, el serial begin es para definir a cuanta velocidad se va a a intercambiar la información.. De la siguiente manera:
 
void setup() {
  Serial.begin(9600);
  pinMode(5, OUTPUT);  
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  for (int i = 5; i <= 11; i++) {
    digitalWrite(i,1);  
  }
}

Por otro lado, tenemos la parte donde se definirá puerto se define en el display como pin a, b,…, mi grupo lo definió  de la siguiente forma.







void display (int a, int b, int c, int d, int e, int f, int g) {
  digitalWrite(5,a);   
  digitalWrite(6,b);   
  digitalWrite(7,c);
  digitalWrite(8,d);
  digitalWrite(9,e);
  digitalWrite(10,f);
  digitalWrite(11,g);
}

En esta parte ya se programa el void loop donde se define que numero va a asalir en el display, en este caso 0 es encendido y 1 es apagado, pero en otros casos puede ser al revés, depende si es cátodo o ánodo.

void loop(){
  //       5 6 7 8 9 10 11

   display (0,0,0,0,0,0,1);//0
    delay(1000);
    display (1,1,0,1,0,0,0);//1
  delay(1000);
  display (0,1,1,0,0,1,1);//2
  delay(1000);
   display (0,0,0,1,1,0,0);//3
  delay(1000);
  display (0,0,1,1,0,0,0);//4
  delay(1000);
  display (0,1,1,0,1,0,0);//5
  delay(1000);
  display (0,0,1,0,0,1,0);//6
  delay(1000);
  display (0,1,1,1,1,0,1);//7
  delay(1000);
  display (1,1,0,1,0,0,0);//8
  delay(1000);
  display (1,1,0,1,0,0,0);//9
  delay(1000);
}

En un indicio se nos hizo un poco dificultoso ya que la miss puso en práctica si habíamos o no atendido a sus clases pero lo que me paso a mi es que no recordaba nada y mi error fue no coger apuntes sobre la clase, lo primero que hicimos fue conectar, eso se nos hizo fácil pero en la programación no sabíamos que poner, le pedimos ayuda a la miss y solo nos dijo que teníamos que hacer pero no nos definió que poner y eso nos enredo mas, entre averiguar y todo, llegamos

a una conclusión e hicimos la programación distinta a los demás sin darnos cuenta, pensamos que nos iban a mandar hacer de nuevo todo pero de igual manera era valida hacer ese tipo de programación solo nos faltaba aumentar un poco de detalle más que se nos estaban escapando, por otra parte, tuvimos dificultad al conectar el display de 7 segmentos donde no se prendía un segmento y eso dificulto mucho porque no sabíamos porque sucedía y por eso verificamos toda la programación y estaban intercambiados unos pines, encontrando así el error y el motivo del porque no funcionaba correctamente.

Comentarios