In diesem Video wollen wir ein neues Projekt vorstellen. Dabei soll ein LED Würfel mit automatischem Farbwechsel gebaut werden. Um das zu realisieren kommen der LED Ring, das Gyroskop und ein D1 Mini ESP32 zum Einsatz.
Hier finden Sie die verwendeten Produkte:
Downloads
3D-Druckvorlagen bei Thingiverse
Sketch LEDWuerfel.ino
Verdrahtung:
Programmcode:
/* ___ _____ ____ ___ / /__ / / __ \___ / (_) _____ _______ __ / /| | / / ______/ / / / _ \/ / / | / / _ \/ ___/ / / / / ___ |/ /_/_____/ /_/ / __/ / /| |/ / __/ / / /_/ / /_/ |_/____/ /_____/\___/_/_/ |___/\___/_/ \__, / /____/ Produkt, Datenblatt und Pinout unter: https://www.az-delivery.de/ Projekt: GY-521 MPU-6050 3-Achsen-Gyroskop Sensor und RGB LED Ring Datum: 10/2022 */ #include <Arduino.h> #include <Adafruit_MPU6050.h> #include <Adafruit_Sensor.h> #include <Wire.h> #include <FastLED.h> Adafruit_MPU6050 mpu; float xtreshhold = 0.0; float ytreshhold = 0.0; float ztreshhold = 0.0; #define NUM_LEDS 12 #define DATA_PIN 25 CRGB leds[NUM_LEDS]; void setTreshholds() { sensors_event_t a, g, temp; mpu.getEvent(&a, &g, &temp); xtreshhold = (a.acceleration.x); ytreshhold = (a.acceleration.y); ztreshhold = (a.acceleration.z); } void setup(void) { Serial.begin(115200); if (!mpu.begin()) { Serial.println("Failed to find MPU6050 chip"); while (true) { } } FastLED.addLeds<WS2812, DATA_PIN, GRB>(leds, NUM_LEDS); } void loop() { setTreshholds(); if (ztreshhold <= -4.5) // DOWN { for (int i = 0; i < NUM_LEDS; i++) { leds[i].setRGB(255, 0, 0); // RED } } else if (ztreshhold >= 4.5) // UP { for (int i = 0; i < NUM_LEDS; i++) { leds[i].setRGB(0, 255, 0); // GREEN } } else if (xtreshhold <= -4.5) // LEFT { for (int i = 0; i < NUM_LEDS; i++) { leds[i].setRGB(0, 0, 255); // BLUE } } else if (xtreshhold >= 4.5) // RIGHT { for (int i = 0; i < NUM_LEDS; i++) { leds[i].setRGB(255, 255, 0); // YELLOW } } else if (ytreshhold <= -4.5) // FRONT { for (int i = 0; i < NUM_LEDS; i++) { leds[i].setRGB(0, 255, 255); // cyan } } FastLED.setBrightness(20); FastLED.show(); }
19 Reacties
Rüdiger Lübchow
Andreas Wolter: Vielen Dank für den Tip. Funktioniert !
Andreas Wolter
@Rüdiger Lübchow: dazu habe ich das hier bei Guthub gefunden:
https://github.com/FastLED/FastLED/issues/1169#issuecomment-760987755
Es ist scheinbar eine Warnung, die man ignorieren muss.
Grüße,
Andreas Wolter
AZ-Delivery Blog
Rüdiger Lübchow
Nach der Änderung wird die FastLED.h gefunden, aber beim Kompilieren erhalte ich einen Fehler aus der fastspi.h : “No hardware SPI pin defined”. ??? Würde mich freuen, wenn jemand einen helfenden Hinweis hat.
Andreas Wolter
Ich habe die include Zeile für die FastLED Bibliothek geändert. Danke für den Hinweis.
Grüße,
Andreas Wolter
AZ-Delivery Blog
M.K.
Die Programmzeile"#include " ist wirklich falsch. Bitte schnellstmöglichst ändern. Da gehört “#include ” hin. Ihr solltet mal die Programmierung vorher testen bevor ihr sie hier veröffentlicht. Ich bin absoluter Neuling und dieser Fehler ist unmöglich für mich zu finden.
MFG M.K.
Valentin Willman
Ich habe etwas gebraucht, um den Fehler zu sehen: die Bibliothek heißt FastLED, im Programm steht aber #include <fastLED.h>, hatte noch niemand dieses Problem? Sonst ganz prima für Einsteiger.
Roman L.
Set ist bestellt, gerne mehr von den Videos, die Codeerklärungen sind gerade für mich als Anfänger sehr hilfreich.
Pontifex
Thanks a lot for this publish.
I built it this weekend and it looks awesome.
The cube in action is in this video: https://youtu.be/_MfcWejtqZY
I added some features, made another concept of power supply and wrote new code. Code, schematics and pictures are published here: https://github.com/Pontifex42/LightCube
I did not implement a web interface, but if someone wants to have a remote control, I implemented a “RemoteXY” interface using WiFi.
This can be modified easily.
Kevin
From the comments on the ThingVerse (STL files) page, this was derived from a project which allowed the light to be controlled via a Web page. Do you have the link to that article?
Is the project kit no longer available?
Sören
Amazing simple but delightful project. Please make more of this videos it helps me although I’m not speaking german but I can follow the code and I like the project ideas.
Andreas Wolter
Wir haben die Verlinkung zu der 3D-Druck-Vorlage und zur Sketch-Datei ergänzt.
Grüße,
Andreas Wolter
AZ-Delivery Blog
Rudi
Sehr schönes Bastelbeispiel. Gerne mehr davon!
Bernd-Steffen Großmann
Hallo, interessantes Projekt mit vielseitigen Einsatzmöglichkeiten (Stimmungs- oder Nachtlicht, Kinderspiel,…)
Warum aber einen völlig unterforderten ESP32 dafür nehmen, wenn ein Arduino Nano oder Pro Mini auch reicht. SCL vom MPU6050 an A5, SDA an A4 und den Steuereingang der LED-Kette / -Ring z.B. an D2 (oder einen anderen passenden digitalen Ausgang). Der Sketch funktioniert genauso gut, nur den Wert für DATA_PIN auf 2 (oder eben den anderen passenden digitalen Ausgang) ändern. Viel Spaß beim Ausprobieren!
Thomas
Vielen Dank für das Projekt! Sind auch die 3D-Druck Teile als stl-Datei verfügbar?
Bernd-steffen Großmann
Hallo, interessantes Projekt! Stellen Sie auch die STL-Dateien für das Gehäuse zur Verfügung?
Mit freundlichen Grüßen, Bernd-Steffen Großmann
Pontifex
Schön gemacht, danke.
Wird nette Bastelei für den Feierabend.
Gibt es eine STL oder Skizze für das Gehäuse?
Oder Bilder für die Oberflächen, die ich mir in per Inkscape in Fusion360 importieren kann?
Thorsten van de Mee
Hallo,
wäre es möglich die Druckdatei zu dem Würfel zu bekommen?
Ich würde diesen gerne meinem Sohn zum Geburtstag bauen/schenken.
Hans-Georg Müller
Werde das Projekt bestellen und ausprobieren. Schön, das der sketch fertig vorliegt, noch schöner wäre es, wenn die besonderen Befehle etwas ausdokumentiert wären, der Lerneffekt wäre größer und man könnte evt. auch selber Änderungen vornehmen.
Bernd
Hallo liebes azDelivery Team. So ein schönes kleines Projekt. Eine Frage habe ich noch. Gibt es irgendwo die Druckdateien für den Würfel?