Blink Clock dots with rainbow effect

I made a Neopixel clock with rainbow effect its working fine but without flashing dots. I make display 148 leds, 5 leds per segment *7 +2 leds for dots Total 37 leds for each digit.
I want to blink dots. This is my sketch.

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

#define PIN (6)

RTC_DS3231 rtc;

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

void setup() {
// Setup the LED strip and RTC module.
strip.begin();
strip.show();
rtc.begin();
}

void loop() {
// Cycle the clock digits through rainbow colors.
rainbowCycle(100);
}

/* (Methods to un-set certain LEDs to form 7-segment digits.) */

void unsetTimeDigits() {
DateTime now = rtc.now();
flip_digits(now.hour() / 10, now.hour() % 10, now.minute() / 10, now.minute() % 10);
}

void flip_digits(int d1, int d2, int d3, int d4) {
// First digit.
flip_digit(111, d1);
// Second digit.
flip_digit(74, d2);
// Third digit.
flip_digit(37, d3);
// Fourth digit.
flip_digit(0, d4);
}

void flip_digit(int first_led, int val) {
if (val == 0) {
//strip.setPixelColor(first_led, 0);
strip.setPixelColor(first_led + 15, 0);
strip.setPixelColor(first_led + 16, 0);
strip.setPixelColor(first_led + 17, 0);
strip.setPixelColor(first_led + 18, 0);
strip.setPixelColor(first_led + 19, 0);
}
else if (val == 1) {
// strip.setPixelColor(first_led, 0);
strip.setPixelColor(first_led + 5, 0);
strip.setPixelColor(first_led + 6, 0);
strip.setPixelColor(first_led + 7, 0);
strip.setPixelColor(first_led + 8, 0);
strip.setPixelColor(first_led + 9, 0);

strip.setPixelColor(first_led + 10, 0);
strip.setPixelColor(first_led + 11, 0);
strip.setPixelColor(first_led + 12, 0);
strip.setPixelColor(first_led + 13, 0);
strip.setPixelColor(first_led + 14, 0);

strip.setPixelColor(first_led + 15, 0);
strip.setPixelColor(first_led + 16, 0);
strip.setPixelColor(first_led + 17, 0);
strip.setPixelColor(first_led + 18, 0);
strip.setPixelColor(first_led + 19, 0);

strip.setPixelColor(first_led + 25, 0);
strip.setPixelColor(first_led + 26, 0);
strip.setPixelColor(first_led + 27, 0);
strip.setPixelColor(first_led + 28, 0);
strip.setPixelColor(first_led + 29, 0);

strip.setPixelColor(first_led + 30, 0);
strip.setPixelColor(first_led + 31, 0);
strip.setPixelColor(first_led + 32, 0);
strip.setPixelColor(first_led + 33, 0);
strip.setPixelColor(first_led + 34, 0);

}
else if (val == 2) {

strip.setPixelColor(first_led + 10, 0);
strip.setPixelColor(first_led + 11, 0);
strip.setPixelColor(first_led + 12, 0);
strip.setPixelColor(first_led + 13, 0);
strip.setPixelColor(first_led + 14, 0);

strip.setPixelColor(first_led + 20, 0);
strip.setPixelColor(first_led + 21, 0);
strip.setPixelColor(first_led + 22, 0);
strip.setPixelColor(first_led + 23, 0);
strip.setPixelColor(first_led + 24, 0);

}
else if (val == 3) {
strip.setPixelColor(first_led + 10, 0);
strip.setPixelColor(first_led + 11, 0);
strip.setPixelColor(first_led + 12, 0);
strip.setPixelColor(first_led + 13, 0);
strip.setPixelColor(first_led + 14, 0);

strip.setPixelColor(first_led + 30, 0);
strip.setPixelColor(first_led + 31, 0);
strip.setPixelColor(first_led + 32, 0);
strip.setPixelColor(first_led + 33, 0);
strip.setPixelColor(first_led + 34, 0);

}
else if (val == 4) {
strip.setPixelColor(first_led + 5, 0);
strip.setPixelColor(first_led + 6, 0);
strip.setPixelColor(first_led + 7, 0);
strip.setPixelColor(first_led + 8, 0);
strip.setPixelColor(first_led + 9, 0);

strip.setPixelColor(first_led + 25, 0);
strip.setPixelColor(first_led + 26, 0);
strip.setPixelColor(first_led + 27, 0);
strip.setPixelColor(first_led + 28, 0);
strip.setPixelColor(first_led + 29, 0);

strip.setPixelColor(first_led + 30, 0);
strip.setPixelColor(first_led + 31, 0);
strip.setPixelColor(first_led + 32, 0);
strip.setPixelColor(first_led + 33, 0);
strip.setPixelColor(first_led + 34, 0);

}
else if (val == 5) {
strip.setPixelColor(first_led , 0);
strip.setPixelColor(first_led + 1, 0);
strip.setPixelColor(first_led + 2, 0);
strip.setPixelColor(first_led + 3, 0);
strip.setPixelColor(first_led + 4, 0);

strip.setPixelColor(first_led + 30, 0);
strip.setPixelColor(first_led + 31, 0);
strip.setPixelColor(first_led + 32, 0);
strip.setPixelColor(first_led + 33, 0);
strip.setPixelColor(first_led + 34, 0);

}
else if (val == 6) {
strip.setPixelColor(first_led , 0);
strip.setPixelColor(first_led + 1, 0);
strip.setPixelColor(first_led + 2, 0);
strip.setPixelColor(first_led + 3, 0);
strip.setPixelColor(first_led + 4, 0);
}
else if (val == 7) {

strip.setPixelColor(first_led + 10, 0);
strip.setPixelColor(first_led + 11, 0);
strip.setPixelColor(first_led + 12, 0);
strip.setPixelColor(first_led + 13, 0);
strip.setPixelColor(first_led + 14, 0);

strip.setPixelColor(first_led + 15, 0);
strip.setPixelColor(first_led + 16, 0);
strip.setPixelColor(first_led + 17, 0);
strip.setPixelColor(first_led + 18, 0);
strip.setPixelColor(first_led + 19, 0);

strip.setPixelColor(first_led + 25, 0);
strip.setPixelColor(first_led + 26, 0);
strip.setPixelColor(first_led + 27, 0);
strip.setPixelColor(first_led + 28, 0);
strip.setPixelColor(first_led + 29, 0);

strip.setPixelColor(first_led + 30, 0);
strip.setPixelColor(first_led + 31, 0);
strip.setPixelColor(first_led + 32, 0);
strip.setPixelColor(first_led + 33, 0);
strip.setPixelColor(first_led + 34, 0);

}
else if (val == 8) {

}
else if (val == 9) {
strip.setPixelColor(first_led + 30, 0);
strip.setPixelColor(first_led + 31, 0);
strip.setPixelColor(first_led + 32, 0);
strip.setPixelColor(first_led + 33, 0);
strip.setPixelColor(first_led + 34, 0);
}
}

Welcome to the forum

Please follow the advice given in the link below when posting code, in particular the section entitled 'Posting code and common code problems'

Use [color = red]code tags[/color] (the < CODE/ > icon above the compose window) to make it easier to read and copy for examination

https://forum.arduino.cc/t/how-to-get-the-best-out-of-this-forum

In my experience the easiest way to tidy up the code and add the code tags is as follows

Start by tidying up your code by using Tools/Auto Format in the IDE to make it easier to read. Then use Edit/Copy for Forum and paste what was copied in a new reply. Code tags will have been added to the code to make it easy to read in the forum thus making it easier to provide help.

1 Like

I highly recommend looking into arrays and loops. If you use arrays and loops, your program will become several times smaller and better understood.

2 Likes

Would you draw a picture? I can imagine a 5x7 character, but not "two dots" per character.

Where's rainbowCycle() (your main program)?

The colon between digits maybe ?

That makes sense, but "two per digit?"

Two dots equals one colon ?

I can see one colon, but each digit? Does OP numbers use umlauts?

"5 leds per segment *7 +2 leds for dots Total 37 leds for each digit."

I have the WOKWI barbi fired up... waiting for the missing function (rainbowCycle)

Files for WOKWI.COM

sketch.ino
#include <Adafruit_NeoPixel.h>
#include <Wire.h>
#include "RTClib.h"

#define PIN (6)
#define NUM_PIX 4 * 35 + 2 // four 5x7 matrices and a colon
RTC_DS3231 rtc;

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

void setup() {
  // Setup the LED strip and RTC module.
  strip.begin();
  strip.show();
  rtc.begin();
}

void loop() {
  // Cycle the clock digits through rainbow colors.
  // rainbowCycle(100);
  test();
}

void test() {
  for (int i = 0; i < NUM_PIX; i++)
    strip.setPixelColor(i, random(256), random(256), random(256));
  strip.show();
}

/* (Methods to un-set certain LEDs to form 7-segment digits.) */

void unsetTimeDigits() {
  DateTime now = rtc.now();
  flip_digits(now.hour() / 10, now.hour() % 10, now.minute() / 10, now.minute() % 10);
}

void flip_digits(int d1, int d2, int d3, int d4) {
  // First digit.
  flip_digit(111, d1);
  // Second digit.
  flip_digit(74, d2);
  // Third digit.
  flip_digit(37, d3);
  // Fourth digit.
  flip_digit(0, d4);
}

void flip_digit(int first_led, int val) {
  if (val == 0) {
    //strip.setPixelColor(first_led, 0);
    strip.setPixelColor(first_led + 15, 0);
    strip.setPixelColor(first_led + 16, 0);
    strip.setPixelColor(first_led + 17, 0);
    strip.setPixelColor(first_led + 18, 0);
    strip.setPixelColor(first_led + 19, 0);
  }
  else if (val == 1) {
    // strip.setPixelColor(first_led, 0);
    strip.setPixelColor(first_led + 5, 0);
    strip.setPixelColor(first_led + 6, 0);
    strip.setPixelColor(first_led + 7, 0);
    strip.setPixelColor(first_led + 8, 0);
    strip.setPixelColor(first_led + 9, 0);

    strip.setPixelColor(first_led + 10, 0);
    strip.setPixelColor(first_led + 11, 0);
    strip.setPixelColor(first_led + 12, 0);
    strip.setPixelColor(first_led + 13, 0);
    strip.setPixelColor(first_led + 14, 0);

    strip.setPixelColor(first_led + 15, 0);
    strip.setPixelColor(first_led + 16, 0);
    strip.setPixelColor(first_led + 17, 0);
    strip.setPixelColor(first_led + 18, 0);
    strip.setPixelColor(first_led + 19, 0);

    strip.setPixelColor(first_led + 25, 0);
    strip.setPixelColor(first_led + 26, 0);
    strip.setPixelColor(first_led + 27, 0);
    strip.setPixelColor(first_led + 28, 0);
    strip.setPixelColor(first_led + 29, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 2) {

    strip.setPixelColor(first_led + 10, 0);
    strip.setPixelColor(first_led + 11, 0);
    strip.setPixelColor(first_led + 12, 0);
    strip.setPixelColor(first_led + 13, 0);
    strip.setPixelColor(first_led + 14, 0);

    strip.setPixelColor(first_led + 20, 0);
    strip.setPixelColor(first_led + 21, 0);
    strip.setPixelColor(first_led + 22, 0);
    strip.setPixelColor(first_led + 23, 0);
    strip.setPixelColor(first_led + 24, 0);

  }
  else if (val == 3) {
    strip.setPixelColor(first_led + 10, 0);
    strip.setPixelColor(first_led + 11, 0);
    strip.setPixelColor(first_led + 12, 0);
    strip.setPixelColor(first_led + 13, 0);
    strip.setPixelColor(first_led + 14, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 4) {
    strip.setPixelColor(first_led + 5, 0);
    strip.setPixelColor(first_led + 6, 0);
    strip.setPixelColor(first_led + 7, 0);
    strip.setPixelColor(first_led + 8, 0);
    strip.setPixelColor(first_led + 9, 0);

    strip.setPixelColor(first_led + 25, 0);
    strip.setPixelColor(first_led + 26, 0);
    strip.setPixelColor(first_led + 27, 0);
    strip.setPixelColor(first_led + 28, 0);
    strip.setPixelColor(first_led + 29, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 5) {
    strip.setPixelColor(first_led, 0);
    strip.setPixelColor(first_led + 1, 0);
    strip.setPixelColor(first_led + 2, 0);
    strip.setPixelColor(first_led + 3, 0);
    strip.setPixelColor(first_led + 4, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 6) {
    strip.setPixelColor(first_led, 0);
    strip.setPixelColor(first_led + 1, 0);
    strip.setPixelColor(first_led + 2, 0);
    strip.setPixelColor(first_led + 3, 0);
    strip.setPixelColor(first_led + 4, 0);
  }
  else if (val == 7) {

    strip.setPixelColor(first_led + 10, 0);
    strip.setPixelColor(first_led + 11, 0);
    strip.setPixelColor(first_led + 12, 0);
    strip.setPixelColor(first_led + 13, 0);
    strip.setPixelColor(first_led + 14, 0);

    strip.setPixelColor(first_led + 15, 0);
    strip.setPixelColor(first_led + 16, 0);
    strip.setPixelColor(first_led + 17, 0);
    strip.setPixelColor(first_led + 18, 0);
    strip.setPixelColor(first_led + 19, 0);

    strip.setPixelColor(first_led + 25, 0);
    strip.setPixelColor(first_led + 26, 0);
    strip.setPixelColor(first_led + 27, 0);
    strip.setPixelColor(first_led + 28, 0);
    strip.setPixelColor(first_led + 29, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 8) {

  }
  else if (val == 9) {
    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);
  }
}

diagram.json
{
  "version": 1,
  "author": "Anonymous maker",
  "editor": "wokwi",
  "parts": [
    { "type": "wokwi-arduino-nano", "id": "nano", "top": 4.8, "left": -144.5, "attrs": {} },
    {
      "type": "wokwi-neopixel-matrix",
      "id": "ring1",
      "top": -197.16,
      "left": -134.94,
      "attrs": { "pixleate": "1", "rows": "7", "cols": "5" }
    },
    {
      "type": "wokwi-neopixel-matrix",
      "id": "ring2",
      "top": -197.16,
      "left": -0.54,
      "attrs": { "pixleate": "1", "rows": "7", "cols": "5" }
    },
    {
      "type": "wokwi-neopixel-matrix",
      "id": "ring3",
      "top": -197.16,
      "left": 162.66,
      "attrs": { "pixleate": "1", "rows": "7", "cols": "5" }
    },
    {
      "type": "wokwi-neopixel-matrix",
      "id": "ring4",
      "top": -197.16,
      "left": 297.06,
      "attrs": { "pixleate": "1", "rows": "7", "cols": "5" }
    },
    { "type": "wokwi-vcc", "id": "vcc1", "top": -66.44, "left": -163.2, "attrs": {} },
    { "type": "wokwi-gnd", "id": "gnd1", "top": 0, "left": -163.8, "attrs": {} },
    { "type": "wokwi-neopixel", "id": "rgb1", "top": -157.1, "left": 133.4, "attrs": {} },
    { "type": "wokwi-neopixel", "id": "rgb2", "top": -99.5, "left": 133.4, "attrs": {} }
  ],
  "connections": [
    [ "ring1:DIN", "nano:6", "green", [ "v0" ] ],
    [ "ring1:DOUT", "ring2:DIN", "green", [ "v9.6", "h105.6" ] ],
    [ "ring2:DOUT", "ring3:DIN", "green", [ "v9.6", "h144" ] ],
    [ "ring3:DOUT", "ring4:DIN", "green", [ "v9.6", "h124.8" ] ],
    [ "gnd1:GND", "ring1:GND", "black", [ "v-9.6", "h86.4" ] ],
    [ "vcc1:VCC", "ring1:VCC", "red", [ "v19.2", "h86.4" ] ],
    [ "ring1:GND", "ring2:GND", "black", [ "v28.8", "h134.4" ] ],
    [ "ring2:GND", "ring3:GND", "black", [ "v28.8", "h163.2" ] ],
    [ "ring3:GND", "ring4:GND", "black", [ "v28.8", "h134.4" ] ],
    [ "ring1:VCC", "ring2:VCC", "red", [ "v19.2", "h134.4" ] ],
    [ "ring2:VCC", "ring3:VCC", "red", [ "v19.2", "h163.2" ] ],
    [ "ring3:VCC", "ring4:VCC", "red", [ "v19.2", "h134.4" ] ],
    [ "rgb2:DIN", "rgb1:DOUT", "white", [ "v-19.2", "h-20" ] ],
    [ "ring4:DOUT", "rgb1:DIN", "white", [ "h-211.2", "v-115.2" ] ],
    [ "ring3:VCC", "rgb2:VDD", "white", [ "v0", "h-96", "v-57.6" ] ],
    [ "rgb2:VDD", "rgb1:VDD", "white", [ "h-9.6", "v-57.6" ] ],
    [ "ring3:GND", "rgb2:VSS", "white", [ "v0", "h-67.2" ] ],
    [ "rgb2:VSS", "rgb1:VSS", "white", [ "v0" ] ]
  ],
  "dependencies": {}
}

You are right... every number has a two-dot colon. LEDs are:

  0 -  34 +  35,  36
 37 -  71 +  72,  73
 74 - 108 + 109, 110
111 - 145 + 146, 147

Files for WOKWI.COM

sketch.ino
#include <Adafruit_NeoPixel.h>
#include <Wire.h>
#include "RTClib.h"

#define PIN (6)
#define NUM_PIX 4 * 35 + 2 // four 5x7 matrices and a colon
RTC_DS3231 rtc;

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

void setup() {
  // Setup the LED strip and RTC module.
  strip.begin();
  strip.show();
  rtc.begin();
}

void loop() {
  // Cycle the clock digits through rainbow colors.
  // rainbowCycle(100);
  // test();
  markpix();
}

void markpix () {
  // first pixel RED
  strip.setPixelColor(111, 255, 0, 0);
  strip.setPixelColor(74, 255, 0, 0);
  strip.setPixelColor(37, 255, 0, 0);
  strip.setPixelColor(0, 255, 0, 0);

  // last pixel GRN
  strip.setPixelColor(145, 0, 255, 0);
  strip.setPixelColor(108, 0, 255, 0);
  strip.setPixelColor(71, 0, 255, 0);
  strip.setPixelColor(34, 0, 255, 0);

  // colon CYN:MAG
  strip.setPixelColor(147, 255, 0, 255);
  strip.setPixelColor(146, 0, 255, 255);

  strip.setPixelColor(110, 255, 0, 255);
  strip.setPixelColor(109, 0, 255, 255);

  strip.setPixelColor(73, 255, 0, 255);
  strip.setPixelColor(72, 0, 255, 255);

  strip.setPixelColor(36, 255, 0, 255);
  strip.setPixelColor(35, 0, 255, 255);
  strip.show();
}

void test() {
  for (int i = 0; i < NUM_PIX; i++)
    strip.setPixelColor(i, random(256), random(256), random(256));
  strip.show();
}

/* (Methods to un-set certain LEDs to form 7-segment digits.) */

void unsetTimeDigits() {
  DateTime now = rtc.now();
  flip_digits(now.hour() / 10, now.hour() % 10, now.minute() / 10, now.minute() % 10);
}

void flip_digits(int d1, int d2, int d3, int d4) {
  // First digit.
  flip_digit(111, d1);
  // Second digit.
  flip_digit(74, d2);
  // Third digit.
  flip_digit(37, d3);
  // Fourth digit.
  flip_digit(0, d4);
}

void flip_digit(int first_led, int val) {
  if (val == 0) {
    //strip.setPixelColor(first_led, 0);
    strip.setPixelColor(first_led + 15, 0);
    strip.setPixelColor(first_led + 16, 0);
    strip.setPixelColor(first_led + 17, 0);
    strip.setPixelColor(first_led + 18, 0);
    strip.setPixelColor(first_led + 19, 0);
  }
  else if (val == 1) {
    // strip.setPixelColor(first_led, 0);
    strip.setPixelColor(first_led + 5, 0);
    strip.setPixelColor(first_led + 6, 0);
    strip.setPixelColor(first_led + 7, 0);
    strip.setPixelColor(first_led + 8, 0);
    strip.setPixelColor(first_led + 9, 0);

    strip.setPixelColor(first_led + 10, 0);
    strip.setPixelColor(first_led + 11, 0);
    strip.setPixelColor(first_led + 12, 0);
    strip.setPixelColor(first_led + 13, 0);
    strip.setPixelColor(first_led + 14, 0);

    strip.setPixelColor(first_led + 15, 0);
    strip.setPixelColor(first_led + 16, 0);
    strip.setPixelColor(first_led + 17, 0);
    strip.setPixelColor(first_led + 18, 0);
    strip.setPixelColor(first_led + 19, 0);

    strip.setPixelColor(first_led + 25, 0);
    strip.setPixelColor(first_led + 26, 0);
    strip.setPixelColor(first_led + 27, 0);
    strip.setPixelColor(first_led + 28, 0);
    strip.setPixelColor(first_led + 29, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 2) {

    strip.setPixelColor(first_led + 10, 0);
    strip.setPixelColor(first_led + 11, 0);
    strip.setPixelColor(first_led + 12, 0);
    strip.setPixelColor(first_led + 13, 0);
    strip.setPixelColor(first_led + 14, 0);

    strip.setPixelColor(first_led + 20, 0);
    strip.setPixelColor(first_led + 21, 0);
    strip.setPixelColor(first_led + 22, 0);
    strip.setPixelColor(first_led + 23, 0);
    strip.setPixelColor(first_led + 24, 0);

  }
  else if (val == 3) {
    strip.setPixelColor(first_led + 10, 0);
    strip.setPixelColor(first_led + 11, 0);
    strip.setPixelColor(first_led + 12, 0);
    strip.setPixelColor(first_led + 13, 0);
    strip.setPixelColor(first_led + 14, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 4) {
    strip.setPixelColor(first_led + 5, 0);
    strip.setPixelColor(first_led + 6, 0);
    strip.setPixelColor(first_led + 7, 0);
    strip.setPixelColor(first_led + 8, 0);
    strip.setPixelColor(first_led + 9, 0);

    strip.setPixelColor(first_led + 25, 0);
    strip.setPixelColor(first_led + 26, 0);
    strip.setPixelColor(first_led + 27, 0);
    strip.setPixelColor(first_led + 28, 0);
    strip.setPixelColor(first_led + 29, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 5) {
    strip.setPixelColor(first_led, 0);
    strip.setPixelColor(first_led + 1, 0);
    strip.setPixelColor(first_led + 2, 0);
    strip.setPixelColor(first_led + 3, 0);
    strip.setPixelColor(first_led + 4, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 6) {
    strip.setPixelColor(first_led, 0);
    strip.setPixelColor(first_led + 1, 0);
    strip.setPixelColor(first_led + 2, 0);
    strip.setPixelColor(first_led + 3, 0);
    strip.setPixelColor(first_led + 4, 0);
  }
  else if (val == 7) {

    strip.setPixelColor(first_led + 10, 0);
    strip.setPixelColor(first_led + 11, 0);
    strip.setPixelColor(first_led + 12, 0);
    strip.setPixelColor(first_led + 13, 0);
    strip.setPixelColor(first_led + 14, 0);

    strip.setPixelColor(first_led + 15, 0);
    strip.setPixelColor(first_led + 16, 0);
    strip.setPixelColor(first_led + 17, 0);
    strip.setPixelColor(first_led + 18, 0);
    strip.setPixelColor(first_led + 19, 0);

    strip.setPixelColor(first_led + 25, 0);
    strip.setPixelColor(first_led + 26, 0);
    strip.setPixelColor(first_led + 27, 0);
    strip.setPixelColor(first_led + 28, 0);
    strip.setPixelColor(first_led + 29, 0);

    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);

  }
  else if (val == 8) {

  }
  else if (val == 9) {
    strip.setPixelColor(first_led + 30, 0);
    strip.setPixelColor(first_led + 31, 0);
    strip.setPixelColor(first_led + 32, 0);
    strip.setPixelColor(first_led + 33, 0);
    strip.setPixelColor(first_led + 34, 0);
  }
}
diagram.json
  "version": 1,
  "author": "Anonymous maker",
  "editor": "wokwi",
  "parts": [
    { "type": "wokwi-arduino-nano", "id": "nano", "top": 4.8, "left": -144.5, "attrs": {} },
    {
      "type": "wokwi-neopixel-matrix",
      "id": "ring1",
      "top": -225.96,
      "left": -144.54,
      "attrs": { "pixleate": "1", "rows": "7", "cols": "5" }
    },
    {
      "type": "wokwi-neopixel-matrix",
      "id": "ring2",
      "top": -225.96,
      "left": -0.54,
      "attrs": { "pixleate": "1", "rows": "7", "cols": "5" }
    },
    {
      "type": "wokwi-neopixel-matrix",
      "id": "ring3",
      "top": -225.96,
      "left": 143.46,
      "attrs": { "pixleate": "1", "rows": "7", "cols": "5" }
    },
    {
      "type": "wokwi-neopixel-matrix",
      "id": "ring4",
      "top": -225.96,
      "left": 287.46,
      "attrs": { "pixleate": "1", "rows": "7", "cols": "5" }
    },
    { "type": "wokwi-vcc", "id": "vcc1", "top": -66.44, "left": -124.8, "attrs": {} },
    { "type": "wokwi-gnd", "id": "gnd1", "top": 0, "left": 47.4, "attrs": {} },
    {
      "type": "wokwi-neopixel",
      "id": "rgb3",
      "top": -188.3,
      "left": -20,
      "rotate": 180,
      "attrs": {}
    },
    {
      "type": "wokwi-neopixel",
      "id": "rgb4",
      "top": -121.1,
      "left": -20,
      "rotate": 180,
      "attrs": {}
    },
    {
      "type": "wokwi-neopixel",
      "id": "rgb1",
      "top": -188.3,
      "left": 124,
      "rotate": 180,
      "attrs": {}
    },
    {
      "type": "wokwi-neopixel",
      "id": "rgb2",
      "top": -121.1,
      "left": 124,
      "rotate": 180,
      "attrs": {}
    },
    {
      "type": "wokwi-neopixel",
      "id": "rgb5",
      "top": -188.3,
      "left": 268,
      "rotate": 180,
      "attrs": {}
    },
    {
      "type": "wokwi-neopixel",
      "id": "rgb6",
      "top": -121.1,
      "left": 268,
      "rotate": 180,
      "attrs": {}
    },
    {
      "type": "wokwi-neopixel",
      "id": "rgb7",
      "top": -188.3,
      "left": 412,
      "rotate": 180,
      "attrs": {}
    },
    {
      "type": "wokwi-neopixel",
      "id": "rgb8",
      "top": -121.1,
      "left": 412,
      "rotate": 180,
      "attrs": {}
    }
  ],
  "connections": [
    [ "ring1:DIN", "nano:6", "green", [ "v0" ] ],
    [ "gnd1:GND", "ring1:GND", "black", [ "v-9.6", "h86.4" ] ],
    [ "vcc1:VCC", "ring1:VCC", "red", [ "v19.2", "h86.4" ] ],
    [ "ring1:GND", "ring2:GND", "black", [ "v28.8", "h134.4" ] ],
    [ "ring2:GND", "ring3:GND", "black", [ "v28.8", "h163.2" ] ],
    [ "ring3:GND", "ring4:GND", "black", [ "v28.8", "h134.4" ] ],
    [ "ring1:VCC", "ring2:VCC", "red", [ "v19.2", "h134.4" ] ],
    [ "ring2:VCC", "ring3:VCC", "red", [ "v19.2", "h163.2" ] ],
    [ "ring3:VCC", "ring4:VCC", "red", [ "v19.2", "h134.4" ] ],
    [ "rgb4:VDD", "rgb3:VDD", "white", [ "h-9.6", "v-57.6" ] ],
    [ "rgb4:VSS", "rgb3:VSS", "white", [ "v0" ] ],
    [ "rgb4:DOUT", "rgb3:DIN", "white", [ "h0.2", "v-30.3", "h-19.2" ] ],
    [ "rgb2:VDD", "rgb1:VDD", "white", [ "h4.77", "v-67.2" ] ],
    [ "rgb2:VSS", "rgb1:VSS", "white", [ "v0" ] ],
    [ "rgb2:DOUT", "rgb1:DIN", "white", [ "h0.2", "v-30.3", "h-19.2" ] ],
    [ "rgb6:VDD", "rgb5:VDD", "white", [ "h4.77", "v-67.2" ] ],
    [ "rgb6:VSS", "rgb5:VSS", "white", [ "v0" ] ],
    [ "rgb6:DOUT", "rgb5:DIN", "white", [ "h0.2", "v-30.3", "h-19.2" ] ],
    [ "rgb8:VDD", "rgb7:VDD", "white", [ "h4.77", "v-67.2" ] ],
    [ "rgb8:VSS", "rgb7:VSS", "white", [ "v0" ] ],
    [ "rgb8:DOUT", "rgb7:DIN", "white", [ "h0.2", "v-30.3", "h-19.2" ] ],
    [ "ring1:DOUT", "rgb4:DIN", "white", [ "v9.6", "h48" ] ],
    [ "rgb3:DOUT", "ring2:DIN", "white", [ "h0", "v125.7", "h67.2" ] ],
    [ "ring2:DOUT", "rgb2:DIN", "white", [ "v9.6", "h57.6" ] ],
    [ "rgb1:DOUT", "ring3:DIN", "white", [ "h0", "v125.7", "h67.2" ] ],
    [ "ring3:DOUT", "rgb6:DIN", "white", [ "v9.6", "h48" ] ],
    [ "rgb5:DOUT", "ring4:DIN", "white", [ "h0", "v125.7", "h67.2" ] ],
    [ "ring4:DOUT", "rgb8:DIN", "white", [ "v9.6", "h48" ] ]
  ],
  "dependencies": {}
}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.