Inhaltsverzeichnis:

Sechsseitige PCB LED-Würfel mit WIFI & Gyroskop - PIKOCUBE - Gunook
Sechsseitige PCB LED-Würfel mit WIFI & Gyroskop - PIKOCUBE - Gunook

Video: Sechsseitige PCB LED-Würfel mit WIFI & Gyroskop - PIKOCUBE - Gunook

Video: Sechsseitige PCB LED-Würfel mit WIFI & Gyroskop - PIKOCUBE - Gunook
Video: Electronic RGB dice with bluetooth connectivity...GAME CHANGERS! | Electronics Maker 2024, Juli
Anonim
Sechsseitige PCB-LED-Würfel mit WIFI & Gyroskop - PIKOCUBE
Sechsseitige PCB-LED-Würfel mit WIFI & Gyroskop - PIKOCUBE

Hallo Macher, es ist Macher Moekoe!

Heute möchte ich euch zeigen, wie man aus sechs Platinen und insgesamt 54 LEDs einen echten LED-Würfel baut. Neben seinem inneren Gyroskopsensor, der Bewegungen und Würfelposition erkennen kann, verfügt der Würfel über einen ESP8285-01F, die kleinste WiFi-MCU, die ich bisher kenne. Die Abmessungen der MCU betragen nur 10 mal 12 Millimeter. Jede einzelne Platine hat Abmessungen von 25 mal 25 Millimetern und enthält neun WS2812-2020 Mini-LED-Pixel. Neben dem Controller befindet sich ein 150mAh Lipo Akku und eine Ladeschaltung im Inneren des Würfels. Aber dazu später mehr…

Wenn Sie auf der Suche nach einem noch kleineren Würfel sind, dann schauen Sie sich die erste Version an, die ich auf meiner Website erstellt habe. Es ist in Epoxidharz gegossen!

Pikocube-Version 1

Schritt 1: Lassen Sie sich inspirieren

Image
Image

Genieße das video!

In diesem Video finden Sie fast alles für den Würfel. Für weitere Informationen, Design-, PCB- und Codedateien können Sie die folgenden Schritte ausführen.

Schritt 2: PCB-Design

PCB-Design!
PCB-Design!
PCB-Design!
PCB-Design!
PCB-Design!
PCB-Design!

Wie Sie vielleicht wissen, ist Autodesk EAGLE meine bevorzugte PCB-Designsoftware. Deshalb habe ich es auch für dieses Projekt verwendet.

Ich habe angefangen, zwei verschiedene PCB-Designs zu verwenden, weil ich den Würfel nicht größer machen möchte, als er muss. Die äußeren Formen beider Leiterplatten sind nur Quadrate von 25x25 Millimetern. Das Besondere an diesen Platinen sind die drei kastellierten Löcher auf jeder Seite, die die drei Signale +5V, GND und das LED-Signal über den Cube verteilen. Die Reihenfolge der Leiterplatten ist in einem der obigen Schemata dargestellt. Ich hoffe, Sie können sich vorstellen, dass die farbigen Seiten zusammengehören, wenn der Würfel als Würfel gefaltet ist. Die Pfeile markieren die Signalleitung WS2812.

Die Schaltpläne, Platinen und die BOMs beider PCBs werden diesem Schritt beigefügt.

Schritt 3: Leiterplatten und Komponenten

Leiterplatten und Komponenten!
Leiterplatten und Komponenten!
Leiterplatten und Komponenten!
Leiterplatten und Komponenten!
Leiterplatten und Komponenten!
Leiterplatten und Komponenten!

Der ganze Würfel besteht aus zwei verschiedenen Arten von Leiterplatten. Der erste kommt mit der Ladeschaltung und der Lipo-Batteriebuchse und der zweite enthält die MCU, den Sensor und eine Stromverriegelungsschaltung. Natürlich müssen die Leiterplatten jeweils nur einmal bestückt werden. Der ganze Rest enthält nur die neun LEDs an der Außenseite des Würfels.

Das Besondere an der Platine sind die auf jeder Seite kastellierten Löcher. Einerseits werden diese Löcher/Lötpads verwendet, um den Würfel wie einen Würfel aussehen zu lassen und alles an Ort und Stelle zu halten und andererseits überträgt er sowohl die Leistung für die LEDs als auch das WS2812-Signal. Letzteres ist komplizierter, weil es in einer bestimmten Reihenfolge sein muss. Jede Platine hat nur genau ein Ein- und ein Ausgangssignal und um ein Signal an einer Stelle zu unterbrechen, habe ich ein paar SMD-Lötbrücken hinzugefügt.

Teile, die Sie für die MCU-Platine benötigen:

  • ESP8285-01F WLAN-MCU
  • ADXL345 Gyroskop
  • SMD-Kondensatoren 0603 (100n, 1µ, 10µ)
  • SMD-Widerstände 0603 (600, 1k, 5k, 10k, 47k, 100k, 190k, 1M)
  • SMD-Diode SOD123 1N4148
  • SMD-LED 0805
  • SMD-Mosfet (IRLML2244, IRLML2502)
  • SMD-LDO MCP1700
  • SMD 90-Grad-Knopf
  • WS2812 2020 LED

Teile, die Sie für die Leistungsplatine benötigen:

  • MCP73831 Lade-IC
  • SMD-Kondensatoren 0603 (100n, 1µ, 10µ)
  • SMD-Widerstände 0603 (1k, 5k, 10k)
  • SMD-Diode MBR0530
  • SMD-LED 0805
  • SMD-Mosfet (IRLML2244)
  • JST 1,25 mm 2P-Anschluss
  • WS2812 2020 LED

Schritt 4: Zusammenbau des Würfels

Zusammenbau des Würfels!
Zusammenbau des Würfels!
Zusammenbau des Würfels!
Zusammenbau des Würfels!
Zusammenbau des Würfels!
Zusammenbau des Würfels!
Zusammenbau des Würfels!
Zusammenbau des Würfels!

Alle Details zum Zusammenbau des Würfels finden Sie im obigen Video.

Der Zusammenbau des Würfels ist nicht der einfachste Teil, aber um es etwas einfacher zu machen, habe ich eine kleine Löthilfe entworfen, bei der mindestens drei der sechs Platinen miteinander verlötet werden können. Wenn Sie dies zweimal tun, erhalten Sie zwei Leiterplattenkanten, die verbunden werden müssen, sobald alles funktioniert. Ja, stellen Sie sicher, dass alles funktioniert. Ich habe es noch nicht getestet, aber das Auslöten einer Platine aus dem Würfel könnte schwierig sein.

Stellen Sie sicher, dass Sie drei Platinen zusammenlöten, bevor Sie die Batteriebuchse anbringen. Andernfalls müssen Sie die.stl-Datei mit einem kleinen Loch modifizieren, in das die Buchse passt.

Schritt 5: Arduino-Code

Der Cube startet mit einem deaktivierten WLAN, um etwas Strom zu sparen, was als Modemschlaf bezeichnet wird. In Bezug auf das ESPs-Datenblatt benötigt die MCU im Modemschlaf nur 15 mA, während sie im Normalmodus etwa 70 mA benötigt. Gut für batteriebetriebene Geräte wie dieses. Um dies zu erreichen, benötigen Sie den folgenden Codeteil, bevor Sie die Setup-Funktion aufrufen.

void preinit() {

ESP8266WiFiClass::preinitWiFiOff(); }

Mit einem weiteren Tastendruck können Sie das WLAN aufwecken, indem Sie die Standardfunktion WiFi.begin() aufrufen oder in diesem Fall die Blynk.begin(), die der Setup-Aufruf für die APP ist, die ich zur Steuerung des Cubes gewählt habe.

Das Konvertieren einiger Animationen in den Würfel ist nur ein bisschen Mathematik. Die Matrixkonvertierung in ein Pixel an einer bestimmten Außenwand erfolgt mit dieser einfachen Hilfsfunktion:

int get_pixel(int mat, int px, int py) {

// beginnend in der oberen linken Ecke Return (px + py * 3) + mat * 9; }

In Bezug auf die PCB-Pixelübersicht in Schritt 2 ist die erste Matrix die obere, die zweite die nach vorne gerichtete, die nächsten um den Würfel herum in die richtige Richtung und die letzte Matrix ist die untere.

Wenn Sie den beigefügten Code verwenden, müssen Sie die WLAN-Anmeldeinformationen bearbeiten, damit sie mit Ihrem Netzwerk übereinstimmen. Für die korrekte Verwendung mit der Blynk APP stellen Sie sicher, dass Sie beide Dateien (BLYNK.ino und die andere mit Blynk darin) in denselben Ordner legen, bevor Sie die Skizze öffnen. Die Skizze enthält zwei verschiedene Registerkarten. Die andere Datei, die eigentlich nichts tut, muss nicht mit einem weiteren Tab versehen werden. Es dient nur dazu, den Würfel in den Ruhezustand zu versetzen, wenn die Taste nicht gedrückt wurde. Andernfalls schläft der Würfel nicht ein und zieht ständig Strom.

Schritt 6: Die APP

Die App!
Die App!
Die App!
Die App!

Wie bereits erwähnt, startet der Würfel mit einem einzigen Tastendruck. Aber mit der WLAN-Funktionalität fängt es überhaupt nicht an. Ein weiteres einmaliges Drücken, während der Cube bereits eingeschaltet ist, startet WiFi und verbindet sich mit einem vordefinierten Netzwerk. Danach können Sie den Würfel mit der BlynkAPP steuern. Natürlich kann man die Funktionalität erweitern, es gibt viele Möglichkeiten für dieses Ding…

Ein einfaches Beispiellayout innerhalb der Blynk APP wird hier gezeigt. Es besteht aus zwei SLIDER (Helligkeit und Animationsgeschwindigkeit), zwei STYLED BUTTON (Animationsmuster ändern und Würfel ausschalten), einem STEP zum Ändern des Würfelmodus, einer LED zur Anzeige der Würfelseite und nicht zuletzt einer GAUGE für zeigt den Batteriestatus an. Alle diese Widgets verwenden die virtuellen Pins für die APP-MCU-Kommunikation. Um die virtuellen Pins über die MCU zu lesen, muss diese Funktion aufgerufen werden, während sich V1 auf den verwendeten virtuellen Pin bezieht und param.asInt() den aktuellen Wert des Pins enthält. Die Constraint-Funktion dient nur zur Begrenzung der eingehenden Werte (Sicherheit zuerst:D).

BLYNK_WRITE(V1) {

// Schritt H t = Millis (); current_mode = Constraint(param.asInt(), 0, n_modes - 1); }

Um einen virtuellen Pin in die Blynk APP zu schreiben, können Sie die folgende Funktion verwenden:

int data = getBatteryVoltage();

Blynk.virtualWrite (V2, Daten);

Weitere Informationen dazu erhalten Sie in der Arduino-Skizze!

Schritt 7: Viel Spaß

Spaß haben!
Spaß haben!

Das Entwerfen und Bauen des Würfels hat mir sehr viel Spaß gemacht! Trotzdem hatte ich einige Probleme damit. Erstens wollte ich eine Aufwärtswandlerschaltung in der ersten Version des Würfels verwenden, um sicherzustellen, dass die WS2812-LEDs mit 5 V laufen. Zum Glück laufen sie auch mit einer Lipo-Spannung von etwa 3, 7V, da der Aufwärtswandler viel zu laut war und das LED-Signal stört, was zu einem unbeabsichtigten Blinken des Würfels führt.

Das zweite große Problem ist, dass ich auch für die zweite Version die Möglichkeit zum kabellosen Laden verwenden wollte. Zum Glück habe ich einige Ladepads hinzugefügt, die von der Außenseite des Würfels zugänglich sind, da die induktive Leistung durch die GND-Ebenen der Platine und der Komponenten gestört wird. Dazu muss ich eine 3D-gedruckte Ladestation erstellen, damit der Würfel eingesetzt werden kann und einige Kontakte an den Würfel gedrückt werden.

Hoffe, dass Sie es genossen haben, dieses anweisbare zu lesen und einen Weg gefunden haben, Ihren eigenen Würfel zu bauen!

Schaut gerne auf meinem Instagram, meiner Website und meinem Youtube-Kanal vorbei, um mehr über den Würfel und andere tolle Projekte zu erfahren!

Wenn Sie Fragen haben oder etwas fehlt, lassen Sie es mich bitte in den Kommentaren unten wissen!

Viel Spaß beim Gestalten!:)

PCB-Design-Herausforderung
PCB-Design-Herausforderung
PCB-Design-Herausforderung
PCB-Design-Herausforderung

Erster Preis bei der PCB Design Challenge

Empfohlen: