Final neopixel circuit and code

My final code is below. You will need RTClib and Neopixel library by adafruit for this code to work.


#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>

#define PIN 8
#define PIXEL 60


Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL, PIN, NEO_GRB + NEO_KHZ800);

DS1307 RTC;// D103248237124 Establish clock object
DateTime Clock; // Holds current clock time

byte hourval, minuteval, secondval;


void setup() {
  Serial.begin(9600);
  Wire.begin();          // Begin I2C
  RTC.begin();   // begin clock

  if (! RTC.isrunning()) {
    //  Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled

  }

  //  RTC.adjust(DateTime(__DATE__, __TIME__));
  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
  strip.setBrightness(255);

}


void loop() {


  Clock = RTC.now(); // get the RTC time

  secondval = Clock.second();  // get seconds
  minuteval = Clock.minute();  // get minutes
  hourval = Clock.hour();   // get hours


  if (hourval > 11) hourval -= 12; // This clock is 12 hour, if 13-23, convert to 0-11
  hourval = (hourval * 60 + minuteval) / 12;

  strip.setPixelColor(hourval, 0xDC143C); strip.setPixelColor(hourval - 1, 0xDC143C); strip.setPixelColor(hourval + 1, 0xDC143C);
  strip.setPixelColor(hourval-2, 0xDC143C);strip.setPixelColor(hourval+2, 0xDC143C);
  strip.setPixelColor(minuteval, 0xC4FF00);
  //    strip.setPixelColor(minuteval-1, 0x200020);strip.setPixelColor(minuteval+1, 0x200020);
  strip.setPixelColor(secondval, 0xFF3300);//strip.setPixelColor(secondval-1, 0x002F00);strip.setPixelColor(secondval+1, 0x002F00);
  strip.show();

  strip.setPixelColor(hourval, 0x000000); strip.setPixelColor(hourval - 1, 0x000000); strip.setPixelColor(hourval + 1, 0x000000);
  strip.setPixelColor(hourval - 2, 0x000000); strip.setPixelColor(hourval + 2, 0x000000);
  strip.setPixelColor(minuteval, 0x000000); strip.setPixelColor(minuteval - 1, 0x000000); strip.setPixelColor(minuteval + 1, 0x000000);
  strip.setPixelColor(secondval, 0x000000);//strip.setPixelColor(secondval-1, 0x000000);strip.setPixelColor(secondval+1, 0x000000);

  delay(25);


  
     Serial.print(hourval, DEC);
     Serial.print(':');
    Serial.print(minuteval, DEC);
     Serial.print(':');
     Serial.println(secondval, DEC);
  */



}
Colour palette of LEDS

https://drive.google.com/file/d/12_NgKNGQy0F4421rhisorfCsOry8XsFp/view?usp=sharing

Video of the circuit working is above. Photographs of the circuit are below.

Leave a comment