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,
