Code Monkey home page Code Monkey logo

piled's Introduction


๐ŸŒˆ PiLED

Point and click. Instant feedback. Construct what you want.

Travis CI License License License

Key Features โ€ข Usage โ€ข Setup โ€ข Credits โ€ข License

screenshot

PiLED has a graphical user interface (GUI) to easily control a RGB LED strip. It also has pre-defined LED patterns which you can quickly chain together to create your own sequences.

Key Features

There are three key features:

  1. Pre-defined LED patterns
  2. Construct your own sequence
  3. GUI app which provides instant feedback

Pre-defined LED Patterns

There are 5 pre-defined LED patterns:

  1. Color Wipe
  2. Pulse
  3. Wave
  4. Rainbow Cycle
  5. Rainbow Chase

Construct Your Own

To make even more awesome LED sequences, you can construct your own sequences by chaining together the above pre-defined LED patterns. All you have to do is click the "Add to Construction" button to add the pre-defined LED pattern to your own LED sequence.

GUI App

To create a color sequence, you can use a color picker to visually choose the color you want, rather than fumbling for hex codes.

After picking the color, the LED strip will immediately display the chosen color sequence so that you can instant feedback.

Usage

usage: sudo main.py [OPTIONS]

Options:
  --led_count           Number of LED pixels
  --led_pin             GPIO pin to control LED strip
  --led_brightness      Brightness of pixels (between 0 and 255)
  --use_gui             Use GUI app or command-line
  -h, --help            show this help message and exit

Setup

There are two simple parts to the set-up: wiring the circuit and installing required Python packages.

Wiring the Circuit

You only need the following hardware:

  • Raspberry Pi 3/4
  • WS2812 or SK6812 RGB LED strip
  • Three jumper wires

Connect them according to the diagram below:

Installing

Install the following packages:

$ sudo apt-get install python3-tk
$ sudo apt-get install python3-pil python3-pil.imagetk
$ sudo pip3 install rpi_ws281x
$ sudo pip3 install ttkthemes
$ sudo pip3 install tkcolorpicker
$ git clone https://github.com/jwnicholas99/PiLED.git

Credits

  • Python - Everything is written in Python
  • rpi-ws281x-python - Handles all the low-level stuff of controlling the LED strip
  • Tkinter - Creates the GUI app

License

This project is licensed under the MIT License - see the LICENSE.md file for details

piled's People

Contributors

jwnicholas99 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

piled's Issues

[FEAT] Create new pre-defined LED patterns

Currently, we are only limited to 5 pre-defined LED patterns: Color Wipe, Pulse, Wave, Rainbow Cycle and Rainbow Chase. It would be awesome if we can create more LED patterns! Create anything you want!

To create a new pre-defined LED pattern, you will need to create a new method for the Moodlights class in utils/moodlights.py. To control each pixel, check out the methods of the Pixel class in utils/pixel.py.

[FEAT] Improve GUI

The GUI is currently implemented in Tkinter, an easy-to-use but not so great looking UI. If you would like to improve the UI using Tkinter or any other GUI modules, feel free to work on this issue!

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.