Table des matières:

Dés Arduino pour jeux de société : 4 étapes
Dés Arduino pour jeux de société : 4 étapes

Vidéo: Dés Arduino pour jeux de société : 4 étapes

Vidéo: Dés Arduino pour jeux de société : 4 étapes
Vidéo: Nigéria : à 9 ans, il est créateur de 35 jeux vidéo et repéré par Google ! 2024, Juillet
Anonim

Par RoboCircuits_comSuivez plus par l'auteur:

Dés électroniques avec UTSOURCE
Dés électroniques avec UTSOURCE
Dés électroniques avec UTSOURCE
Dés électroniques avec UTSOURCE
Interrupteur de niveau d'eau utilisant D882
Interrupteur de niveau d'eau utilisant D882
Interrupteur de niveau d'eau utilisant D882
Interrupteur de niveau d'eau utilisant D882
Horloge temps réel ambiante
Horloge temps réel ambiante
Horloge temps réel ambiante
Horloge temps réel ambiante

À propos de: YouTuber, fabricant de drones En savoir plus sur RoboCircuits_com »

Vous avez peut-être utilisé ces dés en jouant à LUDO et à d'autres jeux de société. Mais étant un passionné d'électronique, je dois changer cette tendance.

J'ai donc décidé de faire un dé électronique. J'ai utilisé Arduino pour mon but.

Étape 1: DIY Arduino

Cet arduino est fabriqué par mes soins à l'aide d'un microcontrôleur atmega 328p. Le PCB pour cela est commandé sur "jlcpcb.com" car ils fournissent les meilleurs PCB de leur catégorie à bas prix. Ensuite, j'ai soudé toutes les pièces et j'ai finalement obtenu ce joli Arduino UNO.

Tous les schémas et fichiers sont donnés dans l'article de mon site Web -

Étape 2: Réalisation du projet

d'accord!!!!

assez parlé de l'Arduino. Faisons maintenant le projet. Pour les valeurs aléatoires, j'ai utilisé la fonction aléatoire dans arduino ide pour obtenir des valeurs de 1 à 6 chaque fois que j'appuie sur le bouton. Alors regardez cette vidéo complète pour savoir comment ce projet est fait.

Étape 3: Coder

/* Ce code est conçu par RoboCircuits

Inscrivez-moi sur youtube https://youtube.com/robocircuits ou visitez robocircuits.com Nous devons toujours inclure la bibliothèque*/

#include "LedControl.h"

/* Maintenant, nous avons besoin d'un LedControl avec lequel travailler. ***** Ces numéros de broches ne fonctionneront probablement pas avec votre matériel ***** La broche 12 est connectée au DataIn La broche 11 est connectée au CLK La broche 10 est connectée à LOAD Nous n'avons qu'un seul MAX72XX. */

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

/* on attend toujours un peu entre les mises à jour de l'affichage */ unsigned long delaytime=500; octet six[8]={B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; octet cinq[8]={B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; octet quatre[8]={B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; octet trois[8]={B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; octet deux[8]={B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; octet un[8]={B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup() { /* Le MAX72XX est en mode d'économie d'énergie au démarrage, nous devons faire un appel de réveil */ lc.shutdown(0, false); /* Régler la luminosité sur des valeurs moyennes */ lc.setIntensity(0, 8); /* et efface l'affichage */ lc.clearDisplay(0); }

/* Cette méthode affichera les caractères (vous avez besoin d'au moins 7x7 leds pour voir l'ensemble des caractères) */ void one1() { /* voici les données pour les caractères */ /* maintenant les afficher un par un avec un petit délai */ lc.setRow(0, 0, un[0]); lc.setRow(0, 1, un[1]); lc.setRow(0, 2, un[2]); lc.setRow(0, 3, un[3]); lc.setRow(0, 4, un[4]); lc.setRow(0, 5, un[5]); lc.setRow(0, 6, un[6]); lc.setRow(0, 7, un[7]); retard (délai); } void two2() { /* voici les données pour les caractères */ /* maintenant les afficher un par un avec un petit délai */ lc.setRow(0, 0, two[0]); lc.setRow(0, 1, deux[1]); lc.setRow(0, 2, deux[2]); lc.setRow(0, 3, deux[3]); lc.setRow (0, 4, deux[4]); lc.setRow(0, 5, deux[5]); lc.setRow(0, 6, deux[6]); lc.setRow(0, 7, deux[7]); retard (délai); } void three3() { /* voici les données pour les caractères */ /* les affiche maintenant un par un avec un petit délai */ lc.setRow(0, 0, three[0]); lc.setRow(0, 1, trois[1]); lc.setRow(0, 2, trois[2]); lc.setRow(0, 3, trois[3]); lc.setRow (0, 4, trois[4]); lc.setRow(0, 5, trois[5]); lc.setRow(0, 6, trois[6]); lc.setRow(0, 7, trois[7]); retard (délai); } void four4() { /* voici les données pour les caractères */ /* les affiche maintenant quatre par quatre avec un petit délai */ lc.setRow(0, 0, four[0]); lc.setRow(0, 1, quatre[1]); lc.setRow(0, 2, quatre[2]); lc.setRow(0, 3, quatre[3]); lc.setRow (0, 4, quatre[4]); lc.setRow(0, 5, quatre[5]); lc.setRow(0, 6, quatre[6]); lc.setRow(0, 7, quatre[7]); retard (délai); } void five5() { /* voici les données pour les caractères */ /* les affiche maintenant cinq par cinq avec un petit délai */ lc.setRow(0, 0, five[0]); lc.setRow(0, 1, cinq[1]); lc.setRow(0, 2, cinq[2]); lc.setRow(0, 3, cinq[3]); lc.setRow (0, 4, cinq[4]); lc.setRow(0, 5, cinq[5]); lc.setRow(0, 6, cinq[6]); lc.setRow(0, 7, cinq[7]);

retard (délai); } void six6() { /* voici les données pour les caractères */ /* les affiche maintenant six par six avec un petit délai */ lc.setRow(0, 0, six[0]); lc.setRow(0, 1, six[1]); lc.setRow(0, 2, six[2]); lc.setRow(0, 3, six[3]); lc.setRow (0, 4, six[4]); lc.setRow(0, 5, six[5]); lc.setRow(0, 6, six[6]); lc.setRow(0, 7, six[7]); retard (délai); }

boucle vide() { int x; if(analogRead(A4)==1000) { x = random(1, 6); } switch(x){ case 1: one1(); Pause; cas 2: deux2(); Pause; cas 3: trois3(); Pause; cas 4: quatre4(); Pause; cas 5: cinq5(); Pause; cas 6: six6(); Pause;} }

Étape 4: Aimez Partager

Abonnez-vous sur YouTube -

Aimez-nous sur Facebook -

Visite -

Conseillé: