- // Definicja segmentów
- #define DIGIT_EMPTY 10
- #define DIGIT_MINUS 11
- const uint16_t SEGMENT_PATTERNS[12] PROGMEM = {
- [0] = 0b11111100111111,
- [1] = 0b11000000110000,
- [2] = 0b00111111111100,
- [3] = 0b11110011111100,
- [4] = 0b11000011110011,
- [5] = 0b11110011001111,
- [6] = 0b11111111001111,
- [7] = 0b11000000111100,
- [8] = 0b11111111111111,
- [9] = 0b11110011111111,
- [DIGIT_EMPTY] = 0b00000000000000,
- [DIGIT_MINUS] = 0b00000011000000,
- };
- // Ustawienie segmentu LED
- void setSegment(uint8_t startLed, uint8_t value, uint8_t r, uint8_t g, uint8_t b) {
- if (value > 11) return; // Ochrona przed złym indeksem
- // Wyłącz segment
- for (uint8_t i = 0; i < 14; i++) {
- pixels.setPixelColor(startLed + i, 0, 0, 0);
- }
- // Włącz segmenty odpowiednie dla cyfry
- uint8_t i = 0;
- uint16_t leds = pgm_read_word(&SEGMENT_PATTERNS[value]);
- for(i=0; leds != 0; i++, leds >>= 1) {
- if(leds & 1)
- pixels.setPixelColor(startLed + i, r, g, b);
- yield();
- }
- }
Bez tytułu
z Colossal Pintail, 1 tydzień temu, napisane w Plain Text, wyświetlone 16 razy.
[paste_expire] 10 miesiące.
URL https://pastebin.k4be.pl/view/e31541a9
Udostępnij
Pobierz wklejkę lub Pokaż surowy tekst
— Rozwiń pełna szerokość przeglądarki