Code Monkey home page Code Monkey logo

lightbar's Introduction

lightbar

What is lightbar?

Simple packet communication between 900mhz radios. reciever is half of the solution, the other half is in the transmitter application.

Purpose

Starting point for custom LED strip installs

Contributors

Software Dependencies

BOM

  • 1 or more: Adafruit Rotary Encoder 377b
  • 1 or more: simple buttons
  • LED strip; any supported by FastLED or Adafruit NeoPixel (for RGBW)
  • optional: Blinkytape (Arduino Leonardo with 60 WS2811)
  • 1X: MCU if not Blinkytape
  • 1 protoboard
  • wire

Pinouts

  • buttons to digital pin, ground
  • rotary encoder to interupt enabled pins, ground
  • LED strip to data pin(s), independent 5v, power GND + Arduino GND

Information Sources

  • See Evernote note on wiring for LED strips.

Issues

  • 111820 - [P1] Code does not compile when lightfieldeffects.ino is included. Code needs to be transitioned to David's LEDControl library

Questions

Learnings

Feature Requests

Revisions

  • 10/17/14
    • fork from example to control LPD8806-based RGB LED Modules in a strip
    • added multiple button support, will be augmented/replaced by rotary encoder in future version
  • 11/15/14
    • prototypes for desired lighting functions (lightXxYy)
  • 04/21/15
    • fixed bugs in lightColorFill
  • 03/02/16
    • first version in GitHub
    • added rotary encoder, code is extremely crude
  • 04/27/16
    • 03/02/16 - rotary encoder push is captured
    • code readability improved, still much to do
  • 05/22/16
    • changed rotation tracking to boolean
    • 03/02/16 - fixed wrap-around of intensity bug
    • moved light test script from loop() to lightTest, no dev work done on function itself
    • hard coded button functionality, now can comment out functionality based on hardware config
  • 12/27/16
    • completed 05/22/16 revisions
    • 03/02/16 - switch from LED intensity (one value) to r,g,b levels
  • 12/29/16
    • fixed bug in blue to white transition
    • 04/21/15 - move light functions to library
    • 03/02/16 - added off (0) state to stripColor to control On/Off
    • 03/02/16 - added "powered" On/Off state with control from rotary encoder; Arduino and LED are powered, LEDs at 0,0,0
  • 07/19/17
    • Moved revision history, feature requests, build targets, etc. to README.md
    • refactored code in loop() 07/29/17
    • 03/02/16 - can I use FastLED or other generic library
  • 08/01/17
    • 04/27/16 - consistent use of wire color for ground, etc.
    • 12/27/16 - standard connectors for LED strip
    • 07/29/17 - FastLED 3.1 upgrade
    • 07/29/17 - move LED pins to SPI
    • 07/29/17 - how do I checkin code with new filename
  • 08/06/17
    • 07/29/17 - fix lightfieldeffects.ino after FastLED transition
  • 11/21/17
    • completed lightfieldeffects.ino fixes after FastLED transition
    • conditional code branching for blinkytape and LPD8806 11/26/17
    • 12/29/16 - button support to library
    • 11/20/17 - button globals probably don't need to be global
  • 05/05/19
    • [FR 08/06//17] should I run a FastLED.clear() before each light function?
      • Yes, functions don't clear themselves so higher logic can control this
    • [FR 08/06/17] switch delay() to FastLED.delay function?
      • No, FastLED.delay() only for platforms without native delay() function
    • added brightness parameter to lightColorChase, lightTheatreChase
    • updated button initialization based on changes to button library
  • 06/02/19
    • variable name changes to improve code readability
    • function name alignment missed during 05/05/19 changes
    • [FR 05/10/19] ARM compilation
    • [FR 03/02/16] CRGB::Red is green and CRGB::Green is Red [LPD8086]
  • 04/25/20
    • [FR 11/24/17] transition to encoder library for rotary encoder support
    • [FR 05/22/16] why do I care about halfLeft and halfRight? -> CLOSED with encoder.h
    • [FR 11/20/17] enum stripColor for readability
    • [FR 11/24/17] stripColor should not also embed on/off status (see 03/02/16), impacts resolveButtons
    • [FR 11/24/17] implement DEBUG flag for print and println and put !Serial under that debug flag
    • RGBW strip support via Adafruit NeoPixel library
  • 111820
    • Added more control for RGBW strips

lightbar's People

Contributors

ericklein avatar

Watchers

 avatar

lightbar's Issues

Intensity to rgb values

Need to change from tracking LED intensity as a single variable to individual values for r,g,b? Color space Q to research

Move light functions to library

Dependent on abstraction from LED library? or kill them once I use generic library? unless that library does not support more complex light "functions"

Color cycling is not correct

Color does not proper decrement to zero or increment to maximum. It is wrapping around because there is not code handling signed int +10 or -10

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.