LED Würfel mit Farbwechsel durch LED Ring und Gyroskop - AZ-Delivery

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:

Fritzing für Gyroskop mit LED Projekt

 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();
}
Projekte für anfänger

19 Reacties

Rüdiger Lübchow

Rüdiger Lübchow

Andreas Wolter: Vielen Dank für den Tip. Funktioniert !

Andreas Wolter

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

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

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.

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

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.

Roman L.

Set ist bestellt, gerne mehr von den Videos, die Codeerklärungen sind gerade für mich als Anfänger sehr hilfreich.

Pontifex

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

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

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

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

Rudi

Sehr schönes Bastelbeispiel. Gerne mehr davon!

Bernd-Steffen Großmann

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

Thomas

Vielen Dank für das Projekt! Sind auch die 3D-Druck Teile als stl-Datei verfügbar?

Bernd-steffen Großmann

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

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

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

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

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?

Laat een reactie achter

Alle opmerkingen worden voor publicatie gecontroleerd door een moderator

Aanbevolen blogberichten

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery