I have a problem with the coding of led strip to make it into the running text
#include <Adafruit_NeoPixel.h>
#define CLR_WHITE 8
#define CLR_RED 2
const int led_row =5;
const int led_col=24;
int led_count= led_row *led_col;
Adafruit_NeoPixel strip = Adafruit_NeoPixel (led_count,2,NEO_GRB + NEO_KHZ800);
byte value_r=255;
byte value_g=0;
byte value_b=0;
byte color_in_row[12];
int index_animasi=0;
byte color_data[9][3]{
{0,255,255},
{255,255,0},
{255,0,0},
{0,255,0},
{0,0,255},
{0,255,255},
{255,0,0},
{0,0,255},
{255,255,255}
};
const byte font_wave[] PROGMEM ={
0x1C, 0x0A, 0x09, 0x0A, 0x1C, // Code for char A
0x1F, 0x15, 0x15, 0x15, 0x0A, // Code for char B
0x1F, 0x11, 0x11, 0x11, 0x11, // Code for char C
0x1F, 0x11, 0x11, 0x11, 0x0E, // Code for char D
0x1F, 0x15, 0x15, 0x15, 0x15, // Code for char E
0x1F, 0x05, 0x05, 0x05, 0x05, // Code for char F
0x1F, 0x11, 0x15, 0x15, 0x1D, // Code for char G
0x1F, 0x04, 0x04, 0x04, 0x1F, // Code for char H
0x11, 0x11, 0x1F, 0x11, 0x11, // Code for char I
0x08, 0x10, 0x10, 0x10, 0x0F, // Code for char J
0x1F, 0x04, 0x0E, 0x1B, 0x11, // Code for char K
0x1F, 0x10, 0x10, 0x10, 0x10, // Code for char L
0x1F, 0x02, 0x04, 0x02, 0x1F, // Code for char M
0x1F, 0x02, 0x04, 0x08, 0x1F, // Code for char N
0x0E, 0x11, 0x11, 0x11, 0x0E, // Code for char O
0x1F, 0x05, 0x05, 0x05, 0x07, // Code for char P
0x0E, 0x11, 0x15, 0x09, 0x16, // Code for char Q
0x1F, 0x05, 0x0D, 0x15, 0x02, // Code for char R
0x12, 0x15, 0x15, 0x15, 0x09, // Code for char S
0x01, 0x01, 0x1F, 0x01, 0x01, // Code for char T
0x0F, 0x10, 0x10, 0x10, 0x0F, // Code for char U
0x07, 0x08, 0x10, 0x08, 0x07, // Code for char V
0x1F, 0x08, 0x04, 0x08, 0x1F, // Code for char W
0x11, 0x0A, 0x04, 0x0A, 0x11, // Code for char X
0x01, 0x02, 0x1C, 0x02, 0x01, // Code for char Y
0x11, 0x19, 0x15, 0x13, 0x11 // Code for char Z
};
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Belajar Strobo #Eps.02 ShareAnimasi 001");
strip.begin();
strip.show();
}
void loop() {
animation_text();
}
void animation_text(){
int c=0; //kolom led
int j=4; //jumlah huruf
int k=5; //jumlah kolom
char chr[4]={'H','I','N','O'};
for(int h=0;h<j;h++){
byte index_char = chr-65;
for (int a=0;a<k;a++){
int index_char_col = index_char k;
byte b= pgm_read_byte(&font_wave[index_char_col+a]);
if (b==0){
break;
}
for (int r=0;r<5;r++){
byte b2=bitRead(b,r);
int i = led_from_pixel(4-r,c);
if (c>=led_col){
}
else{
int i=led_from_pixel(4-r,c);
if (b2==1){
strip.setPixelColor(i,strip.Color(value_r,value_g,value_b));
}
else{
strip.setPixelColor(i,strip.Color(0,0,0));
}
}
}
c++;
}
if (c>led_col){
for (int r=0;r<5;r++){
int i=led_from_pixel (r,c);
strip.setPixelColor(i, strip.Color(0,0,0));
}
}
c++;
strip.show();
delay(1000);
}
}
void color_select(int index_color){
value_r = color_data[index_color][0];
value_g = color_data[index_color][1];
value_b = color_data[index_color][2];
}
void led_off(){
for (int i=0;i<led_count;i++){
}
}
int led_from_pixel(byte row, byte col){
int a=0;
if (row%2==0){
a = (rowled_col)+col;
} else {
a = ((row+1)*led_col)-1-col;
}
return a;
}
byte led_set_brightness(byte v, byte br){
return map(v,0,255,0,br);
}