Dado eletrônico com Arduino

Dado eletrônico com Arduino

Espalhe o amor!

á faz muitos anos que eu construi um dado eletrônico, na época, ainda não existiam microcontroladores, ou se existiam, eu não conhecia. O tal circuito foi mintado com um ci 555, que ainda hoje é utilizdo, para gerar afrequencia da contagem, um 4017, c-mos, contador de 1 a 10, e uma matriz de diodos para a decodificação dos numeros.

Muita gente aqui não sabe o que é isso, mas eu prometo voltar a falar desse assunto em breve. Hoje em dia os microcontoladores se popularizaram, e entere eles, se destaca o Arduino, super versatil e facil de utilizar, com uma programação simples, que qualquer pessoa pode fazer.

Hoje venho apresentar um dado eletronico feito com Arduino. Uma placa de Arduino Uno, 7 LEDS, um botão, e um buzzer, para quem quiser montar a versão com sons.

É pura diversão, e aprendizado também, construa, modifique, teste, invente, mas não deixe de fazer, só assim você vai aprender.

Aprogramação e o circuito estão aqui em baixo.

Link para o video do dado eletrônico com Arduino

Dado eletronico com Arduino

Programa para o dado eletrônico com Arduino

//Programa

//prtotipo das funçoes
void numero0 (void);
void numero1 (void);
void numero2 (void);
void numero3 (void);
void numero4 (void);
void numero5 (void);
void numero6 (void);
const int duracao = 10;
int freq = 0;

int SEGA = 2;//pinos digitais
int SEGB = 3;
int SEGC = 4;
int SEGD = 5;
int SEGE = 6;
int SEGF = 7;
int SEGG = 8;
int BOT1 = 11;
int BOT2= 11;
int speaker = 13;

int x=0;

void setup()
{
pinMode(SEGA, OUTPUT);//declarados como saida
pinMode(SEGB, OUTPUT);
pinMode(SEGC, OUTPUT);
pinMode(SEGD, OUTPUT);
pinMode(SEGE, OUTPUT);
pinMode(SEGF, OUTPUT);
pinMode(SEGG, OUTPUT);
pinMode (BOT1, INPUT_PULLUP);//declarado como entrada
}
void loop(){

if (digitalRead(BOT1)==0)



  {

delay(10);//pode mudar o delay para aumentar ou diminuir a velocidade
x ++;
}

     if(x==1) numero1(); 

if(x==2) numero2();
if(x==3) numero3();
if(x==4) numero4();
if(x==5) numero5();
if(x==6) numero6();

delay(10);
if (x > 6) {x =0;}

if(digitalRead(BOT1) == HIGH)//não precisa se não montar a versão com som

{digitalWrite, x=0;}
}

      void numero0 ()
           { digitalWrite (SEGA, HIGH);
digitalWrite (SEGB, HIGH);
  digitalWrite (SEGC, HIGH);
    digitalWrite (SEGD, HIGH);
      digitalWrite (SEGE, HIGH);
         digitalWrite (SEGF, HIGH);
            digitalWrite (SEGG, HIGH);
            }

         void numero1()
           { digitalWrite (SEGA, HIGH);
digitalWrite (SEGB, LOW);
  digitalWrite (SEGC, LOW);
    digitalWrite (SEGD, LOW);
      digitalWrite (SEGE, LOW);
         digitalWrite (SEGF, LOW);
            digitalWrite (SEGG, LOW);
            {
    tone(speaker,100,100);}/não precisa se não montar a versão com som

delay (2);
}

            void numero2()
           { digitalWrite (SEGA, LOW);
digitalWrite (SEGB, LOW);
  digitalWrite (SEGC, LOW);
    digitalWrite (SEGD, HIGH);
      digitalWrite (SEGE, LOW);
         digitalWrite (SEGF, LOW);
            digitalWrite (SEGG, HIGH);
            {
    tone(speaker,264,100);}/não precisa se não montar a versão com som

delay (2);
}

            void numero3()
           { digitalWrite (SEGA, HIGH);
digitalWrite (SEGB, LOW);
  digitalWrite (SEGC, LOW);
    digitalWrite (SEGD, HIGH);
      digitalWrite (SEGE, LOW);
            digitalWrite (SEGG, HIGH);
            {
    tone(speaker,324,100);}/não precisa se não montar a versão com som

delay (2);
}

            void numero4()
           { digitalWrite (SEGA, LOW);
digitalWrite (SEGB, HIGH);
  digitalWrite (SEGC, LOW);
    digitalWrite (SEGD, HIGH);
      digitalWrite (SEGE, HIGH);
         digitalWrite (SEGF, LOW);
            digitalWrite (SEGG, HIGH);
            {
    tone(speaker,544,100);}/não precisa se não montar a versão com som

delay (2);
}

    void numero5()
           { digitalWrite (SEGA, HIGH);
digitalWrite (SEGB, HIGH);
  digitalWrite (SEGC, LOW);
    digitalWrite (SEGD, HIGH);
      digitalWrite (SEGE, HIGH);
         digitalWrite (SEGF, LOW);
            digitalWrite (SEGG, HIGH);
            {
    tone(speaker,664,100);}/não precisa se não montar a versão com som

delay (2);
}

            void numero6()
           { digitalWrite (SEGA, LOW);
digitalWrite (SEGB, HIGH);
  digitalWrite (SEGC, HIGH);
    digitalWrite (SEGD, HIGH);
      digitalWrite (SEGE, HIGH);
         digitalWrite (SEGF, HIGH);
            digitalWrite (SEGG, HIGH);
            {
    tone(speaker,1064,100);}/não precisa se não montar a versão com som

delay (2);

            }

Espalhe o amor!

Deixe uma resposta

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