GithubHelp home page GithubHelp logo

cashel / nanoleaf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from projectswithred/nanoleaf

0.0 0.0 0.0 8.16 MB

Modular NanoLeaf lights, create custom shapes, with ability to transform to a 4-digit display made up of 7-segment digits.

License: Other

nanoleaf's Introduction

NanoLeaf

A modular NanoLeaf lights that not only allows you to make any NanoLeaf shape using as many or as little segments as you want, but you can also use the same identical modular segments to create a 4-digit display, which can be used to display the time, temperature, humidity, or pretty much anything you want!

There is a video associated with this repository/project, I highly recommend watching it before using this repo.

Video

Code for any custom NanoLeaf shape

You simply just need to go to here, press install and follow the instructions.

Code for the 4-digit display

Keep in mind, that you don't need to do any of the steps below if you are just creating a NanoLeaf shape. For the code for any NanoLeaf shape, see Code for any custom NanoLeaf shape.

Please note, in the video (time: 13:37) I go through and show the exact steps on how to upload and use the code for the 4-digit display. Below is just a short text version.

  1. Install VSCode.
  2. In VSCode, install the PlatformIO IDE extension.
  3. Clone/download this repo.
  4. Open the /WLED directory in VSCode.
  5. There are two changes you need to make before uploading the code:
    • In WLED/platformio.ini, under the [env:esp32dev] environment, change the upload_port to your micro-controller port.
    • In WLED/usermods/NanoLeaf_Display/usermod_nanoleaf_display.h, change the ADDR_LEDS_PER_SEG variable to the number of addressable LED sections there are in your LED strip. Below is an illustration to explain this further. In the example below, there are 3 sections, since there are 2 cut marks, so if you were to cut the LED strip on the cut marks, you will get 3 seperate sections, this is the number you need to set the ADDR_LEDS_PER_SEG variable to.
    • LED strip sections
  6. Now you can upload the code.
  7. For the setup you need to do on the phone and how to use the usermod settings to control the 4-digit display, refer to the video (time: 14:42).

Components

  • ESP32, for the micro-controller.
  • 12V 8A, power supply.
  • LM2596 or any step down converter, to convert 12V to 5V for the ESP32. Remember to use the screw on this component to adjust its output voltage to 5V using a voltmeter.
  • LED strip, the specific one used in this project is the WS2811 LED strip. Each segment requires 15cm long LED strip. For the 4-digit display, you will need at least 5 meters.
  • 1000μF capacitor, across the LED strip.
  • A4 3mm matte opal acrylic sheets (x7), used to get the glowing effect. I recommend getting extra A4 sheets just in case something bad happens...
  • DHT11(optional), used to get the temperature and humidity when using the 4-digit display.
  • Power switch, to turn on and off.
  • M2 bolts, to attach the lid to the main housing part. They can be from 8mm to 12mm long.
  • 20 AWG flexible silicon wires, for connecting segments together.
  • Dupont crimping tool, the tool used to make the dupont connectors.

3D models

Please refer to the /3d_printing directory.

Acrylic sheet shape

To cut the acrylic to the correct shape, print this A4 sheet. To ensure you have printed it to the correct scale, measure the top size of the shape, which should be 12 cm.

Wiring

For any NanoLeaf shape

nanoleaf shape wiring diagram nanoleaf shape wiring image

For the 4-digit display

4-digit display wiring diagram 4-digit display wiring image

4-digit display segments wiring

4-digit display segments wiring diagram 4-digit display segments wiring image

nanoleaf's People

Contributors

projectswithred avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.