/
/
Dado Eletrônico com Arduino

Dado Eletrônico com Arduino

Sumário

Baixe agora a apostila Arduino Iniciante e comece seus projetos

Compartilhe seu conhecimento e receba em dinheiro ou produtos.

blog-dado-eletronico-uno-capa

Introdução

O projeto consiste em um dado eletrônico que "sorteia" um número aleatório de 1 a 6, assim como um dado normal. Para isso, vamos usar o módulo interruptor de mercúrio KY-017. Ele servirá como ativador do circuito, que, ao ser balançado, sorteia um número de 1 a 6 e mostra nos leds.

Fonte: eletrogate.com

Ligações

Os números concordam com os leds na montagem final. LED 1 = porta 7 | LED 2 = porta 8 | LED 3 = porta 9 | LED 4 = porta 10 | LED 5 = porta 11 | LED 6 = porta 12 | LED 7 = porta 13

Código

O código será o seguinte:

long randNumber;

//aqui definimos as portas dos leds e do sensor
const int sensor  = 6;

const int led1 = 7;
const int led2 = 8;
const int led3 = 9;
const int led4 = 10;
const int led5 = 11;
const int led6 = 12;
const int led7 = 13;

// aqui iniciamos todos os leds desligados
void setup() {
  //randomSeed inicia a geração de numeros aleatorios.
  //para isso é preciso que ela esteja em um pino nao usado , como o pino 0.
  randomSeed(analogRead(0));

  pinMode(sensor, INPUT);

  pinMode(led1, OUTPUT);
  digitalWrite(led1, LOW);
  
  pinMode(led2, OUTPUT);
  digitalWrite(led2, LOW);
  
  pinMode(led3, OUTPUT);
  digitalWrite(led3, LOW);
  
  pinMode(led4, OUTPUT);
  digitalWrite(led4, LOW);
  
  pinMode(led5, OUTPUT);
  digitalWrite(led5, LOW);
  
  pinMode(led6, OUTPUT);
  digitalWrite(led6, LOW);
  
  pinMode(led7, OUTPUT);
  digitalWrite(led7, LOW);


}

void loop() {
 /*aqui , se o sensor esta ligado , gera um numero de 1 a 6  
   eu preferi usar a variavel randNumber pois ela é compacta e simples ja que 
   nós so precisamos de um numero de 1 a 6 */
  if(digitalRead(sensor) == HIGH){ 
      randNumber = random(1, 7);
      delay(1000);
  }
// aqui ligamos os leds de acordo com o numero gerado
 if(randNumber == 1){
  digitalWrite(led4 , HIGH);
 }
 
 if(randNumber == 2){
  digitalWrite(led1 , HIGH);
  digitalWrite(led7 , HIGH);
 }

  if(randNumber == 3){
  digitalWrite(led1 , HIGH);
  digitalWrite(led4 , HIGH);
  digitalWrite(led7 , HIGH);
 }

  if(randNumber == 4){
  digitalWrite(led1 , HIGH);
  digitalWrite(led3 , HIGH);
  digitalWrite(led5 , HIGH);
  digitalWrite(led7 , HIGH);
 }

  if(randNumber == 5){
  digitalWrite(led1 , HIGH);
  digitalWrite(led3 , HIGH);
  digitalWrite(led4 , HIGH);
  digitalWrite(led5 , HIGH);
  digitalWrite(led7 , HIGH); 
 }

  if(randNumber == 6){
  digitalWrite(led1 , HIGH);
  digitalWrite(led2 , HIGH);
  digitalWrite(led3 , HIGH);
  digitalWrite(led5 , HIGH);
  digitalWrite(led6 , HIGH);
  digitalWrite(led7 , HIGH); 
 }
 
 delay(100);
 digitalWrite(led1 , LOW);
 digitalWrite(led2 , LOW);
 digitalWrite(led3 , LOW);
 digitalWrite(led4 , LOW);
 digitalWrite(led5 , LOW);
 digitalWrite(led6 , LOW);
 digitalWrite(led7 , LOW);
}

Montagem

Para a montagem eu usei uma caixa de entregas da eletrogate para realizar a montagem. Eu precisei de um pouco de cola quente para a fixação dos leds. Primeiro passo: Preparar os resistores nos LED's Segundo passo: Soldar os resistores Terceiro passo: Soldar os jumpers no resistor.

Corte o jumper e descasque
Quarto passo: Proteger a solda. Você pode usar um tubo termo retrátil ou cola quente caso preferir. Você pode usar o ferro de solda para esquentar o tubo termo retrátil. A fixação na caixa pode ser feita com cola quente. Eu fiz a montagem dos leds dessa maneira: O sensor está virado para a parte que abre da caixa. Para encaixar no Arduino eu usei uma barra de pinos, com os fios soldados. Mas, se preferir, pode colocar os jumpers sem soldar. A barra também precisa ser isolada. No final os pinos na placa fica assim:

Testes Finais

Atenção: O circuito só funciona se a caixa estiver na horizontal, pois caso contrário o sensor KY-017 ficará sempre ligado. Caso queira mudar a orientação da caixa é necessário mudar a posição do sensor também.

Sobre o Autor


Arthur Almeida

Estudante do Ensino médio , aficionado por criar novos projetos eletrônicos e automações, principalmente com o Arduino. No meu tempo livre eu gosto de pesquisar sobre novas tecnologias e tento criar projetos com elas.

Os dados normais já estão ultrapassados. Que tal dar uma incrementada? Venha conferir!

Precisa dos componentes para este projeto?

Encontre tudo na Loja Eletrogate com frete grátis para compras acima de R$ 200

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *