Table des matières:

E-dés - Arduino Die/dés 1 à 6 dés + D4, D5, D8, D10, D12, D20, D24 et D30 : 6 étapes (avec photos)
E-dés - Arduino Die/dés 1 à 6 dés + D4, D5, D8, D10, D12, D20, D24 et D30 : 6 étapes (avec photos)

Vidéo: E-dés - Arduino Die/dés 1 à 6 dés + D4, D5, D8, D10, D12, D20, D24 et D30 : 6 étapes (avec photos)

Vidéo: E-dés - Arduino Die/dés 1 à 6 dés + D4, D5, D8, D10, D12, D20, D24 et D30 : 6 étapes (avec photos)
Vidéo: EEVblog #1019 — Мешок для почты 2024, Peut
Anonim
Image
Image
E-dés - Arduino Die/dés 1 à 6 Dés + D4, D5, D8, D10, D12, D20, D24 et D30
E-dés - Arduino Die/dés 1 à 6 Dés + D4, D5, D8, D10, D12, D20, D24 et D30

Il s'agit d'un simple projet arduino pour faire une matrice électronique. Il est possible de choisir entre 1 à 6 dés ou 1 sur 8 dés spéciaux. Le choix se fait en tournant simplement un encodeur rotatif.

Voici les caractéristiques:

  • 1 dé: montrant de gros points
  • 2-6 dés: montrant les points ainsi que la valeur totale (en alternance)
  • 4, 5, 8, 10, 12, 20, 24 et 30 dés à faces montrant la valeur et l'indicateur du dé choisi
  • animation pour lancer les dés en appuyant sur le bouton

Il est possible de tout mettre dans un cube de 7cm sur 7cm y compris une batterie. Mais alors il faudrait tout souder. J'ai utilisé une planche à pain et des câbles de connexion pour tout connecter, d'où la plus grande boîte en dessous.

Pour semer les nombres aléatoires arduino, j'ai utilisé la lecture d'une broche libre non connectée.

Remarque: cette instructable vous montrera chaque étape pour faire fonctionner le e-dice. Je vais ajouter un pdf avec un patron de base pour la boîte, cependant sans autre instruction. En mettant une couche de papier sur la matrice LED, vous rendez les chiffres et les résultats plus visibles.

Remarque 4 semaines plus tard: j'ai porté ce projet sur une puce attiny85, avec l'utilisation de progmem et d'un diviseur de tension pour contourner la broche de réinitialisation et l'utiliser comme broche de bouton. Prière de me contacter pour plus d'informations.

Fournitures

  • arduino (j'ai utilisé un nano)
  • encodeur rotatif (ou encodeur clic mais nous n'utilisons pas la fonction push)
  • bouton
  • Matrice 8 x 8 led avec module MAX7219 (moins de broches nécessaires ! 3 au lieu de 8)
  • cavaliers de fil

Étape 1: Étape 1: Branchez les composants

Étape 1: Branchez les composants
Étape 1: Branchez les composants
  • Branchez tous les composants de sorte qu'aucune des broches ne soit connectée les unes aux autres. (Les trous a à e sont connectés par numéro de ligne, idem pour les trous f à j)

    • L'arduino nano va en haut avec des broches des deux côtés de la broche centrale.
    • L'encodeur (clic) ou l'encodeur rotatif va vers la gauche
    • La matrice led à droite
    • Bouton-poussoir en bas pour un accès facile (déterminez quels contacts sont ouverts en appuyant)
  • Utilisez un morceau de fil pour connecter les deux lignes "+"
  • Faites de même pour les deux lignes "-" (ground ou gnd)

Étape 2: Étape 2: Connectez la matrice LED 8x8 à Arduino

Étape 2: Connectez la matrice LED 8x8 à Arduino
Étape 2: Connectez la matrice LED 8x8 à Arduino
Étape 2: connectez la matrice LED 8x8 à Arduino
Étape 2: connectez la matrice LED 8x8 à Arduino
Étape 2: connectez la matrice LED 8x8 à Arduino
Étape 2: connectez la matrice LED 8x8 à Arduino
Étape 2: connectez la matrice LED 8x8 à Arduino
Étape 2: connectez la matrice LED 8x8 à Arduino

Nous utilisons une matrice led avec un driver MAX72XX. Nous pouvons économiser jusqu'à 5 broches et ne pas avoir à multiplexer.

Il est possible de connecter plusieurs matrices à un pilote MAX72xx. Pour cela il y a un côté "OUT" et "IN". Nous n'utilisons que les broches "IN".

Ces épingles sont enfoncées dans la planche à pain. Vous pouvez voir les noms des broches juste sous la matrice LED elle-même. Tout doit être connecté:

  • VCC à 5V (ligne "+")
  • GND à GND (ligne "-")
  • DIN vers Arduino D12 (cavalier orange)
  • CS vers Arduino D10 (cavalier vert)
  • CLK vers Arduino D11 (cavalier blanc)

Étape 3: Étape 3: Connectez l'encodeur rotatif

Étape 3: Connectez l'encodeur rot-t.webp
Étape 3: Connectez l'encodeur rot-t.webp
Étape 3: Connectez l'encodeur rot-t.webp
Étape 3: Connectez l'encodeur rot-t.webp

J'ai utilisé un encodeur rotatif à clic. Ces encodeurs ont une fonction push supplémentaire (et une broche supplémentaire) que nous n'utilisons pas dans ce projet. Vous pourriez le faire avec un encodeur rotatif ordinaire.

Lorsque vous tournez le bouton, l'encodeur donnera des signaux + ou - par rapport à la position d'origine. Vous pouvez sentir des encoches lorsque vous tournez. Dans mon cas, j'ai découvert avec Serial.print() que l'encodeur donnait 4 étapes pour chaque encoche. Vous devez ajuster cela si certains types de dés sont ignorés. (Voir code)

Connectez l'encodeur comme suit:

  • GND à GND (ligne "-") (petit morceau de fil noir)
  • + à 5V (ligne "+") (petit morceau de fil rouge)
  • SW à rien (c'est le commutateur, que nous n'utilisons pas.)
  • DT à A1 (cavalier orange)
  • CLK à A0 (cavalier blanc)

Étape 4: Étape 4: Bouton et VCC

Étape 4: Bouton et VCC
Étape 4: Bouton et VCC

Dans ma première version, j'ai utilisé un bouton avec une résistance supplémentaire. Cependant, dans l'IDE Arduino, vous pouvez définir l'utilisation d'une résistance pull_up. Avec cela, vous n'avez pas besoin d'une résistance supplémentaire, mais vous devez faire un petit inverse dans le code, en lisant ce bouton.

Connectez simplement une extrémité du bouton avec GND (ligne "-") et l'autre extrémité avec D2 (cavalier bleu).

La dernière connexion à faire: un fil de l'Arduino 5V à la ligne "+" pour utiliser le 5V régulé de l'arduino.

Après ces étapes, toutes les connexions sont établies pour créer une version de travail.

Remarque: vous pouvez ajouter une batterie. Connectez la batterie avec + à VIN et - à GND (ligne "-").

Étape 5: Étape 5: le Code

Ouvrez l'IDE Arduino.

Vous pouvez télécharger les fichiers zip pour les bibliothèques qui ne sont pas disponibles via la "Gestion des bibliothèques" dans l'IDE.

Assurez-vous d'ajouter les bibliothèques suivantes via "Gestion des bibliothèques" ou ajoutez la bibliothèque manuellement dans l'IDE:

LedControl par Eberhard Fahle v1.0.6

  • TimerOne par Jesse Tane, Jérôme Despastis, … (j'ai téléchargé et installé manuellement la version r11 depuis:

    code.google.com/archive/p/arduino-timerone…

  • Encodeur de Peter Dannegger trouvé sur

J'utilise la bibliothèque Peter Danneggers car il a ajouté une fonction pour donner la sensibilité à l'accélération de l'encodeur: tourner plus vite fait monter les nombres plus vite.

Une fois ces bibliothèques installées, vous devriez pouvoir ouvrir et compiler le fichier edice.ino.

Étape 6: Étape 6: Rendez-le joli…

Étape 6: Rendez-le joli…
Étape 6: Rendez-le joli…
Étape 6: Rendez-le joli…
Étape 6: Rendez-le joli…
Étape 6: Rendez-le joli…
Étape 6: Rendez-le joli…

J'aime réutiliser mes arduino, donc je soude rarement un projet ou je fais un effort pour le rendre plus joli. J'aime le style ringard des fils et des cavaliers…

Cependant, j'ai fait ce petit modèle pour contenir tous les composants. Si vous placez la boîte avec les numéros 30 à 4 imprimés sur du papier blanc sur la matrice, les boîtiers de led séparés distraient moins. En bonus, les leds de la rangée du haut vous indiqueront lequel de ces dés spéciaux a été choisi.

EDIT: j'ai réalisé une version avec un digistump spark attiny85, dans une jolie boite découpée au laser. Le bouton sert à choisir la matrice ainsi qu'un bouton poussoir.

Conseillé: