Project tutorial

Simple wall clock using Adafruit 1/4 60 Ring Neopixel © CC BY

Simple wall clock using Adafruit 1/4 60 Ring Neopixel

  • 6,691 views
  • 0 comments
  • 34 respects

Components and supplies

Apps and online services

About this project

eDOTcore: A Versatile Arduino Board with Built-in RTC

Link to the project

Code

Simple Neopixel ring clockArduino
#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>

#define PIN 6
#define PIXEL 60


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

RTC_DS1307 RTC; // 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(20);

}


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, 0x008080);strip.setPixelColor(hourval-1, 0x004040);strip.setPixelColor(hourval+1, 0x004040);
//    strip.setPixelColor(hourval-2, 0x001010);strip.setPixelColor(hourval+2, 0x001010);
    strip.setPixelColor(minuteval, 0x800080);
//    strip.setPixelColor(minuteval-1, 0x200020);strip.setPixelColor(minuteval+1, 0x200020);
    strip.setPixelColor(secondval, 0x808000);//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);
*/



}

Custom parts and enclosures

3D print parts for Neopixel ring wall clock

Comments

Similar projects you might like

Arduino Clock with Neopixel Ring Animation

Project tutorial by Alexander

  • 43,773 views
  • 40 comments
  • 69 respects

eDOT - Arduino Based Precision Clock and Weather Station

Project tutorial by antiElectron

  • 9,821 views
  • 4 comments
  • 27 respects

Simple Arduino Digital Clock Without RTC

Project in progress by Annlee Fores

  • 98,440 views
  • 24 comments
  • 88 respects

Complete Digital Clock Including Alarm and Motion Sensor

Project tutorial by LAGSILVA

  • 13,802 views
  • 12 comments
  • 52 respects

A Weird Arduino Powered Clock

Project tutorial by Dante Roumega

  • 12,523 views
  • 3 comments
  • 30 respects

Cheap NeoPixel Strip Clock

Project in progress by JaeKar99

  • 3,612 views
  • 4 comments
  • 10 respects
Add projectSign up / Login