Projetos

Dado Eletrônico com Arduino

Eletrogate 29 de dezembro de 2022

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.


Eletrogate

29 de dezembro de 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!