Mantenha o botão pressionado para sortear um número de 1 a 6.
Por ser um circuito pequeno e simples, o desenho da PCB fica como exercício de montagem para vocês.
Segue o esquema elétrico e código fonte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | /*--------------------------------------------------------- Programa : DADO ELETRÔNICO ATTINY85 Autor : Fellipe Couto [ http://www.efeitonerd.com.br ] Data : 24/11/2018 ---------------------------------------------------------*/ const int led[4] = {0, 1, 2, 3}; const int dice[7][4] = { {0, 0, 0, 0}, //ZERO {1, 0, 0, 0}, //UM {0, 1, 0, 0}, //DOIS {1, 1, 0, 0}, //TRES {0, 1, 1, 0}, //QUATRO {1, 1, 1, 0}, //CINCO {0, 1, 1, 1} //SEIS }; void setup() { //Configura as portas de conexão dos leds for (int i = 0; i < 4; i++) { pinMode(i, OUTPUT); } //Para o random não repetir a sequência randomSeed(analogRead(A2)); int delayTime = 0; int loop = random(17, 31); //Loop para sorteio dos números for (int i = 0; i < loop; i++) { //Para o random não repetir a sequência randomSeed(analogRead(A2) + micros()); //Incrementa a variável para aumento gradual do delay delayTime += random(2, 11); //Número aleatório de 1 a 6 int num = random(1, 7); //Zero: todos apagados for (int i = 0; i < 4; i++) { digitalWrite(led[i], dice[0][i]); } delay(delayTime); //Acende os leds correspondentes do valor da variável num for (int i = 0; i < 4; i++) { digitalWrite(led[i], dice[num][i]); } delay(delayTime); } } void loop() {} |
Nenhum comentário:
Postar um comentário