Índice:

Dados Arduino para jogos de tabuleiro: 4 etapas
Dados Arduino para jogos de tabuleiro: 4 etapas

Vídeo: Dados Arduino para jogos de tabuleiro: 4 etapas

Vídeo: Dados Arduino para jogos de tabuleiro: 4 etapas
Vídeo: Arduino - Jogo da memória com leds 2024, Novembro
Anonim

Por RoboCircuits_comFollow Mais do autor:

Dados eletrônicos com UTSOURCE
Dados eletrônicos com UTSOURCE
Dados eletrônicos com UTSOURCE
Dados eletrônicos com UTSOURCE
Interruptor de nível de água usando D882
Interruptor de nível de água usando D882
Interruptor de nível de água usando D882
Interruptor de nível de água usando D882
Relógio em tempo real ambiente
Relógio em tempo real ambiente
Relógio em tempo real ambiente
Relógio em tempo real ambiente

Sobre: YouTuber, Drone Manufaturer Mais sobre RoboCircuits_com »

Você pode ter usado esses dados enquanto jogava LUDO e outros jogos de tabuleiro. Mas, sendo um entusiasta da eletrônica, tenho que mudar essa tendência.

Então decidi fazer um Dado eletrônico. Usei o Arduino para meu propósito.

Etapa 1: faça você mesmo o Arduino

Este arduino foi feito por mim usando um microcontrolador atmega 328p. O PCB para isso é pedido de "jlcpcb.com" porque eles fornecem os melhores pcbs da classe por preços baixos. Então eu soldei todas as peças e finalmente consegui este Arduino UNO bonito.

Todos os esquemas e arquivos são fornecidos no artigo do meu Webiste -

Etapa 2: elaboração do projeto

Certo!!!!

o suficiente sobre o Arduino. Agora vamos fazer o projeto. Para valores aleatórios, usei a função aleatória no arduino ide para obter valores de 1 a 6 sempre que pressiono o botão. Então assista a este vídeo completo para saber como esse projeto é feito.

Etapa 3: Código

/ * Este código foi desenvolvido por RoboCircuits

Suvbscribe me on youtube https://youtube.com/robocircuits ou visite robocircuits.com Sempre temos que incluir a biblioteca * /

#include "LedControl.h"

/ * Agora precisamos de um LedControl para trabalhar. ***** Esses números de pinos provavelmente não funcionarão com o seu hardware ***** O pino 12 está conectado ao DataIn, o pino 11 está conectado ao CLK, o pino 10 está conectado a LOAD Temos apenas um único MAX72XX. * /

LedControl lc = LedControl (12, 11, 10, 1);

/ * sempre esperamos um pouco entre as atualizações do display * / unsigned long delaytime = 500; byte seis [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; byte cinco [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; byte quatro [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; byte três [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; byte dois [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; byte um [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () {/ * O MAX72XX está no modo de economia de energia na inicialização, temos que fazer uma chamada de ativação * / lc.shutdown (0, false); / * Defina o brilho para valores médios * / lc.setIntensity (0, 8); / * e limpar a exibição * / lc.clearDisplay (0); }

/ * Este método exibirá os caracteres (você precisa de pelo menos 7x7 leds para ver os caracteres inteiros) * / void one1 () {/ * aqui estão os dados para os caracteres * / / * agora exibem-nos um a um com um pequeno atraso * / lc.setRow (0, 0, um [0]); lc.setRow (0, 1, um [1]); lc.setRow (0, 2, um [2]); lc.setRow (0, 3, um [3]); lc.setRow (0, 4, um [4]); lc.setRow (0, 5, um [5]); lc.setRow (0, 6, um [6]); lc.setRow (0, 7, um [7]); atraso (delaytime); } void two2 () {/ * aqui estão os dados para os caracteres * / / * agora exibi-los um por um com um pequeno atraso * / lc.setRow (0, 0, two [0]); lc.setRow (0, 1, dois [1]); lc.setRow (0, 2, dois [2]); lc.setRow (0, 3, dois [3]); lc.setRow (0, 4, dois [4]); lc.setRow (0, 5, dois [5]); lc.setRow (0, 6, dois [6]); lc.setRow (0, 7, dois [7]); atraso (delaytime); } void three3 () {/ * aqui estão os dados para os caracteres * / / * agora exibem-nos um a um com um pequeno atraso * / lc.setRow (0, 0, three [0]); lc.setRow (0, 1, três [1]); lc.setRow (0, 2, três [2]); lc.setRow (0, 3, três [3]); lc.setRow (0, 4, três [4]); lc.setRow (0, 5, três [5]); lc.setRow (0, 6, três [6]); lc.setRow (0, 7, três [7]); atraso (delaytime); } void four4 () {/ * aqui estão os dados para os caracteres * / / * agora exibem-nos quatro por quatro com um pequeno atraso * / lc.setRow (0, 0, four [0]); lc.setRow (0, 1, quatro [1]); lc.setRow (0, 2, quatro [2]); lc.setRow (0, 3, quatro [3]); lc.setRow (0, 4, quatro [4]); lc.setRow (0, 5, quatro [5]); lc.setRow (0, 6, quatro [6]); lc.setRow (0, 7, quatro [7]); atraso (delaytime); } void five5 () {/ * aqui estão os dados para os caracteres * / / * agora exiba-os cinco por cinco com um pequeno atraso * / lc.setRow (0, 0, five [0]); lc.setRow (0, 1, cinco [1]); lc.setRow (0, 2, cinco [2]); lc.setRow (0, 3, cinco [3]); lc.setRow (0, 4, cinco [4]); lc.setRow (0, 5, cinco [5]); lc.setRow (0, 6, cinco [6]); lc.setRow (0, 7, cinco [7]);

atraso (delaytime); } void six6 () {/ * aqui estão os dados para os caracteres * / / * agora exibi-los seis por seis com um pequeno atraso * / lc.setRow (0, 0, six [0]); lc.setRow (0, 1, seis [1]); lc.setRow (0, 2, seis [2]); lc.setRow (0, 3, seis [3]); lc.setRow (0, 4, seis [4]); lc.setRow (0, 5, seis [5]); lc.setRow (0, 6, seis [6]); lc.setRow (0, 7, seis [7]); atraso (delaytime); }

void loop () {int x; if (analogRead (A4) == 1000) {x = random (1, 6); } switch (x) {case 1: one1 (); pausa; caso 2: two2 (); pausa; caso 3: três3 (); pausa; caso 4: quatro4 (); pausa; caso 5: cinco5 (); pausa; caso 6: seis6 (); pausa;} }

Etapa 4: Curtir, compartilhar

Inscreva-se no YouTube -

Curta-nos no Facebook -

Visite -

Recomendado: