Adaptação código relógio digital com arduino

Olá
Estou iniciando com Arduino e to montando um projeto de um relógio com fita de led digital (ws2812b), e no momento queria ajuda pra fazer uma adaptação no código. Pq quero colocar um botão para controle do brilho dos leds ou então usar um ldr porem nao sei como fazer essa adaptação do Código


Desse jeito ds imagem que é a ligação do Arduino com demais componentes. Porém quero acrescentar esse botão ou então ldr para controle de brilho dos leds. Segue o código abaixo.

#include <Wire.h>
#include "Sodaq_DS3231.h"
#include <Adafruit_NeoPixel.h>
#define LED_PIN     6
#define LED_COUNT  30
#define BRIGHTNESS 8
#include <TinyWireM.h> //Library khusus untuk Attiny dalam penggunaan i2c
#include "TinyRTClib.h" //Library RTC
#include <DS3232RTC.h>
#include <Time.h>
Adafruit_NeoPixel pixels(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
int thn = 2021, bln = 3, tgl = 19, jam = 14, menit = 51, hari = 5;
int jam1, menit1, detik, detik1, tombol, y, z;
int tblUP = 3;
int tblDW = 4;
char weekDay[][7] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu" };

//year, month, date, hour, min, sec and week-day(starts from 0 and goes to 6)
//writing any non-existent time-data may interfere with normal operation of the RTC.
//Take care of week-day also.
//DateTime dt(2021, 2, 17, 14, 47, 0, 5);
//int alarm = 13;

void setup ()
{
  Serial.begin(9600);
  Wire.begin();
  pinMode(tblUP, INPUT_PULLUP);
  pinMode(tblDW, INPUT_PULLUP);
  pixels.begin();
  rtc.begin();
  //rtc.setDateTime(dt); //Adjust date-time as defined 'dt' above
}

void loop ()
{

  DateTime now = rtc.now(); //get the current date-time
  Serial.print(now.year(), DEC);
  Serial.print('/');
  Serial.print(now.month(), DEC);
  Serial.print('/');
  Serial.print(now.date(), DEC);
  Serial.print("-");
  Serial.print(weekDay[now.dayOfWeek()]);
  Serial.print(' ');
  Serial.print(now.hour(), DEC);
  Serial.print(':');
  Serial.print(now.minute(), DEC);
  Serial.print(':');
  Serial.print(now.second(), DEC);  
  Serial.println();
  //thn = now.year();
  //bln = now.month();
  //tgl = now.date();
  hari = now.dayOfWeek();
  menit = now.minute();
  detik = now.second();
  jam   = now.hour();
  jamWS();
  detikON();
  delay(500);
  detik1 = detik;
  while (detik == detik1) {
    DateTime now = rtc.now();
    detik = now.second();
    detikOFF();
  }
  menitWS();
  if (digitalRead(tblUP) == 0 && digitalRead(tblDW) == 0) {
    Serial.println("Setting");
    set_jam();//set jam
    set_menit();//set menit
    DateTime dt(thn, bln, tgl, jam, menit, 0, hari);
    rtc.setDateTime(dt);
  }

}

void set_jam() {
  detikON();
  tombol = 0;
  while (1) {
    jamWS0(); delay(200);
    jamWS(); delay(200);
    if (digitalRead(tblUP) == 0 || digitalRead(tblDW) == 0) {
      if (digitalRead(tblUP) == 0) {
        if (jam <= 22)jam++;
        else jam = 0;
      }
      if (digitalRead(tblDW) == 0) {
        if (jam >= 1)jam--;
        else jam = 23;
      }
      tombol = 0;
    }
    tombol++;
    if (tombol == 10)break;
  }
}
void  set_menit() {
  detikON();
  tombol = 0;
  while (1) {
    menitWS0(); delay(200);
    menitWS(); delay(200);
    if (digitalRead(tblUP) == 0 || digitalRead(tblDW) == 0) {
      if (digitalRead(tblUP) == 0) {
        if (menit <= 58)menit++;
        else menit = 0;
      }
      if (digitalRead(tblDW) == 0) {
        if (menit >= 1)menit--;
        else menit = 59;
      }
      tombol = 0;
    }
    tombol++;
    if (tombol == 10)break;
  }
}
void detikON() {
  pixels.setPixelColor(14, pixels.Color(150, 0, 250));
  pixels.setPixelColor(15, pixels.Color(252, 38, 178));
  pixels.show();
}
void detikOFF() {
  pixels.setPixelColor(14, pixels.Color(0, 0, 0));
  pixels.setPixelColor(15, pixels.Color(0, 0, 0));
  pixels.show();
}
void menitWS() {
  for (z = 0; z <= 7; z += 7) {
    if (z == 0)menit1 = menit / 10;
    if (z == 7)menit1 = menit % 10;
    if (menit1 == 0)s10();
    if (menit1 == 1)s11();
    if (menit1 == 2)s12();
    if (menit1 == 3)s13();
    if (menit1 == 4)s14();
    if (menit1 == 5)s15();
    if (menit1 == 6)s16();
    if (menit1 == 7)s17();
    if (menit1 == 8)s18();
    if (menit1 == 9)s19();
  }
}
void menitWS0() {
  for (z = 16; z <= 29; z++) {
    pixels.setPixelColor(z, pixels.Color(0, 0, 0)); //a-g
    pixels.show();
  }
}
void jamWS() {
  for (y = 0; y <= 7; y += 7) {
    if (y == 0)jam1 = jam / 10;
    if (y == 7)jam1 = jam % 10;
    if (jam1 == 0)s20();
    if (jam1 == 1)s21();
    if (jam1 == 2)s22();
    if (jam1 == 3)s23();
    if (jam1 == 4)s24();
    if (jam1 == 5)s25();
    if (jam1 == 6)s26();
    if (jam1 == 7)s27();
    if (jam1 == 8)s28();
    if (jam1 == 9)s29();
  }
}
void jamWS0() {
  for (y = 0; y <= 13; y++) {
    pixels.setPixelColor(y, pixels.Color(0, 0, 0));
    pixels.show();
  }
}


void s20() { // angka 0 pada JAM
  pixels.setPixelColor(0 + y, pixels.Color(0, 0, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 255)); //b
  pixels.setPixelColor(2 + y, pixels.Color(150, 0, 255)); //c
  pixels.setPixelColor(3 + y, pixels.Color(255, 100, 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(255, 236, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(255, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(255, 0, 130)); //g 
  pixels.show();
}

void s21() { //angka 1 pada JAM
  pixels.setPixelColor(0 + y, pixels.Color(0, 0, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 255)); //b
  pixels.setPixelColor(2 + y, pixels.Color(0, 0, 0)); //c
  pixels.setPixelColor(3 + y, pixels.Color(0, 0, 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(0, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(255, 0, 130)); //g
  pixels.show();
}
void s22() { //angka 2 pada JAM
  pixels.setPixelColor(0 + y, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 255)); //b
  pixels.setPixelColor(2 + y, pixels.Color(150, 0, 255)); //c
  pixels.setPixelColor(3 + y, pixels.Color(0, 0, 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(255, 236, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(255, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(0, 0, 0)); //g 
  pixels.show();
}
void s23() { //angka 3 pada JAM
  pixels.setPixelColor(0 + y, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 255)); //b
  pixels.setPixelColor(2 + y, pixels.Color(150, 0, 255)); //c
  pixels.setPixelColor(3 + y, pixels.Color(0, 0, 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(255, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(255, 0, 130)); //g 
  pixels.show();
}
void s24() { //angka 4 pada JAM
  pixels.setPixelColor(0 + y, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 255)); //b
  pixels.setPixelColor(2 + y, pixels.Color(0, 0, 0)); //c
  pixels.setPixelColor(3 + y, pixels.Color(255, 100, 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(0, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(255, 0, 130)); //g 
  pixels.show();
}
void s25() { //angka 5 pada JAM
  pixels.setPixelColor(0 + y, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 0)); //b
  pixels.setPixelColor(2 + y, pixels.Color(150, 0, 255)); //c
  pixels.setPixelColor(3 + y, pixels.Color(255, 100, 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(255, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(255, 0, 130)); //g 
  pixels.show();
}
void s26() { //angka 6 pada JAM
  pixels.setPixelColor(0 + y, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 0)); //b
  pixels.setPixelColor(2 + y, pixels.Color(150, 0, 255)); //c
  pixels.setPixelColor(3 + y, pixels.Color(255, 100, 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(255, 236, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(255, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(255, 0, 130)); //g 
  pixels.show();
}
void s27() { //angka 7 pada JAM
  pixels.setPixelColor(0 + y, pixels.Color(0, 0, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 255)); //b
  pixels.setPixelColor(2 + y, pixels.Color(150, 0, 255)); //c
  pixels.setPixelColor(3 + y, pixels.Color(0, 0 , 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(0, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(255, 0, 130)); //g 
  pixels.show();
}
void s28() { //angka 8 pada JAM
  pixels.setPixelColor(0 + y, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 255)); //b
  pixels.setPixelColor(2 + y, pixels.Color(150, 0, 255)); //c
  pixels.setPixelColor(3 + y, pixels.Color(255, 100, 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(255, 236, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(255, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(255, 0, 130)); //g 
  pixels.show();
}
void s29() { //angka 9 pada JAM
   pixels.setPixelColor(0 + y, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(1 + y, pixels.Color(0, 0, 255)); //b
  pixels.setPixelColor(2 + y, pixels.Color(150, 0, 255)); //c
  pixels.setPixelColor(3 + y, pixels.Color(255, 100, 0)); //d
  pixels.setPixelColor(4 + y, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(5 + y, pixels.Color(255, 0, 0)); //f
  pixels.setPixelColor(6 + y, pixels.Color(255, 0, 130)); //g 
  pixels.show();
}


void s10() { //angka 0 pada MENIT
  pixels.setPixelColor(16 + z, pixels.Color(0, 0, 0)); //a
  pixels.setPixelColor(17 + z, pixels.Color(255, 100, 0)); //b
  pixels.setPixelColor(18 + z, pixels.Color(255, 0, 0)); //c
  pixels.setPixelColor(19 + z, pixels.Color(255, 0, 130)); //d
  pixels.setPixelColor(20 + z, pixels.Color(0, 0, 255)); //e
  pixels.setPixelColor(21 + z, pixels.Color(150, 0, 255)); //f
  pixels.setPixelColor(22 + z, pixels.Color(255, 236, 0)); //g
  pixels.show();

}

void s11() { //angka 1 pada MENIT
  pixels.setPixelColor(16 + z, pixels.Color(0, 0, 0)); //a
  pixels.setPixelColor(17 + z, pixels.Color(255, 100, 0)); //b
  pixels.setPixelColor(18 + z, pixels.Color(0, 0, 0)); //c
  pixels.setPixelColor(19 + z, pixels.Color(0, 0, 0)); //d
  pixels.setPixelColor(20 + z, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(21 + z, pixels.Color(0, 0, 0)); //f
  pixels.setPixelColor(22 + z, pixels.Color(255, 236, 0)); //g
  pixels.show();
}
void s12() { //angka 2 pada MENIT
  pixels.setPixelColor(16 + z, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(17 + z, pixels.Color(255, 100, 0)); //b
  pixels.setPixelColor(18 + z, pixels.Color(255, 0, 0)); //c
  pixels.setPixelColor(19 + z, pixels.Color(0, 0, 0)); //d
  pixels.setPixelColor(20 + z, pixels.Color(0, 0, 255)); //e
  pixels.setPixelColor(21 + z, pixels.Color(150, 0, 255)); //f
  pixels.setPixelColor(22 + z, pixels.Color(0, 0, 0)); //g
  pixels.show();

}
void s13() { //angka 3 pada MENIT
  pixels.setPixelColor(16 + z, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(17 + z, pixels.Color(255, 100, 0)); //b
  pixels.setPixelColor(18 + z, pixels.Color(255, 0, 0)); //c
  pixels.setPixelColor(19 + z, pixels.Color(0, 0, 0)); //d
  pixels.setPixelColor(20 + z, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(21 + z, pixels.Color(150, 0, 255)); //f
  pixels.setPixelColor(22 + z, pixels.Color(255, 236, 0)); //g
  pixels.show();

}
void s14() { //angka 4 pada MENIT
  pixels.setPixelColor(16 + z, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(17 + z, pixels.Color(255, 100, 0)); //b
  pixels.setPixelColor(18 + z, pixels.Color(0, 0, 0)); //c
  pixels.setPixelColor(19 + z, pixels.Color(255, 0, 130)); //d
  pixels.setPixelColor(20 + z, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(21 + z, pixels.Color(0, 0, 0)); //f
  pixels.setPixelColor(22 + z, pixels.Color(255, 236, 0)); //g
  pixels.show();

}
void s15() { //angka 5 pada MENIT
  pixels.setPixelColor(16 + z, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(17 + z, pixels.Color(0, 0, 0)); //b
  pixels.setPixelColor(18 + z, pixels.Color(255, 0, 0)); //c
  pixels.setPixelColor(19 + z, pixels.Color(255, 0, 130)); //d
  pixels.setPixelColor(20 + z, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(21 + z, pixels.Color(150, 0, 255)); //f
  pixels.setPixelColor(22 + z, pixels.Color(255, 236, 0)); //g
  pixels.show();

}
void s16() { //angka 6 pada MENIT
  pixels.setPixelColor(16 + z, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(17 + z, pixels.Color(0, 0, 0)); //b
  pixels.setPixelColor(18 + z, pixels.Color(255, 0, 0)); //c
  pixels.setPixelColor(19 + z, pixels.Color(255, 0, 130)); //d
  pixels.setPixelColor(20 + z, pixels.Color(0, 0, 255)); //e
  pixels.setPixelColor(21 + z, pixels.Color(150, 0, 255)); //f
  pixels.setPixelColor(22 + z, pixels.Color(255, 236, 0)); //g
  pixels.show();

}
void s17() { //angka 7 pada MENIT
  pixels.setPixelColor(16 + z, pixels.Color(0, 0, 0)); //a
  pixels.setPixelColor(17 + z, pixels.Color(255, 100, 0)); //b
  pixels.setPixelColor(18 + z, pixels.Color(255, 0, 0)); //c
  pixels.setPixelColor(19 + z, pixels.Color(0, 0, 0)); //d
  pixels.setPixelColor(20 + z, pixels.Color(0, 0, 0)); //e
  pixels.setPixelColor(21 + z, pixels.Color(0, 0, 0)); //f
  pixels.setPixelColor(22 + z, pixels.Color(255, 236, 0)); //g
  pixels.show();
}
void s18() { //angka 8 pada MENIT
  pixels.setPixelColor(16 + z, pixels.Color(0, 255, 0)); //a
  pixels.setPixelColor(17 + z, pixels.Color(255, 100, 0)); //b
  pixels.setPixelColor(18 + z, pixels.Color(255, 0, 0)); //c
  pixels.setPixelColor(19 + z, pixels.Color(255, 0, 130)); //d
  pixels.setPixelColor(20 + z, pixels.Color(0, 0, 255)); //e
  pixels.setPixelColor(21 + z, pixels.Color(150, 0, 255)); //f
  pixels.setPixelColor(22 + z, pixels.Color(255, 236, 

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.