/*
Paula Torres Sanchez
Codigo para actividad 3. III
Representar secuencia de numeros con display 7 segmentos
*/
//Pines de control a los que se conecta el display de 7 segmentos
int punto = 23;
int a = 22;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 15;
int g = 16;
int Segmento = 0;
int Pulsador = 19;
// Array multidimensional para mostrar los números
//formato: a, b, c, d, e, f, g, punto
byte numero[7][8] =
{
{ 1, 1, 1, 1, 1, 1, 0, 0 }, // 0
{ 0, 1, 1, 0, 0, 0, 0, 0 }, // 1
{ 1, 1, 0, 1, 1, 0, 1, 0 }, // 2
{ 1, 1, 1, 1, 0, 0, 1, 0 }, // 3
{ 0, 1, 1, 0, 0, 1, 1, 0 }, // 4
{ 1, 0, 1, 1, 0, 1, 1, 0 }, // 5
{ 1, 0, 1, 1, 1, 1, 1, 0 }, // 6
};
void setup() {
Serial.begin(115200);
pinMode(punto, OUTPUT);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(Segmento, OUTPUT);
pinMode(Pulsador, INPUT);
}
void loop() {
// Leemos el valor del pulsador
// Si está pulsado
if (digitalRead(Pulsador) == HIGH)
{
//Genera un numero aleatorio entre 1 y 6
Segmento = random(1, 7);
printf("Tirada: %d\n",Segmento);
digitalWrite(a, numero[Segmento][0]);
digitalWrite(b, numero[Segmento][1]);
digitalWrite(c, numero[Segmento][2]);
digitalWrite(d, numero[Segmento][3]);
digitalWrite(e, numero[Segmento][4]);
digitalWrite(f, numero[Segmento][5]);
digitalWrite(g, numero[Segmento][6]);
digitalWrite(punto, numero[Segmento][7]);
delay(500);
}
}