Inhaltsverzeichnis:

Arduino Würfel für Brettspiele - Gunook
Arduino Würfel für Brettspiele - Gunook

Video: Arduino Würfel für Brettspiele - Gunook

Video: Arduino Würfel für Brettspiele - Gunook
Video: Arduino Würfel mit 7-Segment LED 2024, November
Anonim

Von RoboCircuits_comFolgen Sie mehr vom Autor:

Elektronischer Würfel mit UTSOURCE
Elektronischer Würfel mit UTSOURCE
Elektronischer Würfel mit UTSOURCE
Elektronischer Würfel mit UTSOURCE
Wasserstandsschalter mit D882
Wasserstandsschalter mit D882
Wasserstandsschalter mit D882
Wasserstandsschalter mit D882
Umgebungs-Echtzeituhr
Umgebungs-Echtzeituhr
Umgebungs-Echtzeituhr
Umgebungs-Echtzeituhr

Über: YouTuber, Drohnenhersteller Mehr über RoboCircuits_com »

Vielleicht haben Sie diese Würfel beim Spielen von LUDO und anderen Brettspielen verwendet. Aber als Elektronik-Enthusiast muss ich diesen Trend ändern.

Also beschloss ich, einen elektronischen Würfel zu machen. Ich habe Arduino für meinen Zweck verwendet.

Schritt 1: DIY Arduino

Dieses Arduino wird von mir mit einem Atmega 328p-Mikrocontroller hergestellt. Die Platine dafür wird bei "jlcpcb.com" bestellt, da sie die besten Platinen zu niedrigen Preisen anbieten. Dann habe ich alle Teile gelötet und endlich diesen süß aussehenden Arduino UNO bekommen.

Alle Schaltpläne und Dateien finden Sie im Artikel meiner Webiste -

Schritt 2: Projekt erstellen

okay!!!!

genug über den Arduino. Jetzt machen wir das Projekt. Für Zufallswerte habe ich die Zufallsfunktion in arduino ide verwendet, um Werte von 1 bis 6 zu erhalten, wenn ich die Taste drücke. Sehen Sie sich also dieses vollständige Video an, um zu erfahren, wie dieses Projekt gemacht wird.

Schritt 3: Code

/* Dieser Code wurde von RoboCircuits entwickelt

Abonniere mich auf youtube https://youtube.com/robocircuits oder besuche robocircuits.com Wir müssen immer die Bibliothek einbinden*/

#include "LedControl.h"

/* Jetzt brauchen wir ein LedControl, mit dem wir arbeiten können. ***** Diese Pin-Nummern funktionieren wahrscheinlich nicht mit Ihrer Hardware ***** Pin 12 ist mit dem DataIn verbunden Pin 11 ist mit dem CLK verbunden Pin 10 ist mit LOAD verbunden Wir haben nur einen einzigen MAX72XX. */

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

/* wir warten immer ein bisschen zwischen den Aktualisierungen der Anzeige */ unsigned long delaytime=500; Byte sechs[8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; Byte fünf[8]={B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; Byte vier[8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; Byte drei[8]={B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; Byte zwei[8]={B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; Byte eins[8]={B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup() { /* Der MAX72XX befindet sich beim Start im Energiesparmodus, wir müssen einen Weckruf ausführen */ lc.shutdown(0, false); /* Helligkeit auf mittlere Werte einstellen */ lc.setIntensity(0, 8); /* und Anzeige löschen */ lc.clearDisplay(0); }

/* Diese Methode zeigt die Zeichen an (Sie benötigen mindestens 7x7 LEDs, um die gesamten Zeichen zu sehen) */ void one1() { /* Hier sind die Daten für die Zeichen */ /* Zeigen Sie sie jetzt einzeln mit einem kleinen. an Verzögerung */ lc.setRow(0, 0, one[0]); lc.setRow(0, 1, eins[1]); lc.setRow(0, 2, eins[2]); lc.setRow(0, 3, eins[3]); lc.setRow(0, 4, eins[4]); lc.setRow(0, 5, eins[5]); lc.setRow(0, 6, eins[6]); lc.setRow(0, 7, eins[7]); Verzögerung (Verzögerungszeit); } void two2() { /* hier sind die Daten für die Zeichen */ /* zeigt sie nun nacheinander mit einer kleinen Verzögerung an */ lc.setRow(0, 0, two[0]); lc.setRow(0, 1, zwei[1]); lc.setRow(0, 2, zwei[2]); lc.setRow(0, 3, zwei[3]); lc.setRow(0, 4, zwei[4]); lc.setRow(0, 5, zwei[5]); lc.setRow(0, 6, zwei[6]); lc.setRow(0, 7, zwei[7]); Verzögerung (Verzögerungszeit); } void three3() { /* hier sind die Daten für die Zeichen */ /* zeigt sie jetzt einzeln mit einer kleinen Verzögerung an */ lc.setRow(0, 0, three[0]); lc.setRow(0, 1, drei[1]); lc.setRow(0, 2, drei[2]); lc.setRow(0, 3, drei[3]); lc.setRow(0, 4, drei[4]); lc.setRow(0, 5, drei[5]); lc.setRow(0, 6, drei[6]); lc.setRow(0, 7, drei[7]); Verzögerung (Verzögerungszeit); } void four4() { /* hier sind die Daten für die Zeichen */ /* zeigt sie jetzt vier mal vier mit einer kleinen Verzögerung an */ lc.setRow(0, 0, four[0]); lc.setRow(0, 1, vier[1]); lc.setRow(0, 2, vier[2]); lc.setRow(0, 3, vier[3]); lc.setRow(0, 4, vier[4]); lc.setRow(0, 5, vier[5]); lc.setRow(0, 6, vier[6]); lc.setRow(0, 7, vier[7]); Verzögerung (Verzögerungszeit); } void five5() { /* hier sind die Daten für die Zeichen */ /* zeigt sie jetzt fünf mal fünf mit einer kleinen Verzögerung an */ lc.setRow(0, 0, five[0]); lc.setRow(0, 1, fünf[1]); lc.setRow(0, 2, fünf[2]); lc.setRow(0, 3, fünf[3]); lc.setRow(0, 4, fünf[4]); lc.setRow(0, 5, fünf[5]); lc.setRow(0, 6, fünf[6]); lc.setRow(0, 7, fünf[7]);

Verzögerung (Verzögerungszeit); } void six6() { /* hier sind die Daten für die Zeichen */ /* zeigt sie jetzt sechs mal sechs mit einer kleinen Verzögerung an */ lc.setRow(0, 0, six[0]); lc.setRow(0, 1, sechs[1]); lc.setRow(0, 2, sechs[2]); lc.setRow(0, 3, sechs[3]); lc.setRow(0, 4, sechs[4]); lc.setRow(0, 5, sechs[5]); lc.setRow(0, 6, sechs[6]); lc.setRow(0, 7, sechs[7]); Verzögerung (Verzögerungszeit); }

Void Schleife () { Int x; if (analogRead (A4) = = 1000) { x = zufällig (1, 6); } Schalter (x) { Fall 1: one1(); brechen; Fall 2: zwei2(); brechen; Fall 3: drei3(); brechen; Fall 4: four4(); brechen; Fall 5: five5(); brechen; Fall 6: six6(); brechen;} }

Schritt 4: Gefällt mir Teilen

Abonniere uns auf YouTube -

Like uns auf Facebook -

Besuchen Sie -

Empfohlen: