Skip to content

InzynierDomu/LED_tester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LED_tester

Simply device to help work with LEDs.

GitHub Workflow Status GitHub release (latest SemVer) GitHub docs deployments Discord GitHub support

About

Project described: note PL, video PL

💖 Support

If any of my projects have helped you in your work, studies, or simply made your day better, please consider supporting my work. LINK

The device in the plan has 3 operating modes:

  • WS2812 color picker
  • PWM generator for simply LED
  • Change of PWM in time characteristics

Mode changing

The modes can be changed with buttons on top pic 1.

  1. WS2812 color picker
  2. PWM generator for simply LED
  3. Change of PWM in time characteristics

mode_buttons pic 1. Mode changing buttons

Joystick

Every mode has different handling reactions from joystick (1. on pic 2.) control. pwm_chart_mode pic 2. Change of PWM in time characteristics mode

WS2812 color picker

The device can control the intensity of red, green and blue colors on a scale from 0 to 255.
To do this, use the joystick: up / down to select a color; right / left to increase / decrease the color saturation value color_mode pic 3. WS2812 color picker mode

PWM generator for simply LED

The device can control the intensity LED light with PWM. To do this, use the joystick: up / down to change duty. pwm_mode pic 4. PWM generator for simply LED mode

Change of PWM in time characteristics

The device can control the intensity LED light with PWM in time or manual based on mathematical function (pic 2.). To do this, use the joystick: up / down to select mathematical function; right / left to change input to mathematical function; center to run mathematical function from 0 to max PWM value.

Scheme

The code is prepared for Wio Terminal. About platform: video.
WS2812 data pin is connected to BCM27. LED connected to BCM23.

IDE

The project is prepared for the Platform IO environment. A video on how to install such an environment can be watched on this video.

Unit tests were prepared with googletest. The description of how it runs is in the video.

Formatting is done using clang-format. The description of the tool configuration is in the video.

The code contains a comment prepared for doxygen, their use is described in the video.