Inhaltsverzeichnis:

Minecraft Creeper-Detektor - Gunook
Minecraft Creeper-Detektor - Gunook

Video: Minecraft Creeper-Detektor - Gunook

Video: Minecraft Creeper-Detektor - Gunook
Video: The Quirks of Detecting Players with Creepers 2024, November
Anonim
Image
Image
Minecraft Creeper-Detektor
Minecraft Creeper-Detektor
Minecraft Creeper-Detektor
Minecraft Creeper-Detektor

Von allwinedesignsAllwine DesignsFolgen Sie mehr vom Autor:

Anpassbare Dübellehre
Anpassbare Dübellehre
Anpassbare Dübellehre
Anpassbare Dübellehre
Quintenzirkel MIDI-Gerät
Quintenzirkel MIDI-Gerät
Quintenzirkel MIDI-Gerät
Quintenzirkel MIDI-Gerät
Benutzerdefiniertes Mausrad als PocketNC Jog Wheel (oder Lautstärkeregler)
Benutzerdefiniertes Mausrad als PocketNC Jog Wheel (oder Lautstärkeregler)
Benutzerdefiniertes Mausrad als PocketNC Jog Wheel (oder Lautstärkeregler)
Benutzerdefiniertes Mausrad als PocketNC Jog Wheel (oder Lautstärkeregler)

Über: Ich war mein ganzes Leben lang Software-Entwickler, habe Informatik mit Schwerpunkt 3D-Grafik studiert, war Effekt-Künstler bei Dreamworks Animation und habe hier Kinder und Erwachsene in Technik unterrichtet… Mehr über allwinedesigns »

Ein paar Jahre lang half ich dem Kindermuseum von Bozeman, einen Lehrplan für sein STEAMlab zu entwickeln. Ich war immer auf der Suche nach lustigen Möglichkeiten, Kinder mit Elektronik und Programmierung zu begeistern. Minecraft ist eine einfache Möglichkeit, Kinder in die Tür zu bekommen, und es gibt jede Menge Ressourcen, um es auf unterhaltsame und lehrreiche Weise zu nutzen. Die Kombination von Minecraft und Elektronik war jedoch schwierig. Um Arduino-Projekte in Minecraft zu integrieren, habe ich schließlich meinen eigenen Minecraft-Mod namens SerialCraft entwickelt. Die Idee war, dass Sie jedes Gerät, das serielle Kommunikation verwendet, anschließen und mit meinem Mod Nachrichten an Minecraft senden und von ihnen empfangen können. Die meisten Arduinos sind zur seriellen Kommunikation über USB in der Lage, daher ist es einfach, eine Schaltung zu verdrahten und einige Daten über die serielle Verbindung zu senden. Ich habe Controller-Kits erstellt, die die Kinder zusammenstellen und programmieren können, um ihren Charakter zu steuern, Redstone-Signale auszulösen und darauf zu reagieren und LEDs zu blinken, um sie auf bestimmte Ereignisse wie niedrige Lebensdauer oder die Nähe einer Kriechpflanze aufmerksam zu machen. Dieses Instructable konzentriert sich auf die Creeper-Alarmfunktion und geht mit Adafruit Neopixels und einem lasergeschnittenen Acryl- und Sperrholzgehäuse einen Schritt weiter. Der Creeper-Detektor verwendet einen 8-LED-NeoPixel-Stick, um Ihnen wertvolle Informationen über den nächstgelegenen Creeper zu geben. Wenn alle LEDs aus sind, bedeutet dies, dass sich innerhalb von 32 Blöcken keine Kriechgänge befinden. Wenn alle LEDs leuchten (sie blinken auch), befinden Sie sich innerhalb des 3-Block-Detonationsradius des Kriechgangs (der Radius, in dem der Kriechgang stoppt, seine Zündschnur anzündet und explodiert). Alles dazwischen kann Ihnen eine Einschätzung geben, wie weit ein Creeper von Ihnen entfernt ist. Wenn 4 der 8 LEDs leuchten, sind Sie etwa 16 Blöcke von einem Creeper entfernt. Dies ist die Reichweite, in der ein Creeper Sie angreift, wenn er Sie sieht. Die LEDs beginnen zu blinken, wenn Sie sich innerhalb des Explosionsradius der Kriechpflanze (7 Blöcke) befinden. Es ist auch der Radius, aus dem der Kriechgang seine Sicherung stoppt und weiterhin hinter dir her ist, wenn du aussteigst. Mit diesem Wissen sollten Sie in der Lage sein, unerwartete Creeper-Angriffe zu vermeiden oder in der Nähe befindliche Creeper zu jagen!

In diesem Instructable werden wir alles besprechen, was Sie brauchen, um Ihren eigenen Creeper-Detektor zu erstellen und den SerialCraft-Mod zu installieren und zu verwenden, mit dem Sie Minecraft mit Ihren Arduino-Projekten verbinden können. Wenn es Ihnen gefällt, ziehen Sie bitte in Betracht, beim Minecraft-Wettbewerb und der Epilog-Herausforderung dafür zu stimmen. Lass uns anfangen!

Schritt 1: Was Sie brauchen

Was du brauchen wirst
Was du brauchen wirst
Was du brauchen wirst
Was du brauchen wirst
Was du brauchen wirst
Was du brauchen wirst
Was du brauchen wirst
Was du brauchen wirst

Ich habe mein Bestes getan, um die genauen Produkte zu verlinken, die ich verwendet habe, aber manchmal finde ich das Beste, was ich auf Amazon finden kann. Manchmal ist es am besten, ein paar Dinge aus Ihrem örtlichen Elektronikgeschäft oder Baumarkt zu holen, um zu vermeiden, dass Sie größere Mengen online kaufen.

- Ich habe einen 8-LED-RGBW-NeoPixel-Stick verwendet, aber ich habe die weiße (W) LED überhaupt nicht verwendet, so dass ein 8-LED-RGB-NeoPixel-Stick ausreicht. Sie können dies durch jedes RGB- oder RGBW-NeoPixel-Produkt ersetzen, aber es gibt Überlegungen zur Stromversorgung, die wir im nächsten Schritt besprechen werden, und Codeänderungen, auf die ich hier hinweisen werde. Vielleicht möchten Sie eine auswählen, die kein Löten erfordert, aber ich zeige Ihnen, wie ich Drähte auf den Stick gelötet habe.

- Ein Mikrocontroller und das dazugehörige USB-Kabel. Ich habe das RedBoard von SparkFun verwendet, das ein Arduino Uno-Klon ist. Es verwendet einen Mini-B-USB-Anschluss (ich bin mir nicht sicher, warum es bei Amazon so teuer ist, Sie können es hier direkt von SparkFun beziehen oder eine Alternative bei Amazon wie dieses wählen). Wir werden eine Arduino-Bibliothek verwenden, um die Codierung zu vereinfachen, aber sie verwendet nur die grundlegende serielle Kommunikation, sodass die Bibliothek wahrscheinlich auf jeden Mikrocontroller portiert werden kann, der USB-Seriell unterstützt. Fast jeder Arduino wird es tun. Stellen Sie sicher, dass es über USB Serial verfügt (die meisten tun es, aber einige nicht wie das ursprüngliche Trinket).

- Drähte, Lötkolben und Lötzinn (Abisolierzangen und eine dritte Hand sind auch praktisch). Wir werden Drähte an den NeoPixel-Stick löten, damit er an einen Arduino angeschlossen werden kann. Diese sind möglicherweise unnötig, wenn Sie ein NeoPixel-Produkt wählen, das bereits mit Kabeln verbunden ist, oder einen Mikrocontroller, der mit NeoPixels an Bord geliefert wird (wie den Circuit Playground Express, für den ich den Code in einem zukünftigen Schritt eingefügt habe). Für den Formfaktor des 8-LED-Sticks habe ich das Gehäuse meines Creeper-Detektors entworfen, sodass Sie Änderungen vornehmen oder auf ein Gehäuse verzichten müssen, wenn Sie sich für einen anderen Formfaktor entscheiden.

- Gehäusematerialien. Ich benutzte 1/8 "mattiertes Acryl, 1/8" klares Acryl und 1/8 "Sperrholz, das ich lasergeschnitten habe, und M3-Maschinenschrauben und Muttern, um es zusammenzuhalten. Ich habe auch einige # 2 x 1/4 "Holzschrauben verwendet, um den NeoPixel-Stick am Gehäuse zu befestigen. Das Gehäuse ist unnötig, fügt aber sicherlich ein zusätzliches Creeper-Flair hinzu. Mein Gehäuse wurde nur für die NeoPixel entwickelt, nicht für den Mikrocontroller. Wenn Wenn Sie möchten, dass es vollständig in sich geschlossen ist, müssen Sie Änderungen vornehmen!

- Ein Minecraft-Konto, Minecraft Forge 1.7.10 und SerialCraft (der Mod und die Arduino-Bibliothek). Der Creeper Detector setzt auf den SerialCraft-Mod, der nur auf Minecraft 1.7.10 mit Minecraft Forge funktioniert. Wir besprechen, wie Sie diese herunterladen und in zukünftigen Schritten einrichten.

- Die Arduino IDE oder ein Konto bei Arduino Create und das Arduino Create-Plugin (ich empfehle die Verwendung von Arduino Create, da Sie direkt zu meiner Arduino Create-Skizze gehen und sie von dort kompilieren und hochladen können).

Schritt 2: Die Schaltung

Die Rennbahn
Die Rennbahn
Die Rennbahn
Die Rennbahn
Die Rennbahn
Die Rennbahn
Die Rennbahn
Die Rennbahn

Die Schaltung ist sehr einfach, nur 3 Drähte, der NeoPixel-Stick und ein Arduino. Alle Adafruit NeoPixels verfügen über einen eigenen Controller, mit dem eine einzelne Datenleitung eine beliebige Anzahl von verketteten LEDs steuern kann. Ich habe es an Pin 12 auf meinem Arduino angeschlossen.

Die anderen beiden Drähte sind für Strom und Masse. Um die NeoPixels mit Strom zu versorgen, benötigen wir eine 5V-Stromquelle. Wir müssen jedoch sicherstellen, dass unsere Stromquelle ausreichend Strom liefern kann. Jeder NeoPixel kann bei voller Helligkeit bis zu 60mA (80mA mit RGBW LEDs) ziehen. Bei 8 LEDs bedeutet dies, dass unser maximaler Strom 480 mA (640 mA mit RGBW-LEDs) beträgt. Der Arduino braucht ~ 40 mA, nur um sich einzuschalten. Auf den ersten Blick sieht es so aus, als müssten wir ein externes Netzteil verwenden. USB erlaubt maximal 500mA, die wir überschreiten könnten, wenn wir alle unsere LEDs auf Maximum setzen (480+40=520 mit RGB-LEDs oder 640+40=680 mit RGBW-LEDs). Glücklicherweise müssen wir die LEDs nie auf ihre volle Helligkeit bringen (volle Helligkeit ist ziemlich blendend), also sind wir mit der 5V-Schiene unseres Arduino, der über USB angeschlossen ist, sicher. Tatsächlich werden bei Verwendung der von mir ausgewählten grünen Farbe nur ~7-8mA max pro LED für eine Gesamtstromaufnahme von ~100mA max.

Alles, was wir tun müssen, ist den DIN-Pin des NeoPixel-Sticks an Pin 12 anzuschließen (fast jeder Pin funktioniert, aber dieser ist der, den ich verwendet habe), den 5V-Pin des NeoPixel-Sticks an 5V am Arduino und ein GND-Pin auf dem NeoPixel-Stick auf GND auf dem Arduino. Zuerst müssen wir unsere Drähte an den NeoPixel-Stick löten.

Schneiden Sie die Stecker von einem Ende Ihrer Drähte ab und streifen Sie die Enden ab. Jeden von ihnen verzinnen (auf jedes der Enden Lot auftragen). Dann geben Sie ein wenig Lötmittel auf jedes der Pads. Berühren Sie jedes Pad vorsichtig mit dem Lötkolben, legen Sie das Ende des entsprechenden Drahtes auf das Pad und entfernen Sie dann den Lötkolben.

Schritt 3: Der Code

UPDATE (19.02.2018): Ich habe eine neue Arduino-Skizze im GitHub-Repository gepostet, die alle notwendigen Änderungen enthält, damit der Creeper-Detektor auf dem Circuit Playground Express funktioniert (es funktioniert nicht mit dem Gehäuse, aber es hat alles) die LEDs und einige Sensoren sind in die Platine integriert, sodass kein Löten erforderlich ist). Es enthält einige zusätzliche Funktionen, die an die Tasten und den Schiebeschalter gebunden sind!

Den vollständigen Code finden Sie in meinem Arduino Create-Skizzen- oder GitHub-Repository. Befolgen Sie die Anweisungen hier, wenn Sie sich nicht sicher sind, wie Sie den Code kompilieren und hochladen. Wenn Sie die Arduino IDE verwenden möchten, müssen Sie die SerialCraft Arduino-Bibliothek installieren. Folgen Sie dazu den Schritten unter "Importieren einer Zip" hier. Wenn Sie den Arduino Create Web Editor verwenden, können Sie nach der Einrichtung direkt zu meiner Skizze wechseln und die Installation der SerialCraft-Bibliothek vermeiden.

Ich werde unten durchgehen, was der Code macht.

Die ersten beiden Zeilen enthalten Bibliotheken. Die erste, SerialCraft.h, ist eine Bibliothek, die ich geschrieben habe und die eine einfache Kommunikation mit dem SerialCraft-Mod ermöglicht. Ich werde Sie unten durch die Funktionen führen, die ich verwende, aber Sie können sich Beispiele und einige Dokumentationen ansehen, die in seinem GitHub-Repository noch überarbeitet werden müssen. Die zweite Bibliothek ist die NeoPixel-Bibliothek von Adafruit und bietet eine API zum Anpassen der LEDs auf NeoPixel-Streifen.

#enthalten

#enthalten

Die Zeilen 4-17 sind Konstanten, die sich je nach Setup ändern können. Wenn Sie einen NeoPixel-Streifen mit einer anderen Anzahl von Pixeln verwendet oder Ihre NeoPixel an einen anderen Pin angeschlossen haben, müssen Sie die ersten beiden Definitionen NUMLEDS und PIN ändern. Sie müssen LED_TYPE in den von Ihnen verwendeten Typ ändern. Versuchen Sie, NEO_GRBW in NEO_RGB oder NEO_RGBW zu ändern, wenn Sie Probleme haben. Sie können BLOCKS_PER_LED ändern, wenn Sie den Bereich anpassen möchten, in dem Sie Kriechpflanzen erkennen können.

// Ändern Sie diese Variablen entsprechend Ihrem Setup

// Anzahl der LEDs in Ihrem Streifen #define NUMLEDS 8 // Pin, mit dem der LED-Datenpin verbunden ist #define PIN 12 // Anzahl der Blöcke, die jede LED darstellt #define BLOCKS_PER_LED 4 // Die Art des LED-Streifens, den Sie haben (wenn Ihre LEDs werden nicht grün, dann müssen Sie die Reihenfolge der GRBW ändern) #define LED_TYPE (NEO_GRBW+NEO_KHZ800) // END-Variablen

Die Zeilen 19-27 definieren einige Werte, die wir später verwenden werden. DETONATE_DIST ist die Entfernung in Minecraft, die ein Creeper aufhört, sich zu bewegen, seine Sicherung anzündet und explodiert. SAFE_DIST ist der Explosionsradius einer Kriechpflanze. Das Ändern dieser Werte wirkt sich auf das Verhalten der LEDs aus, aber ich empfehle, sie unverändert zu lassen, da sie das Verhalten in Minecraft widerspiegeln. MAX_DIST ist die maximale Entfernung, zu der wir Creeper verfolgen, die auf der Anzahl der LEDs basiert, die unser NeoPixel-Streifen hat, und der BLOCKS_PER_LED-Konstante, die wir oben definiert haben.

// Dies sind Werte, die in unseren Berechnungen für die LED-Helligkeit verwendet werden

// Entfernung Creeper beginnt zu detonieren #define DETONATE_DIST 3 // Entfernung, in der wir vor einer Creeper-Explosion sicher sind (Sie erleiden Schaden, wenn Sie sich innerhalb dieser Entfernung befinden) #define SAFE_DIST 7 // maximale Entfernung, die wir eine Creeper verfolgen #define MAX_DIST (NUMLEDS*BLOCKS_PER_LED)

Die Zeilen 29-36 definieren einige Variablen, die wir im gesamten Programm verwenden werden. Die sc-Variable ist ein SerialCraft-Objekt, das eine benutzerfreundliche Schnittstelle bietet, um mit dem SerialCraft Minecraft-Mod zu kommunizieren. Sie werden unten sehen, wie wir es verwenden. dist ist eine Variable, die wir auf die Entfernung zum nächsten Creeper setzen, wenn wir die Creeper Distance Message vom SerialCraft-Mod erhalten. strip ist ein Adafruit_NeoPixel-Objekt, das Methoden zum Steuern von NeoPixel-Strips bereitstellt.

// Dies ist das SerialCraft-Objekt für die Kommunikation mit dem SerialCraft Minecraft-Mod

SerialCraft sc; // Abstand vom Kriechgang int dist = 100; // Initialisieren Sie einen LED-Streifen, Sie müssen möglicherweise den 3. Adafruit_NeoPixel-Streifen ändern = Adafruit_NeoPixel (NUMLEDS, PIN, LED_TYPE);

Die Zeilen 38-47 sind unsere Setup-Funktion. Alle Arduino-Skripte müssen eine haben. Es wird einmal ausgeführt, wenn das Arduino eingeschaltet ist, also ist es ein großartiger Ort, um Variablen zu initialisieren. Wir rufen die Methode setup() in unserem SerialCraft-Objekt auf, um den seriellen Port auf dieselbe Baudrate zu initialisieren, wie sie im SerialCraft-Mod (115200) konfiguriert ist. Dann rufen wir die Methode registerCreeperDistanceCallback auf, damit wir auf Creeper-Distanznachrichten reagieren können, die uns vom SerialCraft-Mod gesendet werden. Wir werden die sc.loop()-Methode in regelmäßigen Abständen etwas weiter unten aufrufen. In der Schleifenmethode prüft es, ob wir Nachrichten vom SerialCraft-Mod erhalten oder Ereignisse wie das Drücken einer Taste ausgelöst haben, und ruft die entsprechende Funktion auf, die wir registriert haben, um damit umzugehen. Alles, was wir tun, ist die Entfernung der nächsten Kriechpflanze zu suchen, daher ist dies die einzige Funktion, die wir registrieren. Sie werden unten sehen, dass wir in dieser Funktion nur unsere dist-Variable setzen, die wir beim Aktualisieren der LEDs verwenden. Schließlich initialisieren wir unseren LED-Streifen und schalten alle LEDs mit strip.begin() und strip.show() aus.

Void setup () {// SerialCraft sc.setup () initialisieren; // einen Creeper-Distanz-Callback registrieren, um die Entfernung zum nächsten Creeper zu erhalten sc.registerCreeperDistanceCallback(creeper); // Initialisieren Sie den LED-Streifen strip.begin (); Strip-Show(); }

Die Zeilen 49-80 definieren die Schleifenfunktion. In der Schleifenfunktion passiert die ganze Magie. Die Schleifenfunktion wird wiederholt aufgerufen. Wenn die Schleifenfunktion die Ausführung beendet, beginnt sie einfach wieder oben. Darin verwenden wir die Variable dist und unsere Konstanten am Anfang der Datei, um den Zustand jeder LED zu bestimmen.

Am Anfang der Schleifenfunktion definieren wir einige Variablen.

// reicht von 0, wenn >= MAX_DIST vom Detonationsradius der Kriechpflanze entfernt bis NUMLEDS*BLOCKS_PER_LED, wenn sie oben auf der Kriechpflanze liegt

int blocksFromCreeperToMax = Constraint(MAX_DIST+DETONATE_DIST-dist, 0, MAX_DIST); int curLED = blocksFromCreeperToMax/BLOCKS_PER_LED; // reicht von 0 bis NUMLEDS-1 int curLEDLevel = (blocksFromCreeperToMax%BLOCKS_PER_LED+1); // reicht von 1 bis BLOCKS_PER_LED

Da wir die LEDs basierend darauf beleuchten, wie nah wir an einer Kriechpflanze sind, müssen wir unsere Abstandsvariable effektiv invertieren. Wir definieren blocksFromCreeperToMax, um die Anzahl der Blöcke darzustellen, die der Creeper von der maximalen Entfernung entfernt ist, die wir verfolgen möchten. Wenn wir oben auf dem Creeper sind (oder besser gesagt, kleiner oder gleich DETONATE_DIST von dem Creeper entfernt), wird blocksFromCreeperToMax MAX_DIST sein. Wenn wir über MAX_DIST von einem Creeper entfernt sind, ist blocksFromCreeperToMax 0. Diese Variable ist nützlich, wenn wir unsere LEDs beleuchten, denn je größer sie ist, desto mehr LEDs leuchten.

curLED ist die oberste LED, die leuchten wird. Alle 4 Blöcke, die wir auf eine Kriechpflanze zubewegen, leuchtet eine zusätzliche LED (diese Zahl kann oben in der Datei mit der Variablen BLOCKS_PER_LED geändert werden). Wir passen die Helligkeit der obersten LED so an, dass wir Abstandsänderungen bis auf einen einzelnen Block sehen können. curLEDLevel ist eine Variable, die wir verwenden, um diese Helligkeitsänderungen zu berechnen. Er reicht von 1 bis 4 (oder wie auch immer BLOCKS_PER_LED definiert ist).

Wir verwenden diese Variablen, wenn wir jede LED durchlaufen:

for(uint16_t i = 0; i < strip.numPixels(); i++) { if(i <= curLED) {// am hellsten wenn innerhalb des Detonationsradius der Creeper, aus wenn Creeper ist NUMLEDS*BLOCKS_PER_LED entfernt float Intensität = (float)blocksFromCreeperToMax /MAX_VERT; if(i == curLED) { // letzte LED leuchtet // letzte LED heller machen, wenn wir uns der nächsten LED nähern float lastIntensity = (float)curLEDLevel/BLOCKS_PER_LED; Intensität *= letzteIntensität; } if(dist < SAFE_DIST) { Intensität *= (millis()/75)%2; } Intensität = pow (Intensität, 2,2); // Gammakurve, lässt die LED-Helligkeit für unser Auge linear erscheinen, wenn der Helligkeitswert wirklich nicht strip.setPixelColor (i, strip. Color (10 * Intensität, 70 * Intensität, 10 * Intensität, 0)) ist; aufrechtzuerhalten. Sonst { strip.setPixelColor (i, strip. Color (0, 0, 0, 0)); } }

Wenn die aktuelle LED, die wir aktualisieren, kleiner oder gleich der Variablen curLED ist, wissen wir, dass sie eingeschaltet sein sollte, und wir müssen ihre Helligkeit berechnen. Andernfalls schalten Sie es aus. Wir verwenden eine Intensitätsvariable, die einen Wert zwischen 0 und 1 hat, um die Helligkeit unserer LED darzustellen. Beim Einstellen der endgültigen Farbe der LED multiplizieren wir die Intensität mit der Farbe (10, 70, 10), einer grünen Farbe. Wir verwenden die Variable blocksFromCreeperToMax, um einen Prozentsatz zu erhalten, indem wir durch MAX_DIST dividieren, sodass die LEDs am hellsten sind, wenn wir uns in der Nähe einer Kriechpflanze befinden. Wenn wir die Helligkeit von curLED berechnen, ändern wir die Helligkeit für jeden Entfernungsblock, den die Kriechpflanze von Ihnen entfernt ist, bis zur Einstellung BLOCKS_PER_LED. Dies ist eine subtile Änderung, aber sie kann verwendet werden, um zu sehen, ob sich eine Kriechpflanze näher oder weiter entfernt bei einer feineren Maserung als die 4 Blöcke, die für das Aufleuchten einer zusätzlichen LED erforderlich sind. Dann prüfen wir, ob wir uns im Explosionsradius der Kriechpflanze befinden und blinzeln, wenn wir es sind. Der Ausdruck (millis()/75)%2 wird wiederholt 75 Millisekunden lang auf 0 und dann 75 Millisekunden lang auf 1 ausgewertet. Wenn Sie also unsere Intensität mit diesem Ausdruck multiplizieren, blinken die LEDs.

Die letzte Änderung der Intensität (Intensität = pow(Intensität, 2,2)) ist eine Anpassung, die als Gammakorrektur bezeichnet wird. Das menschliche Auge nimmt Licht nichtlinear wahr. Wir können mehr Abstufungen von schwachem Licht sehen als von hellem Licht. Wenn wir also die Helligkeit eines hellen Lichts verringern, nehmen wir mehr ab als bei schwachem Licht, um den Anschein zu erwecken, als würden wir in einem linearen Schritt zurücktreten Mode für das menschliche Auge. Ein Nebeneffekt dieser Änderung ist, dass wir am Ende weniger Energie verbrauchen, weil unsere Pixel im dunkleren (niedrigeren) Bereich mehr Abstufungen haben als im helleren (höheren Energie) Bereich.

Die letzten beiden Zeilen unserer Schleifenfunktion aktualisieren die LEDs auf die gerade eingestellten Werte und rufen dann alle Handler auf, die von SerialCraft aufgerufen werden müssen (in diesem Fall die Kriechstreckenfunktion, wenn wir Kriechstreckennachrichten vom SerialCraft-Mod erhalten haben)..

Strip-Show();

sc.loop();

Die letzten Zeilen unseres Skripts sind die Creeper-Funktion, in der wir die Entfernung zum nächsten Creeper speichern, wenn der SerialCraft-Mod uns eine Nachricht mit diesen Informationen sendet.

Leere Kriechpflanze (int d) { dist = d; }

Jetzt müssen Sie nur noch den Code kompilieren und hochladen!

Schritt 4: Gehäuse

Gehege
Gehege
Gehege
Gehege
Gehege
Gehege

Ich habe alle Teile meines Gehäuses lasergeschnitten, das aus einer mattierten Acryl-Kriechpflanze, einer klaren Acryl-Kriechpflanze, 6 Stück Sperrholz besteht, mit einem rechteckigen Loch in der Größe der Acryl-Kriechpflanze und Löchern in den Ecken für Befestigungselemente und 1 Stück Sperrholz für die Rückseite, die Befestigungslöcher und ein größeres Loch hat, damit die Drähte herauskommen. Trennen Sie die Drähte vom NeoPixel-Stick, damit wir ihn in unserem Gehäuse montieren können. Die beiden folgenden PDF-Dateien können zum Laserschneiden aller von mir beschriebenen Teile verwendet werden.

Der NeoPixel-Stick wird mit den # 2 Holzschrauben und Nylon-Abstandshaltern an der Rückseite des Sperrholzes befestigt. Die Acrylkriechpflanzen sind in zwei der Sperrholzstücke mit quadratischen Löchern eingeklemmt. Merken Sie sich vorher, welche Drahtfarbe zu welchem Pad auf dem Stick gehört.

Die Acrylkriechpflanzen sind 1 Hundertstel Zoll größer als die Löcher, um eine sehr gute Passform mit dem Sperrholz zu gewährleisten. Ich benutzte den Griff der Abisolierzange, um gezielten Druck auf jede Ecke auszuüben und arbeitete um den ganzen Kriechgang herum, um eine gleichmäßige Passform zu erzielen. Alternativ enthält das Acryl-Laser-PDF eine Kletterpflanze, die in einem Stück in der Größe der gesamten Fläche des Gehäuses mit Befestigungslöchern eingraviert ist, sodass Sie vermeiden können, dass die kleinere Acrylkriechpflanze eng anliegt.

Das mattierte Acryl verteilt das Licht der einzelnen LEDs und das klare Acryl zeigt die Schlingpflanzengravur besser, daher sehen mir beide kombiniert besser aus als beide einzeln. Sobald die Kriechpflanzen an Ort und Stelle sind, stapeln Sie alle Ihre Sperrholzstücke zusammen und befestigen Sie sie mit den M3-Maschinenschrauben und Muttern. Verbinden Sie dann die Drähte wieder mit 5V, GND und Pin 12.

Schritt 5: Minecraft Forge und der SerialCraft Mod

Minecraft Forge und die SerialCraft-Mod
Minecraft Forge und die SerialCraft-Mod
Minecraft Forge und die SerialCraft-Mod
Minecraft Forge und die SerialCraft-Mod
Minecraft Forge und die SerialCraft-Mod
Minecraft Forge und die SerialCraft-Mod

Erstellen Sie zunächst ein Minecraft-Konto, laden Sie dann den Minecraft-Client herunter und installieren Sie ihn.

Sie benötigen Minecraft Forge für Version 1.7.10, um den SerialCraft-Mod installieren zu können. Gehen Sie zur Download-Seite von 1.7.10 Minecraft Forge. Die Minecraft Forge-Site enthält viele Anzeigen, die Sie dazu bringen sollen, auf das Falsche zu klicken und Sie woanders hinzubringen. Folgen Sie den obigen Bildern, um sicherzustellen, dass Sie auf dem richtigen Weg bleiben! Sie sollten auf die Schaltfläche Installer unter der empfohlenen Version 1.7.10 (oder der neuesten Version, ich bin mir nicht wirklich sicher, ob der Unterschied besteht). Sie werden zu einer Seite mit einem Banner am oberen Rand der Seite weitergeleitet, auf dem steht: "Der Inhalt unter dieser Kopfzeile ist eine Werbung. Klicken Sie nach dem Countdown rechts auf die Schaltfläche Überspringen, um den Forge-Download zu starten." Warten Sie auf den Countdown und klicken Sie dann auf die Schaltfläche Überspringen, um den Download zu starten.

Doppelklicken Sie auf das Installationsprogramm, nachdem der Download abgeschlossen ist. Lassen Sie die Standardeinstellungen aktiviert (Client installieren und den angegebenen Standardpfad), und klicken Sie dann auf OK. Es wird Minecraft Forge installieren. Wenn es fertig ist, können Sie den Minecraft Launcher starten, aber es gibt eine zusätzliche Option, um die Version 1.7.10 von Forge auszuwählen (siehe Bild oben).

Jetzt müssen wir den SerialCraft-Mod in Ihrem Mods-Verzeichnis installieren. Laden Sie hier die neueste Version des SerialCraft-Mods herunter. Sie benötigen auch die jssc-Bibliothek. Entpacken Sie beide Dateien, sodass Sie zwei.jar-Dateien haben sollten. Sie müssen diese Dateien in Ihren Mods-Ordner legen. Unter Windows sollten Sie in der Lage sein, im Startmenü zu Ausführen zu gehen und %appdata%\.minecraft\mods einzugeben, bevor Sie auf Ausführen klicken. Auf einem Mac können Sie zu Home/Library/Application Support/Minecraft/Mods navigieren. Legen Sie die beiden.jar-Dateien in den gerade geöffneten Ordner ab. Führen Sie nun Minecraft aus und starten Sie die 1.7.10 Forge-Version. Sie sollten in der Lage sein, auf Mods zu klicken und SerialCraft auf der linken Seite aufgelistet zu sehen.

Schritt 6: Verwenden des SerialCraft-Mods

Verwenden des SerialCraft-Mods
Verwenden des SerialCraft-Mods

Nachdem Sie den SerialCraft-Mod installiert haben, müssen Sie eine Welt betreten und sie verwenden. Erstellen Sie eine neue Welt oder öffnen Sie eine Ihrer gespeicherten Welten (wenn Sie auf einer Multiplayer-Karte spielen möchten, müssen Sie sicherstellen, dass auf dem Server und allen Clients, die sich damit verbinden, der SerialCraft-Mod installiert ist). Stellen Sie sicher, dass Ihr Creeper-Detektor mit Ihrem Computer verbunden ist, und drücken Sie dann die K-Taste. Es sollte ein Dialogfeld wie das obige Bild anzeigen (unter Windows anstelle von /dev/tty.usbserial… sollte es so etwas wie COM1 sagen). Wenn nichts angezeigt wird, stellen Sie sicher, dass Sie den Creeper Detector angeschlossen haben. Klicken Sie auf die Schaltfläche Verbinden und drücken Sie dann auf Escape. Wenn Ihr Code korrekt kompiliert und hochgeladen wurde, sollte Ihr Creeper Detector einsatzbereit sein! Wenn sich ein Creeper innerhalb von 32 Blöcken befindet, sollte er aufleuchten. Fröhliches Jagen!

Wenn Ihnen dieses Instructable gefallen hat, ziehen Sie bitte in Betracht, dafür im Minecraft-Wettbewerb und der Epliog-Herausforderung abzustimmen!

Minecraft-Herausforderung 2018
Minecraft-Herausforderung 2018
Minecraft-Herausforderung 2018
Minecraft-Herausforderung 2018

Zweiter Preis bei der Minecraft Challenge 2018

Empfohlen: