Dodany przez: klima, 18:17 01-03-2025

Nowy Pobierz
  1. // Definicja segmentów
  2. const uint8_t SEGMENT_PATTERNS[12][14] PROGMEM = {
  3.     {0,1,2,3,4,5,8,9,10,11,12,13,255}, // 0
  4.     {4,5,12,13,255}, // 1
  5.     {2,3,4,5,6,7,8,9,10,11,255}, // 2
  6.     {2,3,4,5,6,7,10,11,12,13,255}, // 3
  7.     {0,1,4,5,6,7,12,13,255}, // 4
  8.     {0,1,2,3,6,7,10,11,12,13,255}, // 5
  9.     {0,1,2,3,6,7,8,9,10,11,12,13,255}, // 6
  10.     {2,3,4,5,12,13,255}, // 7
  11.     {0,1,2,3,4,5,6,7,8,9,10,11,12,13}, // 8
  12.     {0,1,2,3,4,5,6,7,10,11,12,13,255}, // 9
  13.     {}, // Pusty (10)
  14.     {6,7} // Minus (11)
  15. };
  16.  
  17.  
  18.  
  19. // Ustawienie segmentu LED
  20. void setSegment(uint8_t startLed, uint8_t value, uint8_t r, uint8_t g, uint8_t b) {
  21.     if (value > 11) return; // Ochrona przed złym indeksem
  22.  
  23.     // Wyłącz segment
  24.     for (uint8_t i = 0; i < 14; i++) {
  25.         pixels.setPixelColor(startLed + i, 0, 0, 0);
  26.     }
  27.  
  28.     // Włącz segmenty odpowiednie dla cyfry
  29.     uint8_t i = 0, led;
  30.     while ((led = pgm_read_byte(&(SEGMENT_PATTERNS[value][i]))) != 255) {
  31.         if (i >= 14) break;
  32.         pixels.setPixelColor(startLed + led, r, g, b);
  33.         i++;
  34.         yield(); // Zapobiega resetowi przez watchdog
  35.     }
  36. }
  37.  
  38.  

Źródło:

Ostatnie wpisy

Linki

Funkcje