GithubHelp home page GithubHelp logo

changing-leds's Introduction

Christmas lights

Using the ESP-32 as a controller

Requirements

  • ESP-32
  • LEDs (either single RGB LED, or LED strip)
  • wires
  • npn transistors
  • ESP-IDF (with working components)

Wiring

  • Pins 5, 18, 19 are RED, GREEN and BLUE, respectively (high-active)
  • If overall current exceeds the 40mA allowed by the GPIO pins, or higher than 5V is needed, then use transistors with their Base connected to the above mentioned pins. Otherwise (e.g. with a single LED) connect their positive ends to these pins.

For more info, look at the wiring sketches in the wiring folder!

Usage

  1. Clone the repo
  2. Set the SSID and PASS definitions in header.h for an available network's name and password.
  3. Plug in the ESP32 board / chip over a serial connection, then compile and flash (if your user can access serial ports without privilege escalation, omit the sudo -E):
    sudo -E make flash
  1. Take note of its IP address (either via your Router's management page, or by looking through the output of the chip with a serial monitor).

  2. Open that site in a browser.

  3. In this page, the following settings are to be seen:

    • Red, Green, Blue - if you choose the manual mode, you can set the LED's colour here.
    • Brightness, alpha-speed, beta-speed, alpha, beta, speed - if you choose the auto mode, the program will follow a route on the surface of a sphere (brightness - radius; alpha, beta - starting parameters; alpha-speed, beta-speed - how big jumps should the program make from one colour to another; speed - overall speed of the transition). This sphere represents the entire possibility of colours on a given overall brightness, with its axes defined by the 3 colours - Red, Green, Blue.
    • Auto vs. Manual - to choose from the two types.
  4. Click submit, and see how the LEDs change!

changing-leds's People

Contributors

leventebajczi avatar

Watchers

 avatar  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.