Arduino LED Control Project Using PWM and Millis

Job ID: 33415679

Budget: $30 – $250 AUD

Hello,

I am looking for someone to assist in writing code for my Arduino LED control project.

About the project:

I am controlling 6 LED outputs in sequence through PWM control. This is controlled by an Arduino Wemos device and a PWM control board. I am controlling this through Arduino and creating patterns with the LED lights, there are various types of patterns I would like to be able to do, at the moment my coding skills only allow me to turn each LED on and off in certain orders to create these.

What I would like the code to control is each individual LED output in certain orders with a delay in between. The delay, LED number and PWM value must be editable so I can create patterns with certain time delays and brightness. I would also like to have pattern groups (coded groups) so I can move them around the code and change the order of certain patterns.

For this code I have researched that millis is the function I must use unless you can see an alternative. The delay function cannot be used due to pausing inside the code and interrupting the wifi feature of the Wemos device.

Components:
Wemos D1 Mini/Mini Pro 16MB ESP8266/ESP12 WiFi NodeMCU + Antenna
PCA9685 PWM Driver



I have attached my current working code file for your reference. I am completely new to coding so it might be a little shocking to someone with your experience.

Non Coded Basic Example:

LED 1 ON
DELAY 5s
LED 2 ON
DELAY 5s
LED 3 ON
DELAY 5s
LED 4 ON
DELAY 5s
LED 5 ON
DELAY 5s
LED 6 ON

LED 1 OFF
DELAY 3s
LED 2 OFF
DELAY 3s
LED 3 OFF
DELAY 3s
LED 4 OFF
DELAY 3s
LED 5 OFF
DELAY 3s
LED 6 OFF