Hello,
is started my first Arduino project.
In short a loading bar Clock or Linear clock.
I work in after school care and whantet a Clock wich is just a line getting longer until it is full and the day is over.
So it runs from 8 to 16 o´clock
Every 5 minutes a led turn on slowly filling the line
I rebuild this Projekt : Word clock with Arduino and Neopixel - Techniccontroller
and wanted to change the code so it works how i want it.
Components:
NeoPixel-Strip
AZDelivery Nano V3.0 with Atmega328 CH340 compatible with Arduino
AZDelivery Real Time Clock RTC DS3231 I2C Real Time Clock Compatible with Arduino
#include "RTClib.h"
#include "DCF77.h"
#include <Time.h>
#include <TimeLib.h>
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#include <EEPROM.h>
I deletet the rest as it was to big and the folloing code is the thing this post is about
(sourcecode(?) : think_wordclock/wordclock_german.ino at main · techniccontroller/think_wordclock · GitHub )
}
else if((hours >= 15 && hours < 16) and (minutes >= 40 && minutes < 50))
{
//1540
Serial.print("1540 ");
gridAddPixel(1,0);
gridAddPixel(2,0);
gridAddPixel(3,0);
gridAddPixel(4,0);
gridAddPixel(5,0);
gridAddPixel(6,0);
gridAddPixel(7,0);
gridAddPixel(8,0);
gridAddPixel(9,0);
gridAddPixel(10,0);
gridAddPixel(11,0);
gridAddPixel(12,0);
gridAddPixel(13,0);
gridAddPixel(14,0);
gridAddPixel(15,0);
gridAddPixel(16,0);
gridAddPixel(17,0);
gridAddPixel(18,0);
gridAddPixel(19,0);
gridAddPixel(20,0);
gridAddPixel(21,0);
gridAddPixel(22,0);
gridAddPixel(23,0);
gridAddPixel(24,0);
gridAddPixel(25,0);
gridAddPixel(26,0);
gridAddPixel(27,0);
gridAddPixel(28,0);
gridAddPixel(29,0);
gridAddPixel(30,0);
gridAddPixel(31,0);
gridAddPixel(32,0);
gridAddPixel(33,0);
gridAddPixel(34,0);
gridAddPixel(35,0);
gridAddPixel(36,0);
gridAddPixel(37,0);
gridAddPixel(38,0);
gridAddPixel(39,0);
gridAddPixel(40,0);
gridAddPixel(41,0);
gridAddPixel(42,0);
gridAddPixel(43,0);
gridAddPixel(44,0);
gridAddPixel(45,0);
gridAddPixel(46,0);
gridAddPixel(47,0);
}
else if((hours >= 15 && hours < 16) and (minutes >= 50 && minutes < 60))
{
//1550
Serial.print("1550 ");
gridAddPixel(1,0);
gridAddPixel(2,0);
gridAddPixel(3,0);
gridAddPixel(4,0);
gridAddPixel(5,0);
gridAddPixel(6,0);
gridAddPixel(7,0);
gridAddPixel(8,0);
gridAddPixel(9,0);
gridAddPixel(10,0);
gridAddPixel(11,0);
gridAddPixel(12,0);
gridAddPixel(13,0);
gridAddPixel(14,0);
gridAddPixel(15,0);
gridAddPixel(16,0);
gridAddPixel(17,0);
gridAddPixel(18,0);
gridAddPixel(19,0);
gridAddPixel(20,0);
gridAddPixel(21,0);
gridAddPixel(22,0);
gridAddPixel(23,0);
gridAddPixel(24,0);
gridAddPixel(25,0);
gridAddPixel(26,0);
gridAddPixel(27,0);
gridAddPixel(28,0);
gridAddPixel(29,0);
gridAddPixel(30,0);
gridAddPixel(31,0);
gridAddPixel(32,0);
gridAddPixel(33,0);
gridAddPixel(34,0);
gridAddPixel(35,0);
gridAddPixel(36,0);
gridAddPixel(37,0);
gridAddPixel(38,0);
gridAddPixel(39,0);
gridAddPixel(40,0);
gridAddPixel(41,0);
gridAddPixel(42,0);
gridAddPixel(43,0);
gridAddPixel(44,0);
gridAddPixel(45,0);
gridAddPixel(46,0);
gridAddPixel(47,0);
gridAddPixel(48,0);
}
else if((hours >= 16 && hours < 17) and (minutes >= 00 && minutes < 10))
{
//1600
Serial.print("1600 ");
gridAddPixel(1,0);
gridAddPixel(2,0);
gridAddPixel(3,0);
gridAddPixel(4,0);
gridAddPixel(5,0);
gridAddPixel(6,0);
gridAddPixel(7,0);
gridAddPixel(8,0);
gridAddPixel(9,0);
gridAddPixel(10,0);
gridAddPixel(11,0);
gridAddPixel(12,0);
gridAddPixel(13,0);
gridAddPixel(14,0);
gridAddPixel(15,0);
gridAddPixel(16,0);
gridAddPixel(17,0);
gridAddPixel(18,0);
gridAddPixel(19,0);
gridAddPixel(20,0);
gridAddPixel(21,0);
gridAddPixel(22,0);
gridAddPixel(23,0);
gridAddPixel(24,0);
gridAddPixel(25,0);
gridAddPixel(26,0);
gridAddPixel(27,0);
gridAddPixel(28,0);
gridAddPixel(29,0);
gridAddPixel(30,0);
gridAddPixel(31,0);
gridAddPixel(32,0);
gridAddPixel(33,0);
gridAddPixel(34,0);
gridAddPixel(35,0);
gridAddPixel(36,0);
gridAddPixel(37,0);
gridAddPixel(38,0);
gridAddPixel(39,0);
gridAddPixel(40,0);
gridAddPixel(41,0);
gridAddPixel(42,0);
gridAddPixel(43,0);
gridAddPixel(44,0);
gridAddPixel(45,0);
gridAddPixel(46,0);
gridAddPixel(47,0);
gridAddPixel(48,0);
gridAddPixel(49,0);
}
Serial.println();
}
Yea it works! but it is way to big! especially if i wanted to make 5 min increments.
Easy solution would be to just buy a bigger Arduino i guess, but I want to learn Programming.
My idear is like a command that says "turn led 1 to 5 on" would reduce it by a lot but,
maybe a thing were it says "every 5 minutes turn on the next led" would be better.
Thing is i don't even know how to search for these things ^^°
So if you have a recommendation for me that would be great
Thank you in Advance!!!
Aaron