ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PROGRAMA DADO


Enviado por   •  1 de Septiembre de 2021  •  Tarea  •  448 Palabras (2 Páginas)  •  44 Visitas

Página 1 de 2

Alemán Vega David Isaac                7AM4

CÓDIGO EJEMPLO DE DADO

//Pines de Arduino

#define a 6

#define b 7

#define c 8

#define d 3

#define e 2

#define f 5

#define g 4

#define dp 9

#define boton 12

//Tiempo de vizualizacion

#define tiempo 3000

//Estados logicos de ON/OFF para display de anodo comun

#define H 0

#define L 1

//Arreglo para formar cada numero

byte digitos[7][7] = {

  {L, L, L, L, L, L, L}, //OFF

  {L, H, H, L, L, L, L}, //1

  {H, H, L, H, H, L, H}, //2

  {H, H, H, H, L, L, H}, //3

  {L, H, H, L, L, H, H}, //4

  {H, L, H, H, L, H, H}, //5

  {H, L, H, H, H, H, H}  //6

};

//Arreglo de conexion de pines

uint8_t pin[7] = {a, b, c, d, e, f, g};

void setup() {

  //Configuracion de pines

  pinMode(a, OUTPUT);

  pinMode(b, OUTPUT);

  pinMode(c, OUTPUT);

  pinMode(d, OUTPUT);

  pinMode(e, OUTPUT);

  pinMode(f, OUTPUT);

  pinMode(g, OUTPUT);

  pinMode(dp, OUTPUT);

  pinMode (boton, INPUT_PULLUP);

  //Prueba de conexion y funcionamiento

  for (uint8_t v = 1; v < 7; v++) {

    driver(v, 500);

  }

  animacion();

}

//Esta funcion realiza una animacion

void animacion() {

  //Coloca el DP en estado L

  digitalWrite(dp, L);

  //Enciende cada segmento del display en secuencia por 3 ciclos

  for (uint8_t w = 0; w < 3; w++) {

    for (uint8_t x = 0; x < 6; x++) {

      digitalWrite(pin[x], H);

      delay(100);

      digitalWrite(pin[x], L);

    }

  }

}

//Esta funcion muestra el numero generado

void driver(uint8_t numero, int espera) {

  //Enciende cada segmento del display correspondiente al numero

  for (uint8_t y = 0; y < 7; y++) {

    digitalWrite(pin[y], digitos[numero][y]);

  }

  delay (espera);

  //Apaga todos los segmentos del display

  for ( uint8_t z = 0 ; z < 7; z++) {

    digitalWrite(pin[z], L);

  }

}

void loop() {

  //Inicializa el generador de números aleatorios

  //en referencia a la funcion millis

  randomSeed(millis());

  //Si el estado del pin de entrada es LOW

  if (digitalRead (boton) == LOW) {

    //Muestra la animacion

    animacion();

    //Genera un numero aleatorio y envia a la funcion

    driver(random(1, 7), tiempo);

...

Descargar como (para miembros actualizados) txt (2 Kb) pdf (49 Kb) docx (9 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com