Adding LedBar Animation for Visual effects of OpenEVSE activity and status #898
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Here is my modification to the original OpenEVSE project to introduce a led bar as most commercial EVSEs have as seen in this discussion thread #891
I'm based on WS2812FX library to perform animations and visual effects.
My first intention is to show visually the status of the EVSE without using the screen nor the web interface and know quickly what is happening in the EVSE as follows:
If the EVSE is not charging the car, the bar have the same color code as the EVSE led (screen, buttons, etc) based on EVSE status
If the EVSE has any error, the led is blinking with corresponding color code
IF the EVSE is loading the car, the led will perform a "loading bar" animation to show this status. Also the speed of the animation will correspond with the intensity in Amps being provided to the car based on max Amp configured.
Led Bar bright can be configured directly from EVSE web interface Led brightness slider, so it is very intuitive to use and naturally integrated
Source code changed for this mod has been mainly done in LedManagerTask to create the integration
Notes for the implementation.
My Led Bar uses 15 pixels (you can configure num of pixels based on your own requirements for your bar) Param: NEO_PIXEL_LENGTH=15
I'm using the board WT32-ETH01 for the implementation. Thus I'm using some specific pin to communicate with the LED Bar. Change this configuration based on your own esp32 board. Param: NEO_PIXEL_PIN=12
An extra parameter has been created to use this functionality on the EVSE. Param: ENABLE_WS2812FX
In my use case, I'm also using a PN532 RFID reader to authorize session. Comment this param if not needed.
In the event of using PN532 reader with WT32-ETH01 board through I2C You need to comment pin definition for this board in the Arduino.h. Otherwise it will give you an error due to conflict with pins used for I2C
Due to the low power of OpenEVSE AC Transformer I decided to use an external DC power source to not overload OpenEVSE power source when full brightness (in future releases of the HW a more amp capable transformer can be used)
New animations and status can be introduced in the future based on this initial implementation.
Some pictures of the OpenEVSE working with this new functionality:
358303679-9548fec4-9b10-4377-ae12-56da410b780c.mov