Arduino - Módulo Dado Eletrônico

De TuxTI
Edição feita às 23h01min de 22 de junho de 2016 por Marcelo (Discussão | contribs)

(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

Ligação dos pinos

Utilizando fios de conexão Macho-Fêmea ligue o módulo Dado Eletrônico da seguinte maneira (Vide Figura Abaixo):

Pino Gnd do PL3 ao pino de Gnd do Arduino;
Pino +5vcc do PL3 ao pino 5 Volts do Arduino;
Pino Switch do PL3 ao pino digital 2 do Arduino;
Pino Led 1 do PL3 ao pino digital 13 do Arduino;
Pino Led 2 do PL3 ao pino digital 12 do Arduino; 
Pino Led 3 do PL3 ao pino digital 11 do Arduino;
Pino Led 4 do PL3 ao pino digital 10 do Arduino;
Pino Led 5 do PL3 ao pino digital 9 do Arduino;
Pino Led 6 do PL3 ao pino digital 8 do Arduino;
Pino Led 7 do PL3 ao pino digital 7 do Arduino.

Arduino Dado Eletronico.png

Código

// Dado Eletrônico
// Pinos aos quais os Leds estão conectados:
int LED1 = 13;
int LED2 = 12;
int LED3 = 11;
int LED4 = 10;
int LED5 = 9;
int LED6 = 8;
int LED7 = 7;
 
// Pino ao qual o botão está conectado:
int BOTAO = 2;
int valorBotao;
int valorAnterior = LOW;
 
void setup() {
  randomSeed(analogRead(0));
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(LED5, OUTPUT);
  pinMode(LED6, OUTPUT);
  pinMode(LED7, OUTPUT);
  pinMode(BOTAO, INPUT);
}
 
void loop() {
 valorBotao = digitalRead(BOTAO);
 
  if (valorBotao == HIGH && valorAnterior == LOW) {
    // Exibir o valor sorteado (entre 1 e 6)
    mostrarDado(random(1, 7));
    // Durante 2 segundos
    delay(2000);
    // Apagar todos os Leds
    mostrarDado(0);
  }
  valorAnterior = valorBotao;
  delay (50);
}
 
void mostrarDado(int valor) {
  if (valor == 0) {
    digitalWrite(LED1, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED4, LOW);
    digitalWrite(LED5, LOW);
    digitalWrite(LED6, LOW);
    digitalWrite(LED7, LOW);
  } else if (valor == 1) {
    digitalWrite(LED1, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED4, HIGH);
    digitalWrite(LED5, LOW);
    digitalWrite(LED6, LOW);
    digitalWrite(LED7, LOW);
  } else if (valor == 2) {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED4, LOW);
    digitalWrite(LED5, HIGH);
    digitalWrite(LED6, LOW);
    digitalWrite(LED7, LOW);
  } else if (valor == 3) {
    digitalWrite(LED1, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED4, HIGH);
    digitalWrite(LED5, LOW);
    digitalWrite(LED6, LOW);
    digitalWrite(LED7, HIGH);
  } else if (valor == 4) {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED4, LOW);
    digitalWrite(LED5, HIGH);
    digitalWrite(LED6, LOW);
    digitalWrite(LED7, HIGH);
  } else if (valor == 5) {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED4, HIGH);
    digitalWrite(LED5, HIGH);
    digitalWrite(LED6, LOW);
    digitalWrite(LED7, HIGH);
  } else if (valor == 6) {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, HIGH);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED4, LOW);
    digitalWrite(LED5, HIGH);
    digitalWrite(LED6, HIGH);
    digitalWrite(LED7, HIGH);
  }
}