RTC met adafruit neopixel ringen

Arduino specifieke Software
Berichten: 9
Geregistreerd: 19 Dec 2016, 14:34

RTC met adafruit neopixel ringen

Berichtdoor Randy93 » 19 Dec 2016, 14:58

hallo,
ik ben nu bezig om met een RTC module 3 aparte ringen aan te sturen voor een klok.
ik heb al een programma geschreven, alleen zit ik met het probleem dat hij 1 uur lang de secondes minuten en uren wel goed doet aangeven maar naar dat het programma 1 uur verstreken heeft dan geven de led ringen ineens een andere kleur alsof hij er gewoon nog een keer overeen schrijft. de secondes lopen wel gewoon door maar worden bijvoorbeeld in plaats van blauw wordt de ring groen en gaat er blauw overheen.

het lijkt erop dat ik iets mis in de loop maar ik kom er maar niet uit wat.
als iemand me hierbij zou kunnen helpen heel graag!

dit is de code :

// include the library code:
#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>

// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 4
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 7
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 2

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS_a 60
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS_b 60
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS_c 12

// set max brightness 0-255
#define BRIGHTNESS 100

// Establish clock object
RTC_DS1307 RTC;

// Holds current clock time
DateTime Clock;

// set neopixelring
Adafruit_NeoPixel pixels_a = Adafruit_NeoPixel(NUMPIXELS_a, PIN4, NEO_GRB + NEO_KHZ800);
// set neopixelring
Adafruit_NeoPixel pixels_b = Adafruit_NeoPixel(NUMPIXELS_b, PIN7, NEO_GRB + NEO_KHZ800);
// set neopixelring
Adafruit_NeoPixel pixels_c = Adafruit_NeoPixel(NUMPIXELS_c, PIN2, NEO_GRB + NEO_KHZ800);

// holds the time
byte hourval, minuteval, secondval;

// holds color values
byte pixelColorRed, pixelColorGreen, pixelColorBlue;

void setup () {
// Begin I2C
Wire.begin();

// begin clock
RTC.begin();

Serial.begin(9600);
// set pinmodes
pinMode(PIN4, OUTPUT);
// set pinmodes
pinMode(PIN7, OUTPUT);
// set pinmodes
pinMode(PIN2, OUTPUT);

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(2016, 10, 14, 10, 58, 0));
}

//strip.show(); // Initialize all pixels to 'off'
pixels_a.begin();
//strip.show(); // Initialize all pixels to 'off'
pixels_b.begin();
//strip.show(); // Initialize all pixels to 'off'
pixels_c.begin();

// set brightness
pixels_a.setBrightness(BRIGHTNESS);
// set brightness
pixels_b.setBrightness(BRIGHTNESS);
// set brightness
pixels_c.setBrightness(BRIGHTNESS);

}

void loop () {

// static characters save a bit
char const * colon = ":";
// of memory
char const * slash = "/";

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

// get seconds
secondval = Clock.second();
// get minutes
minuteval = Clock.minute();
// get hours
hourval = Clock.hour();
//This clock is 12 hour, if 13-23, convert to 0-11
if (hourval > 11) hourval -= 12;

//hourval = (hourval * 60 + minuteval) / 12; //each red dot represent 24 minutes.


// arc mode
for (uint8_t i = 0; i < pixels_a.numPixels(); i++) {
pixels_a.show();
pixels_a.setPixelColor(i, pixels_a.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));

if (i <= secondval) {
// calculates a faded arc from low to maximum brightness
pixelColorBlue = (i + 1) * (255 / (secondval + 1));
//pixelColorBlue = 255;
}
else {
pixelColorBlue = 0;
}
}

// arc mode
for (uint8_t i = 0; i < pixels_b.numPixels(); i++) {
pixels_b.show();
pixels_b.setPixelColor(i, pixels_b.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));

if (i <= minuteval) {
pixelColorGreen = (i + 1) * (255 / (minuteval + 1));
//pixelColorGreen = 255;
}
else {
pixelColorGreen = 0;
}
}

// arc mode
for (uint8_t i = 0; i < pixels_c.numPixels(); i++) {
pixels_c.show();
pixels_c.setPixelColor(i, pixels_c.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));

if (i <= hourval) {
pixelColorRed = (i + 1) * (255 / (hourval + 1));
//pixelColorRed = 255;
}
else {
pixelColorRed = 0;
}
}

}

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: RTC met adafruit neopixel ringen

Berichtdoor Koepel » 19 Dec 2016, 21:33

Maak een kleine test sketch die slechts één ring doet, en kijk wat er gebeurt met een variabele die je 0 tot en met 59 maakt.

Waarom heb je voor de NeoPixel library gekozen ?
Er is ook FastLED, dat niet verbonden is aan een bedrijf : https://github.com/FastLED/FastLED

Ik wandel door je sketch en ik noem wat ik zoal tegenkom. Probeer zelf maar of het verschil gaat uitmaken.

Je benoemt de PIN drie keer:
Code: Alles selecteren
/ Which pin on the Arduino is connected to the NeoPixels?
#define PIN 4
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 7
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 2

Dat kan niet. Maak drie aparte namen. Vervolgens gebruik je in de sketch "PIN4", "PIN7" en "PIN2", maar die bestaan niet.

Het is niet nodig de pinMode op output te zetten voor de pin voor de Neopixels. Die kun je weghalen.

Je gebruikt veel 'byte' en 'uint8_t'. Dat is niet verkeerd, maar ik vind het een vreemde optimalisatie. Meestal kun je gewoon een 'int' gebruiken, en laat de optimalisatie maar aan de compiler over. Wanneer het nodig is om de code te optimaliseren, bijvoorbeeld voor een interrupt routine, dan kan het nodig zijn om dergelijke dingen te doen.

Ik dacht dat een .show() de hele strip update ? Dus zet eerst in de for-loop alle waarden, en doe daarna een .show().

Code: Alles selecteren
  for (in i = 0; i < pixels_a.numPixels(); i++)
  {
    if (i <= secondval)
    {
      // calculates a faded arc from low to maximum brightness
      pixelColorBlue = (i + 1) * (255 / (secondval + 1));
    }
    else
    {
      pixelColorBlue = 0;
    }
    pixels_a.setPixelColor(i, pixels_a.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));
  }
  pixels_a.show();

De code in een for-loop wordt van boven naar beneden uitgevoerd. Dus zou het logisch zijn om eerst de variabele 'pixelColorBlue' goed te zetten, daarna pas .setPixelColor() met die variabele. En pas als alle leds hun waarde hebben gekregen, dan pas een update met .show().

Heb je de code ergens op internet gevonden ? Ik kan me niet voorstellen dat een voorbeeld van Adafruit op die manier geschreven is.

Waarom zet je de variabelen voor de kleuren niet op een default waarde, voordat je de for-loop doet voor een ledstrip ? Volgens mij worden de kleuren van de andere ring meegenomen. Hieronder zet ik ze alle drie eerst op nul.
Code: Alles selecteren
  // Set colors.
  pixelColorRed = 0;
  pixelColorGreen = 0;
  pixelColorBlue = 0;
  for (in i = 0; i < pixels_a.numPixels(); i++)
  {
    if (i <= secondval)
    {
      ...

Berichten: 9
Geregistreerd: 19 Dec 2016, 14:34

Re: RTC met adafruit neopixel ringen

Berichtdoor Randy93 » 20 Dec 2016, 01:35

Had deze code gevonden op een forum waar iemand met een klok bezig was maar alleen dan met 1 ring van 60 leds. Ik wil graag 2 ringen van 60 en 1 van 12 gebruiken. Vandaar dat ik 3x de pins aangeeft omdat het aparte ringen zijn. Ik had voor de neopixel gekozen omdat ik daar ook de led ringen van heb.
Ik ga morgen met u advies aan de slag alleen snap ik niet van alleen 1 ring proberen?
Ik krijg de secondes minuten en uren apart wel werkend op de ring alleen naar 1 uur lopen de leds over elkaar heen heb ik het vermoeden dus ik zal ze ergens 0 moeten maken naar 1 uur vermoed ik.

Berichten: 9
Geregistreerd: 19 Dec 2016, 14:34

Re: RTC met adafruit neopixel ringen

Berichtdoor Randy93 » 20 Dec 2016, 01:38

Dit is trouwens niet de code die op het forum stond maar stukken ervan die ik heb gebruikt voor mijzelf.

Berichten: 9
Geregistreerd: 19 Dec 2016, 14:34

Re: RTC met adafruit neopixel ringen

Berichtdoor Randy93 » 20 Dec 2016, 14:53

ik heb het nu al een stuk aangepast.
alleen snap ik niet wat ik hier dan van moet maken met die pinnen aangeven?

/ Which pin on the Arduino is connected to the NeoPixels?
#define PIN 4
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 7
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 2

ik dacht dat dit juist moet omdat ik 3 ringen aanstuur ?

deze regel heb ik ook geprobeerd aan te passen naar int maar dan geeft die een fout.
for (uint8_t i = 0; i < pixels_a.numPixels(); i++) {

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: RTC met adafruit neopixel ringen

Berichtdoor Koepel » 20 Dec 2016, 15:09

Een #define vertelt de compiler dat het ene stukje tekst door het andere vervangen moet worden.
Dus overal waar de compiler in de code "PIN" ziet staan, dan gaat de compiler dat vervangen door wat bij de #define gedefinieerd is.
Je gaat drie keer het woord "PIN" vervangen door 4 of 7 of 2 ?
Maak daar drie verschillende namen voor.

Je schrijft dat je die regel naar 'int' hebt aangepast, maar je laat de aangepaste regel niet zien, en je verteld niet wat de foutmeling is :?

Kun je proberen om duidelijker aan te geven wat je doet, en wat het resultaat is ?
Wanneer je een komma wijzigt in een sketch, dan mag je gerust de hele sketch weer laten zien. En je kunt de compiler output kopiëren en invoegen, of een screendump maken.

Bij de voorkeuren (in het menu: Bestand / Voorkeuren) kun je "Uitgebreide uitvoer weergevens tijdens:" "compilatie", wanneer je dat aan zet, dan zie je wat de compiler doet. De eerste foutmelding is meestal de belangrijkste.

Heb je de volgorde binnen de for-loop al correct ? En heb je de .show() al buiten de for-loop ? En heb je de variabelen eerst nul gemaakt voordat je de for-loop in gaat ?

Berichten: 9
Geregistreerd: 19 Dec 2016, 14:34

Re: RTC met adafruit neopixel ringen

Berichtdoor Randy93 » 21 Dec 2016, 12:23

koepel heel erg bedankt! het programma werkt nu hoe ik het hebben wil.
zal hem hieronder even neer zetten misschien heb je nog wat tips om hem beter te maken.

Hier komen de led's in als project.

Afbeelding

// include the library code:
#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>

// Which pin on the Arduino is connected to the NeoPixels?
#define PIN blue4
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN green7
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN red2

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS_a 60
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS_b 60
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS_c 12

// set max brightness 0-255
#define BRIGHTNESS 100

// Establish clock object
RTC_DS1307 RTC;

// Holds current clock time
DateTime Clock;

// set neopixelring
Adafruit_NeoPixel pixels_a = Adafruit_NeoPixel(NUMPIXELS_a, 4, NEO_GRB + NEO_KHZ800);
// set neopixelring
Adafruit_NeoPixel pixels_b = Adafruit_NeoPixel(NUMPIXELS_b, 7, NEO_GRB + NEO_KHZ800);
// set neopixelring
Adafruit_NeoPixel pixels_c = Adafruit_NeoPixel(NUMPIXELS_c, 2, NEO_GRB + NEO_KHZ800);

// holds the time
byte hourval, minuteval, secondval;

// holds color values
byte pixelColorRed, pixelColorGreen, pixelColorBlue;

void setup () {
// Begin I2C
Wire.begin();

// begin clock
RTC.begin();

Serial.begin(9600);


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(2016, 10, 14, 10, 58, 0));
}

//strip.show(); // Initialize all pixels to 'off'
pixels_a.begin();
//strip.show(); // Initialize all pixels to 'off'
pixels_b.begin();
//strip.show(); // Initialize all pixels to 'off'
pixels_c.begin();

// set brightness
pixels_a.setBrightness(BRIGHTNESS);
// set brightness
pixels_b.setBrightness(BRIGHTNESS);
// set brightness
pixels_c.setBrightness(BRIGHTNESS);

}

void loop () {

// static characters save a bit
char const * colon = ":";
// of memory
char const * slash = "/";

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

// get seconds
secondval = Clock.second();
// get minutes
minuteval = Clock.minute();
// get hours
hourval = Clock.hour();
//This clock is 12 hour, if 13-23, convert to 0-11
if (hourval > 11) hourval -= 12;

//hourval = (hourval * 60 + minuteval) / 12; //each red dot represent 24 minutes.

//arc mode
// Set colors.
pixelColorRed = 0;
pixelColorGreen = 0;
pixelColorBlue = 0;
for (uint8_t i = 0; i < pixels_a.numPixels(); i++) {
{

{
if (i <= secondval)
{
// calculates a faded arc from low to maximum brightness
pixelColorBlue = (i + 1) * (255 / (secondval + 1));
}
else
{
pixelColorBlue = 0;
}
pixels_a.setPixelColor(i, pixels_a.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));
}
pixels_a.show();
}
}
//arc mode
// Set colors.
pixelColorRed = 0;
pixelColorGreen = 0;
pixelColorBlue = 0;
for (uint8_t i = 0; i < pixels_b.numPixels(); i++) {
{

{
if (i <= minuteval)
{
// calculates a faded arc from low to maximum brightness
pixelColorGreen = (i + 1) * (255 / (minuteval + 1));
}
else
{
pixelColorGreen = 0;
}
pixels_b.setPixelColor(i, pixels_c.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));
}
pixels_b.show();
}
}
//arc mode
// Set colors.
pixelColorRed = 0;
pixelColorGreen = 0;
pixelColorBlue = 0;
for (uint8_t i = 0; i < pixels_c.numPixels(); i++) {
{

{
if (i <= hourval)
{
// calculates a faded arc from low to maximum brightness
pixelColorRed = (i + 1) * (255 / (secondval + 1));
}
else
{
pixelColorRed = 0;
}
pixels_c.setPixelColor(i, pixels_c.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));
}
pixels_c.show();
}
}
}

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: RTC met adafruit neopixel ringen

Berichtdoor Koepel » 21 Dec 2016, 13:36

Dat is een mooi project :D

Je kunt de huidige sketch opslaan onder een andere naam als de versie van 21 december die werkt.
Natuurlijk zie ik nog van alles dat beter kan. Dus als je tijd hebt, dan zijn er nog een paar schoonheidsfoutjes.

De "PIN" is nog steeds een paar verschillende dingen, terwijl de "PIN" maar één ding kan zijn. Dus deze code is eigenlijk fout:
Code: Alles selecteren
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN blue4
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN green7
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN red2


De voorkeur is om voor de pin nummer geen #define te gebruiken maar een const int. Dus dit is beter:
Code: Alles selecteren
// The Arduino pin for the led strip of the seconds.
const int secondsPin = 4;
// The Arduino pin for the led strip of the minutes.
const int minutesPin = 7;
// The Arduino pin for the led strip of the hours.
const int hoursPin = 2;


Vervolgens die variabelen gebruiken op deze manier:
Code: Alles selecteren
// set neopixelring for seconds
Adafruit_NeoPixel pixels_a = Adafruit_NeoPixel(NUMPIXELS_a, secondsPin, NEO_GRB + NEO_KHZ800);
// set neopixelring for minutes
Adafruit_NeoPixel pixels_b = Adafruit_NeoPixel(NUMPIXELS_b, minutesPin, NEO_GRB + NEO_KHZ800);
// set neopixelring for hours
Adafruit_NeoPixel pixels_c = Adafruit_NeoPixel(NUMPIXELS_c, hoursPin, NEO_GRB + NEO_KHZ800);



Wanneer de RTC (nog) niet loopt, dan kun je de tijd er in zetten van het moment dat de compiler de sketch compileerde.
Dat heb je nu niet. Kijk hier eens: https://learn.adafruit.com/ds1307-real-time-clock-breakout-board-kit/understanding-the-code. Het gaat om de F(__DATE__), F(__TIME__).


De variabelen "colon" en "slash" zijn pointers, maar je gebruikt die niet. Je kunt ze weghalen. Het lijkt me ook een beetje merkwaardig om ze als pointers te definiëren.


Er zijn teveel haakjes. Zoals hier:
Code: Alles selecteren
  for (uint8_t i = 0; i < pixels_a.numPixels(); i++)
  {
    {
      {
        if (i <= secondval)
          ...

Dan kan beter op deze manier:
Code: Alles selecteren
  for (uint8_t i = 0; i < pixels_a.numPixels(); i++)
  {
    if (i <= secondval)
      ...



Je update de hele ledstrip bij iedere keer dat je de waarde van een led zet. Het lijkt me beter om dat buiten de for-loop te doen, zodat de hele led strip maar één keer geupdate wordt. Op deze manier:
Code: Alles selecteren
  for (uint8_t i = 0; i < pixels_a.numPixels(); i++)
  {
    ...
  }
  pixels_a.show();



Je loop() loopt met de hoogste snelheid. Je weet dus niet hoe vaak de ledstrips geschreven worden. Dat kan honderden keren per seconde zijn. Dat geeft helemaal niets, maar het zou mooier zijn als je wist hoe vaak het is. In de ideale situatie zou je de ledstrip voor de seconden kunnen schrijven zodra de RTC.now() verspringt naar de volgende seconde.


En last but not least, wat dacht je van een header, met de titel van het project, de datum, waar je de gebruikte libraries vandaan hebt, een versienummer, welke Arduino versie je gebruikt, enzovoorts.

Berichten: 9
Geregistreerd: 19 Dec 2016, 14:34

Re: RTC met adafruit neopixel ringen

Berichtdoor Randy93 » 21 Dec 2016, 14:48

super! ga er meteen mee aan de slag.

Berichten: 9
Geregistreerd: 19 Dec 2016, 14:34

Re: RTC met adafruit neopixel ringen

Berichtdoor Randy93 » 23 Dec 2016, 13:35

Ben inmiddels al wat verder met je tips. alleen met de haakjes kom ik er nog niet goed uit. snap niet precies welke ik nu moet laten staan en welke ik moet verwijderen.
ik heb ook de fading van de leds weg gehaald want anders zie je ze niet goed meer in de klok helaas.
cpp code
//project arduino klok 2.0
//Written by: Randy Kesselmans
//Date: 22-12-2016
//Arduino Board: Uno



// include the library code:
#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>

// The Arduino pin for the led strip of the seconds.
const int secondsPin = 4;
// The Arduino pin for the led strip of the minutes.
const int minutesPin = 7;
// The Arduino pin for the led strip of the hours.
const int hoursPin = 2;

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS_a 60
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS_b 60
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS_c 12

// set max brightness 0-255
#define BRIGHTNESS 100

// Establish clock object
RTC_DS1307 RTC;

// Holds current clock time
DateTime Clock;

// set neopixelring for seconds
Adafruit_NeoPixel pixels_a = Adafruit_NeoPixel(NUMPIXELS_a, secondsPin, NEO_GRB + NEO_KHZ800);
// set neopixelring for minutes
Adafruit_NeoPixel pixels_b = Adafruit_NeoPixel(NUMPIXELS_b, minutesPin, NEO_GRB + NEO_KHZ800);
// set neopixelring for hours
Adafruit_NeoPixel pixels_c = Adafruit_NeoPixel(NUMPIXELS_c, hoursPin, NEO_GRB + NEO_KHZ800);

// holds the time
byte hourval, minuteval, secondval;

// holds color values
byte pixelColorRed, pixelColorGreen, pixelColorBlue;

void setup () {
// Begin I2C
Wire.begin();

// begin clock
RTC.begin();

Serial.begin(9600);


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(2016, 10, 14, 11, 59, 0));
RTC.adjust(DateTime(F(__DATE__), F(__TIME__)));
}

//strip.show(); // Initialize all pixels to 'off'
pixels_a.begin();
//strip.show(); // Initialize all pixels to 'off'
pixels_b.begin();
//strip.show(); // Initialize all pixels to 'off'
pixels_c.begin();

// set brightness
pixels_a.setBrightness(BRIGHTNESS);
// set brightness
pixels_b.setBrightness(BRIGHTNESS);
// set brightness
pixels_c.setBrightness(BRIGHTNESS);

}

void loop () {

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

// get seconds
secondval = Clock.second();
// get minutes
minuteval = Clock.minute();
// get hours
hourval = Clock.hour();
//This clock is 12 hour, if 13-23, convert to 0-11
if (hourval > 11) hourval -= 12;


//arc mode

// Set colors.
pixelColorRed = 0;
pixelColorGreen = 0;
pixelColorBlue = 0;

for (uint8_t i = 0; i < pixels_a.numPixels(); i++) {
{

{
if (i <= secondval)
{
// calculates a faded arc from low to maximum brightness
pixelColorBlue = (i + 1) * (255);
}
else
{
pixelColorBlue = 0;
}
pixels_a.setPixelColor(i, pixels_a.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));
}
pixels_a.show();
}
}

//arc mode

// Set colors.
pixelColorRed = 0;
pixelColorGreen = 0;
pixelColorBlue = 0;

for (uint8_t i = 0; i < pixels_b.numPixels(); i++) {
{

{
if (i <= minuteval)
{
// calculates a faded arc from low to maximum brightness
pixelColorGreen = (i) * (255);
}
else
{
pixelColorGreen = 0;
}
pixels_b.setPixelColor(i, pixels_b.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));
}
pixels_b.show();
}
}

//arc mode

// Set colors.
pixelColorRed = 0;
pixelColorGreen = 0;
pixelColorBlue = 0;

for (uint8_t i = 0; i < pixels_c.numPixels(); i++) {
{

{
if (i <= hourval)
{
// calculates a faded arc from low to maximum brightness
pixelColorRed = (i) * (255);
}
else
{
pixelColorRed = 0;
}
pixels_c.setPixelColor(i, pixels_c.Color(pixelColorRed, pixelColorGreen, pixelColorBlue));
}
pixels_c.show();
}
}
}

Volgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: abaduguficow en 52 gasten