Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding LedBar Animation for Visual effects of OpenEVSE activity and status #898

Closed

Conversation

jdgarcia99
Copy link
Contributor

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

358304596-50391d9d-2dcd-44c9-bacd-6c80bb85f7b4

358304602-dcb84136-a5da-4086-a372-7aa2f38df942

@jdgarcia99 jdgarcia99 closed this Aug 22, 2024
@jdgarcia99 jdgarcia99 deleted the resync-with-OpenEVSE-repo branch August 22, 2024 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant