Looking for a coder - Make OLED, RTC and Optical Encoder communicate via I2C

Hello everyone!

I have a little project here and intend following function:

An array of LED’s should blink at 1.0 seconds ON followed by 5.0 seconds OFF, for a pre-defined time (around 8h), repeating every day.

The product shall contain an OLED, independent powered RTC and Optical Encoder to set LOCAL Time, ON-Time and OFF-Time upon installation.
Use of digital pin #7 of the Arduino to power a Photo-MOSFET Relay which is connected to the LED array.
Arduino, RTC, OLED and Optical Encoder shall communicate via I2C bus.

Function:

Every time power is supplied:
Digital output pin #7 of the Arduino goes high for 2 seconds.
OLED shows welcome message (text) for 5 seconds, then goes off.

At first power up, the local time (hh:mm) shall be set in the RTC.

After welcome message disappears:
Push Optical Encoder once, OLED shows current RTC time
Push and hold Optical Encoder for 6 seconds, OLED displays “SET LOCAL TIME” and the current RTC time, hh blinks
Set hh using the encoder
Push Optical Encoder once, OLED displays “SET LOCAL TIME” and the current RTC time, mm blinks
Set mm using the encoder
Push Optical Encoder once, OLED displays “LOCAL TIME” and the new set local time
If no action, OLED turns off after 10 seconds.

Next, the ON time shall be set.

After welcome message disappears:
Push Optical Encoder once, OLED displays “LOCAL TIME” and the local RTC time.
Push and hold Optical Encoder for 2 seconds, OLED displays “SET ON TIME” and the current RTC time, hh blinks
Set hh using the encoder
Push Optical Encoder once, OLED displays “SET ON TIME” and the current RTC time, mm blinks
Set mm using the encoder
Push Optical Encoder once, OLED displays “ON TIME” and the new set ON-Time
If no action, OLED turns off after 10 seconds.

Next, the OFF time shall be set.

After welcome message disappears:
Push Optical Encoder once, OLED displays “LOCAL TIME” and the local RTC time.
Push and hold Optical Encoder for 4 seconds, OLED displays “SET OFF TIME” and the current RTC time, hh blinks
Set hh using the encoder
Push Optical Encoder once, OLED displays “SET OFF TIME” and the current RTC time, mm blinks
Set mm using the encoder
Push Optical Encoder once, OLED displays “OFF TIME” and the new set OFF-Time
If no action, OLED turns off after 10 seconds.

Components:

I2C Adresses:

OLED: 0x3C
Clock: 0x68
Encoder: 0x08

I am looking for someone who can do the coding for me as I do not have a programming background. Please PM, thank you. Compensation offered.

Are you mentioning those parts because they are what you already have on hand, or because it's what you prefer to use? Are you open to using other components?

Where are you located?

-jim lee

Hey Michael,

I'm getting your PMs but somehow seems like you aren't from my side!
Lets talk using email.