Inhaltsverzeichnis:

ELEKTRONISCHE WÜRFEL MIT CLOUDX M633 - Gunook
ELEKTRONISCHE WÜRFEL MIT CLOUDX M633 - Gunook

Video: ELEKTRONISCHE WÜRFEL MIT CLOUDX M633 - Gunook

Video: ELEKTRONISCHE WÜRFEL MIT CLOUDX M633 - Gunook
Video: Dragon breath! 🐉☁️❤️ #shorts #vapelife #geekvape #vape #clouds #cloudy 2024, Juli
Anonim
ELEKTRONISCHE WÜRFEL MIT CLOUDX M633
ELEKTRONISCHE WÜRFEL MIT CLOUDX M633

Wir alle müssen das Glücksspiel auf die eine oder andere Weise mit den Würfeln gespielt haben. Das Wissen um die sehr unvorhersehbare Natur dessen, was das Rollen der Würfel zeigen würde, fügt noch viel Spielspaß hinzu.

Ich präsentiere hiermit einen elektronischen digitalen Würfel mit einfachen LEDs, einem Taster und dem CloudX M633-Modul zur Implementierung.

Schritt 1: KOMPONENTEN

KOMPONENTEN
KOMPONENTEN
KOMPONENTEN
KOMPONENTEN
KOMPONENTEN
KOMPONENTEN
  • CloudX M633
  • CloudX-Softcard
  • LEDs
  • Widerstände (100r, 10k)
  • Brotbrett
  • Überbrückungskabel
  • Druckknopf
  • V3-Kabel

Schritt 2: LEDs

LEDs
LEDs

Die Leuchtdioden (LEDs) sind die besondere Art von Dioden, die leuchten, wenn sie von Strom durchflossen werden. Nur durch äußerste Sorgfalt wird die tatsächlich durch sie fließende Strommenge begrenzt, um eine versehentliche Beschädigung dieser zu vermeiden.

Schritt 3: Verbinden der LEDs mit CloudX M633

Verbinden der LEDs mit CloudX M633
Verbinden der LEDs mit CloudX M633

Die gesamte Schaltung besteht aus zwei Abschnitten: dem Mikrocontroller bzw. den LED-Abschnitten. Die LEDs sind in zwei Sätzen mit jeweils - (bestehend aus 7 LEDs) organisiert, die die normalen Gesichter eines Würfels darstellen; und sind mit Pin P1 bis Pin P14 des MCU-Moduls verbunden.

Die ganze Operation dreht sich um das Mikrocontroller-Modul als Herzschlag des gesamten Projekts. Es (MCU) kann eingeschaltet werden:

  • entweder über die VIN- und die GND-Punkte (dh sie verbinden sie mit den +ve- bzw. –ve-Klemmen Ihres externen Netzteils) auf der Platine;
  • oder über Ihr CloudX USB-Softcard-Modul.

Wie im obigen Schema deutlich zu sehen ist, sind die LEDs so angeordnet, dass sie beim Aufleuchten die Zahlen wie bei einem echten Würfel anzeigen. Und wir arbeiten mit zwei Sätzen von LEDs, um zwei separate Würfelstücke darzustellen. Alle sind im Stromsenkenmodus angeschlossen.

Die erste Gruppe von LEDs umfasst: D1, D2, D3, D4, D5, D6 und D7; sind über 10Ω-Widerstände mit den Pins der MCU verbunden: P1, P2, P3, P4, P5, P6 und P7. Die andere Gruppe besteht aus: D8, D9, D10, D11, D12, D13 und D14; sind ebenfalls über 10Ω-Widerstände mit den Pins der MCU verbunden: P9, P10, P11, P12, P13, P14 und P15.

Dann wird der Taster SW1 – mit dem wir über einen Schalterdruck eine Zufallszahlengenerierung vornehmen – über einen Pull-Up-Widerstand von 10kΩ mit dem Pin P16 der MCU verbunden.

Schritt 4: Funktionsprinzipien

Beim Start sind die LEDs normalerweise alle aus, um anzuzeigen, dass das System bereit ist, eine neue Zufallszahl zur Anzeige zu generieren. Beim Drücken der Taste wird so eine Zufallszahl zwischen 1 und 6 generiert und über die LEDs angezeigt; und bleiben anstehend, wenn ein weiterer Schalterdruck erneut durchgeführt wird.

Schritt 5: CODIERUNG

#enthalten

#enthalten

#define Schalter1 Pin16

#define gedrückt LOW

/*hält Würfelmuster, die auf den LEDs ausgegeben werden sollen */

unsigned char die = {0, 0x08, 0x14, 0x1C, 0x55, 0x5D, 0x77};

vorzeichenloses Zeichen i, Würfel1, Würfel2;

setup () { // hier einrichten / * Port-Pins als Ausgang konfigurieren * / portMode (1, OUTPUT); portMode(2, 0b10000000); /*schaltet beim Start alle LEDs aus */ portWrite(1, LOW); portWrite(2, LOW); RandNumLimit(1, 6); // kümmert sich um den RandomNumber-Generierungsbereich (dh min, max)

Schleife(){

// Hier programmieren if (switch1 ist gedrückt) { while (switch1 ist LOW); // wartet hier, bis der Schalter losgelassen wird dice1 = randNumGen (); // erzeugt eine Zufallszahl für Würfel1 Würfel2 = randNumGen(); portWrite(1, die[Würfel1]); // holt das richtige Würfelmuster und zeigt es an portWrite(2, die[dice2]); aufrechtzuerhalten. Else { portWrite (1, sterben [Würfel1]); portWrite(2, die[Würfel2]); } } } //Programmende

Empfohlen: