Neste projeto vamos construir um dado eletrônico para ser usado em seus jogos de tabuleiro, usando um módulo de dado eletrônico da GBK e um Arduino uno
Apresentação: Júlio Vansan Gonçalves
Materiais:
- Arduino uno
- Módulo GBK de dado eletrônico
- Fios/Jumpers
- Cabo USB
Para Comprar
Módulo dado Eletrônico
https://produto.mercadolivre.com.br/MLB-1938042188-modulo-dado-eletrnico-gbk-robotics-pl3-_JM
Link códigos usados no vídeo
/* *************************
* Projeto Bacana - 09/2021
* www.projetobacana.com.br
* Júlio Vansan Gonçalves
* *************************/
const int led1=8;
const int led2=7;
const int led3=6;
const int led4=5;
const int led5=4;
const int led6=3;
const int led7=9;
const int bt1=2;
const int vcc=11;
unsigned long tempoBt1=0;
int estadoBt1=0;
int resultado=0;
void setup() {
Serial.begin(9600);
Serial.print(" ### Iniciando ### ");
for(int x=3;x<=9;x++)
pinMode(x,OUTPUT);
pinMode(vcc,OUTPUT);
digitalWrite(vcc,HIGH);
pinMode(bt1,INPUT);
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
iniciaDado();
}
void loop() {
estadoBt1=digitalRead(bt1);
delay(50);
if (estadoBt1==HIGH){
long int semente=millis();
randomSeed(semente);
resultado=random(1,7);
Serial.println();Serial.print("resultado = ");Serial.print(resultado);Serial.print(" Semente = ");Serial.print(semente);Serial.print(" Embaralha = ");
apaga();
embaralha();
tempoBt1=millis();
switch (resultado){
case 1:{
um();
break; }
case 2:{
dois();
break; }
case 3:{
tres();
break; }
case 4:{
quatro();
break; }
case 5:{
cinco();
break; }
case 6:{
seis();
break; }
} //switch
} //if do botao
if (millis() - tempoBt1 > 30000){
apaga();
delay(50);
}//If para apagar após 30 Segundos
}//loop
void apaga(){
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
digitalWrite(led7,LOW);
//delay(300);
}// Função Apaga
void um(){
apaga();
digitalWrite(led4,HIGH);
}
void dois(){
apaga();
digitalWrite(led1,HIGH);
digitalWrite(led5,HIGH);
}
void tres(){
apaga();
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led7,HIGH);
}
void quatro(){
apaga();
digitalWrite(led1,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led7,HIGH);
}
void cinco(){
apaga();
digitalWrite(led1,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led7,HIGH);
}
void seis(){
apaga();
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led6,HIGH);
digitalWrite(led7,HIGH);
}
void sete(){
apaga();
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led6,HIGH);
digitalWrite(led7,HIGH);
}
void iniciaDado(){
int espera=300;
um();
delay(espera);
dois();
delay(espera);
tres();
delay(espera);
quatro();
delay(espera);
cinco();
delay(espera);
seis();
delay(espera);
apaga();
}//Função Inicia dado
void embaralha(){
sete();
delay(1000);
apaga();
for (int x=0; x<20;x++){
int y=random(2,9);
Serial.print(y);
digitalWrite(y,HIGH);
delay(100);
digitalWrite(y,LOW);
}
apaga();
delay(300);
}// Função embaralha
—
Curta, compartilhe e inscreva-se para ficar atualizado com os nossos conteúdos!
Para saber mais sobre o Canal Projeto Bacana:
E-mail: contato@projetobacana.com.br
Site: https://www.projetobacana.com.br/
Facebook: https://www.facebook.com/projetobacana.com.br
Instagram: https://www.instagram.com/projetobacana.com.br/
Youtube: https://www.youtube.com/channel/UC0e1bfaL0-gnAP2KQA5vxqQ