Table des matières:

DÉS ÉLECTRONIQUES UTILISANT LE CLOUDX M633 : 5 étapes
DÉS ÉLECTRONIQUES UTILISANT LE CLOUDX M633 : 5 étapes

Vidéo: DÉS ÉLECTRONIQUES UTILISANT LE CLOUDX M633 : 5 étapes

Vidéo: DÉS ÉLECTRONIQUES UTILISANT LE CLOUDX M633 : 5 étapes
Vidéo: Casque HyperX CloudX - Test - Xbox One 2024, Juillet
Anonim
DÉS ÉLECTRONIQUES UTILISANT CLOUDX M633
DÉS ÉLECTRONIQUES UTILISANT CLOUDX M633

Nous devons tous avoir joué au hasard d'une manière ou d'une autre en utilisant les dés. Connaître la nature très imprévisible de ce que le lancer des dés s'avérerait afficher ajoute encore beaucoup de plaisir au jeu.

Je présente ici un dé numérique électronique utilisant de simples LED, un bouton poussoir et le module CloudX M633 pour le mettre en œuvre.

Étape 1: COMPOSANTS

COMPOSANTS
COMPOSANTS
COMPOSANTS
COMPOSANTS
COMPOSANTS
COMPOSANTS
  • CloudX M633
  • Carte logicielle CloudX
  • Led
  • Résistances (100r, 10k)
  • Planche à Pain
  • Cavalier
  • bouton
  • Cordon V3

Étape 2: LED

LED
LED

Les diodes électroluminescentes (DEL) sont le type spécial de diodes qui brillent lorsque le courant les traverse. Seul le plus grand soin est pris pour limiter la quantité réelle de courant qui les traverse afin d'éviter de les endommager par inadvertance au cours du processus.

Étape 3: interfacer les LED avec CloudX M633

Interfaçage des LED avec CloudX M633
Interfaçage des LED avec CloudX M633

L'ensemble du circuit est composé de deux sections: le microcontrôleur et les sections LED respectivement. Les LED sont organisées en deux ensembles avec chacun - (comprenant 7 LED), représentant les faces normales d'un dé; et sont connectés à la broche P1 jusqu'à la broche P14 du module MCU.

L'ensemble de l'opération tourne autour du module de microcontrôleur en tant que battement de cœur de l'ensemble du projet. Il (MCU) peut être mis sous tension:

  • soit via les points VIN et GND (c'est-à-dire en les connectant respectivement aux bornes +ve et -ve de votre bloc d'alimentation externe) sur la carte;
  • ou via votre module de carte logicielle USB CloudX.

Comme l'illustre clairement le schéma ci-dessus, les LED sont disposées de telle sorte que lorsqu'elles s'allument, elles indiquent les chiffres comme elles le feraient dans un vrai dé. Et nous travaillons avec deux ensembles de LED pour représenter deux morceaux de dés séparés. Tous sont connectés dans le mode d'amortissement actuel.

Le premier groupe de LED comprenant: D1, D2, D3, D4, D5, D6 et D7; sont connectés aux broches du MCU: P1, P2, P3, P4, P5, P6 et P7 respectivement via des résistances de 10Ω. Considérant que l'autre groupe comprenant: D8, D9, D10, D11, D12, D13 et D14; sont connectés aux broches du MCU: P9, P10, P11, P12, P13, P14 et P15 respectivement via des résistances de 10Ω.

Ensuite, l'interrupteur à bouton-poussoir SW1 -avec lequel nous effectuons une génération de nombres aléatoires via une pression sur interrupteur, est connecté à la broche P16 du MCU à l'aide d'une résistance de rappel de 10kΩ.

Étape 4: Principes de fonctionnement

Au démarrage, les LED sont normalement toutes éteintes pour indiquer que le système est prêt pour qu'un nouveau nombre aléatoire soit généré pour affichage. A l'appui sur l'interrupteur, un nombre aléatoire compris entre 1 et 6 est ainsi généré et s'affiche via les LED; et reste allumé en attente lorsqu'un autre interrupteur est à nouveau enfoncé.

Étape 5: CODAGE

#comprendre

#comprendre

#define switch1 pin16

#define appuyé sur LOW

/*contient les modèles de dés à émettre sur les LED */

dé de char non signé = {0, 0x08, 0x14, 0x1C, 0x55, 0x5D, 0x77};

caractère non signé i, dice1, dice2;

setup(){ //configurer ici /*configure les broches du port en sortie */portMode(1, OUTPUT); portMode(2, 0b10000000); /*éteint toutes les LED au démarrage */ portWrite(1, LOW); portWrite(2, LOW); randNumLimite(1, 6); // prend en charge la plage de génération de randomNumber (c'est-à-dire min, max)

boucle(){

//Programme ici if(switch1 est pressé) { while(switch1 est LOW); // attend ici jusqu'à ce que le commutateur soit relâché dice1 = randNumGen(); //génère un nombre aléatoire pour dice1 dice2 = randNumGen(); portWrite(1, die[dice1]); // récupère le motif de dés correct et l'affiche portWrite(2, die[dice2]); } else { portWrite(1, die[dice1]); portWrite(2, die[dés2]); } } } //Fin du programme

Conseillé: