IDE arduino, clique aqui para fazer o download
//----------------Declara as variaveis do codigo----------------
int segE = 7; // Declara a variavel segE e atribui o valor 7 a ela
int segD = 8; // Declara a variavel segD e atribui o valor 8 a ela
int segC = 9; // Declara a variavel segC e atribui o valor 9 a ela
int segB = 13; // Declara a variavel segB e atribui o valor 13 a ela
int segA = 12; // Declara a variavel segA e atribui o valor 12 a ela
int segF = 11; // Declara a variavel segF e atribui o valor 11 a ela
int segG = 10; // Declara a variavel segG e atribui o valor 10 a ela
int pinoBotao = 5; // Declara a variavel pinoBotao e atribui o valor 5 a ela
//----------------Funcao executada uma vez na inicializacao do sistema----------------
void setup() {
pinMode(segE, OUTPUT); // Configura a porta 7 (valor da variável segE) como saida
pinMode(segD, OUTPUT); // Configura a porta 8 (valor da variável segD) como saida
pinMode(segC, OUTPUT); // Configura a porta 9 (valor da variável segC) como saida
pinMode(segB, OUTPUT); // Configura a porta 13 (valor da variável segB) como saida
pinMode(segA, OUTPUT); // Configura a porta 12 (valor da variável segA) como saida
pinMode(segF, OUTPUT); // Configura a porta 11 (valor da variável segF) como saida
pinMode(segG, OUTPUT); // Configura a porta 10 (valor da variável segG) como saida
pinMode(pinoBotao, INPUT_PULLUP); // Configura a porta 7 (valor da variável pinoBotao) como entrada com resistor de Pull-Up integrado
}
//----------------Funcao executada repetidamente enquanto o sistema estiver ligado----------------
void loop() {
if(digitalRead(pinoBotao) == LOW) // Se o botao estiver apertado (leitura igual a LOW), executa as instrucoes entre chaves
{
jogaDado(); // Chama a funcao jogaDado
}
}
void jogaDado() {
randomSeed(millis());
for(int i=0; i<25; i++) { // Repete os comandos dentro das chaves 24 vezes
switch(random(1, 7)) { // Escolhe um numero aleatorio entre 0 e 9 e chama o case referente a esse número
//----------------Se o numero sorteado for zero----------------
case 0 :
acende0(); // Chama a função que acende o digito 0 no display
break;
//----------------Se o numero sorteado for um----------------
case 1 :
acende1(); // Chama a função que acende o digito 1 no display
break;
//----------------Se o numero sorteado for dois----------------
case 2 :
acende2(); // Chama a função que acende o digito 2 no display
break;
//----------------Se o numero sorteado for tres----------------
case 3 :
acende3(); // Chama a função que acende o digito 3 no display
break;
//----------------Se o numero sorteado for quatro----------------
case 4 :
acende4(); // Chama a função que acende o digito 4 no display
break;
//----------------Se o numero sorteado for cinco----------------
case 5 :
acende5(); // Chama a função que acende o digito 5 no display
break;
//----------------Se o numero sorteado for seis----------------
case 6 :
acende6(); // Chama a função que acende o digito 6 no display
break;
//----------------Se o numero sorteado for sete----------------
case 7 :
acende7(); // Chama a função que acende o digito 7 no display
break;
//----------------Se o numero sorteado for oito----------------
case 8 :
acende8(); // Chama a função que acende o digito 8 no display
break;
//----------------Se o numero sorteado for nove----------------
case 9 :
acende9(); // Chama a função que acende o digito 9 no display
break;
}
delay(4*i); // Aguarda 4*i milissegundos (onde i é cada iteracao do laco for, variando de 0 a 24)
}
}
//----------------Declaracao da funcao que mostra o numero 0 no display de 7 segmentos----------------
void acende0() {
digitalWrite(segE, LOW); // Acende o segmento E do display
digitalWrite(segD, LOW); // Acende o segmento D do display
digitalWrite(segC, LOW); // Acende o segmento C do display
digitalWrite(segB, LOW); // Acende o segmento B do display
digitalWrite(segA, LOW); // Acende o segmento A do display
digitalWrite(segF, LOW); // Acende o segmento F do display
digitalWrite(segG, HIGH); // Apaga o segmento G do display
}
//----------------Declaracao da funcao que mostra o numero 1 no display de 7 segmentos----------------
void acende1() {
digitalWrite(segE, HIGH); // Apaga o segmento E do display
digitalWrite(segD, HIGH); // Apaga o segmento D do display
digitalWrite(segC, LOW); // Acende o segmento C do display
digitalWrite(segB, LOW); // Acende o segmento B do display
digitalWrite(segA, HIGH); // Apaga o segmento A do display
digitalWrite(segF, HIGH); // Apaga o segmento F do display
digitalWrite(segG, HIGH); // Apaga o segmento G do display
}
//----------------Declaracao da funcao que mostra o numero 2 no display de 7 segmentos----------------
void acende2() {
digitalWrite(segE, LOW); // Acende o segmento E do display
digitalWrite(segD, LOW); // Acende o segmento D do display
digitalWrite(segC, HIGH); // Apaga o segmento C do display
digitalWrite(segB, LOW); // Acende o segmento B do display
digitalWrite(segA, LOW); // Acende o segmento A do display
digitalWrite(segF, HIGH); // Apaga o segmento F do display
digitalWrite(segG, LOW); // Acende o segmento G do display
}
//----------------Declaracao da funcao que mostra o numero 3 no display de 7 segmentos----------------
void acende3() {
digitalWrite(segE, HIGH); // Apaga o segmento E do display
digitalWrite(segD, LOW); // Acende o segmento D do display
digitalWrite(segC, LOW); // Acende o segmento C do display
digitalWrite(segB, LOW); // Acende o segmento B do display
digitalWrite(segA, LOW); // Acende o segmento A do display
digitalWrite(segF, HIGH); // Apaga o segmento F do display
digitalWrite(segG, LOW); // Acende o segmento G do display
}
//----------------Declaracao da funcao que mostra o numero 4 no display de 7 segmentos----------------
void acende4() {
digitalWrite(segE, HIGH); // Apaga o segmento E do display
digitalWrite(segD, HIGH); // Apaga o segmento D do display
digitalWrite(segC, LOW); // Acende o segmento C do display
digitalWrite(segB, LOW); // Acende o segmento B do display
digitalWrite(segA, HIGH); // Apaga o segmento A do display
digitalWrite(segF, LOW); // Acende o segmento F do display
digitalWrite(segG, LOW); // Acende o segmento G do display
}
//----------------Declaracao da funcao que mostra o numero 5 no display de 7 segmentos----------------
void acende5() {
digitalWrite(segE, HIGH); // Apaga o segmento E do display
digitalWrite(segD, LOW); // Acende o segmento D do display
digitalWrite(segC, LOW); // Acende o segmento C do display
digitalWrite(segB, HIGH); // Apaga o segmento B do display
digitalWrite(segA, LOW); // Acende o segmento A do display
digitalWrite(segF, LOW); // Acende o segmento F do display
digitalWrite(segG, LOW); // Acende o segmento G do display
}
//----------------Declaracao da funcao que mostra o numero 6 no display de 7 segmentos----------------
void acende6() {
digitalWrite(segE, LOW); // Acende o segmento E do display
digitalWrite(segD, LOW); // Acende o segmento D do display
digitalWrite(segC, LOW); // Acende o segmento C do display
digitalWrite(segB, HIGH); // Apaga o segmento B do display
digitalWrite(segA, LOW); // Acende o segmento A do display
digitalWrite(segF, LOW); // Acende o segmento F do display
digitalWrite(segG, LOW); // Acende o segmento G do display
}
//----------------Declaracao da funcao que mostra o numero 7 no display de 7 segmentos----------------
void acende7() {
digitalWrite(segE, HIGH); // Apaga o segmento E do display
digitalWrite(segD, HIGH); // Apaga o segmento D do display
digitalWrite(segC, LOW); // Acende o segmento C do display
digitalWrite(segB, LOW); // Acende o segmento B do display
digitalWrite(segA, LOW); // Acende o segmento A do display
digitalWrite(segF, HIGH); // Apaga o segmento F do display
digitalWrite(segG, HIGH); // Apaga o segmento G do display
}
//----------------Declaracao da funcao que mostra o numero 8 no display de 7 segmentos----------------
void acende8() {
digitalWrite(segE, LOW); // Acende o segmento E do display
digitalWrite(segD, LOW); // Acende o segmento D do display
digitalWrite(segC, LOW); // Acende o segmento C do display
digitalWrite(segB, LOW); // Acende o segmento B do display
digitalWrite(segA, LOW); // Acende o segmento A do display
digitalWrite(segF, LOW); // Acende o segmento F do display
digitalWrite(segG, LOW); // Acende o segmento G do display
}
//----------------Declaracao da funcao que mostra o numero 9 no display de 7 segmentos----------------
void acende9() {
digitalWrite(segE, HIGH); // Apaga o segmento E do display
digitalWrite(segD, LOW); // Acende o segmento D do display
digitalWrite(segC, LOW); // Acende o segmento C do display
digitalWrite(segB, LOW); // Acende o segmento B do display
digitalWrite(segA, LOW); // Acende o segmento A do display
digitalWrite(segF, LOW); // Acende o segmento F do display
digitalWrite(segG, LOW); // Acende o segmento G do display
}