segunda-feira, 15 de abril de 2019

Dado eletrônico


    Neste projeto vamos aprender a fazer um dado eletrônico. Com ele os jogos que utilizam dado vão ficar mais tecnológicos. Ao acionar a chave táctil o projeto irá mostrar um número aleatório de 1 à 6.

LISTA DE COMPONENTES:

1 - Arduino Uno;
1 - Chave táctil;
2 - Resistores de 220 ohms;
1 - Protobord;
1 - Display de 7 segmentos;
Alguns jumpers;

Sobre o principais componentes:

      Display de 7 segmentos, são comumente usados em eletrônica como forma de exibir uma informação alfanumérica. Ele é composto de 8 segmentos que são na verdade 8 LEDs, 7 mostram a informação e 1 é o ponto. O mostrado abaixo é de catodo comum.




Circuito a ser montado:

     O pino digital 5 do Arduino irá receber 5V quando a chave táctil for acionada, isto dará inicio ao sorteio de um número de 1 à 6 que será mostrado  no display.  O display será ligado aos pinos digitais de 6 à 12.  



Programando o Arduino:

     O código abaixo fará com que, ao acionar a chave táctil ocorrerá um sorteio aleatório de um número de 1 à 6 e ele será mostrado  no display.

Código.

     Copie e cole o código abaixo na tela do Arduino IDE. Em seguida execute-o.

int segE = 7;
int segD = 8;
int segC = 9;
int segB = 12;
int segA = 6;
int segF = 11;
int segG = 10;

int pinoTilt = 5;

void setup()
{
  pinMode(segE, OUTPUT);
  pinMode(segD, OUTPUT);
  pinMode(segC, OUTPUT);
  pinMode(segB, OUTPUT);
  pinMode(segA, OUTPUT);
  pinMode(segF, OUTPUT);
  pinMode(segG, OUTPUT);

  pinMode(pinoTilt, INPUT);
}

void loop()
{
  
  if(digitalRead(pinoTilt) == HIGH)
  {
    jogaDado();
  }
}

void jogaDado()
{
  for(int i=0; i<25; i++)
  {
    switch(random(1, 6)) // Escolhe um numero aleatorio entre 1 e 6
    {
     
      case 1 :
        acende1();
        break;
      case 2 :
        acende2();
        break;
      case 3 :
        acende3();
        break;
      case 4 :
        acende4();
        break;
      case 5 :
        acende5();
        break;
      case 6 :
        acende6();
        break;
     
    }
    delay(4*i);     // O delay aumenta conforme passam mais numeros
  }
}


void acende1()
{
  digitalWrite(segE,LOW);
  digitalWrite(segD,LOW);
  digitalWrite(segC,HIGH);
  digitalWrite(segB,HIGH);
  digitalWrite(segA,LOW);
  digitalWrite(segF,LOW);
  digitalWrite(segG,LOW); 
}
void acende2()
{
  digitalWrite(segE,HIGH);
  digitalWrite(segD,HIGH);
  digitalWrite(segC,LOW);
  digitalWrite(segB,HIGH);
  digitalWrite(segA,HIGH);
  digitalWrite(segF,LOW);
  digitalWrite(segG,HIGH); 
}
void acende3()
{
  digitalWrite(segE,LOW);
  digitalWrite(segD,HIGH);
  digitalWrite(segC,HIGH);
  digitalWrite(segB,HIGH);
  digitalWrite(segA,HIGH);
  digitalWrite(segF,LOW);
  digitalWrite(segG,HIGH);
}
void acende4()
{
  digitalWrite(segE,LOW);
  digitalWrite(segD,LOW);
  digitalWrite(segC,HIGH);
  digitalWrite(segB,HIGH);
  digitalWrite(segA,LOW);
  digitalWrite(segF,HIGH);
  digitalWrite(segG,HIGH);
}
void acende5()
{
  digitalWrite(segE,LOW);
  digitalWrite(segD,HIGH);
  digitalWrite(segC,HIGH);
  digitalWrite(segB,LOW);
  digitalWrite(segA,HIGH);
  digitalWrite(segF,HIGH);
  digitalWrite(segG,HIGH);
}
void acende6()
{
  digitalWrite(segE,HIGH);
  digitalWrite(segD,HIGH);
  digitalWrite(segC,HIGH);
  digitalWrite(segB,LOW);
  digitalWrite(segA,HIGH);
  digitalWrite(segF,HIGH);
  digitalWrite(segG,HIGH);
}


     Após carregar o código no Arduino, você pode apertar a chave táctil várias vezes e ver os números que são sorteados.

Os componentes deste tutorial pode ser comprados AQUI!

Nenhum comentário:

Postar um comentário