Na Allegro nabyłem wyświetlacze 4-ro liczbowe 7-segmentowe z dwukropkiem w środku. Tak wygląda:

Wyświetlacz kontroluje układ TM1637 na który mamy dobre sterowniki w Arduino i MicroPython
MENU
Arduino
Prosty kod do szybkiego użycia wyświetlacza:
Wzór do tworzenia napisów z pomocą metody setSegments()
uint8_t full[]={
SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G,
SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G,
SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G,
SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G
};
Ważniejsze funkcje:
setBrightness(brightness, true/false)
Funkcja ustawiająca jasność wyświetlacza. Możemy ustawiać jasność od 0 (najniższa) do 7 (najwyższa). Drugi parametr włącza (true) lub wyłącza (false) diody na wyświetlaczu.
Linki
- TM1637 4-digit 7-segment LED display Arduino tutorial – świetny tutorial
- TM1637Display Class Reference
Dla MicroPython
Biblioteka: https://github.com/mcauser/micropython-tm1637
Podłączenie modułu:
tm = tm1637.TM1637(clk=Pin(5), dio=Pin(4))
ESP8266 z modułem łączymy:
| Moduł TM1637 | ESP8266 |
| CLK | GPIO5 / D1 |
| DIO | GPIO4 / D2 |
Metody – MicroPython
Pobierz lub ustaw jasność.
brightness(val=None)
Napisz jeden lub więcej segmentów przy danym przesunięciu.
write(segments, pos=0)
Konwertowanie pojedynczej cyfry szesnastkowej (0x00-0x0f) na segment.
encode_digit(digit)
Konwertowanie ciągu na listę segmentów.
encode_string(string)
Konwertowanie pojedynczego znaku na segment.
encode_char(char)
Wyświetl liczbę w formacie szesnastkowym od 0000 do FFFF.
hex(val)
Wyświetl liczbę od -999 do 9999, wyrównaną do prawej.
number(num)
Wyświetl 2 niezależne liczby po obu stronach (opcjonalnego) dwukropka, z zerami wiodącymi.
numbers(num1, num2, colon=True)
Wyświetl temperaturę od -9 do 99, a następnie stopnie C.
temperature(num)
Pokaż ciąg znaków na wyświetlaczu. Skrót od write(encode_string()). Ograniczone do pierwszych 4 znaków.
show(string, colon=False)
Wyświetl ciąg na wyświetlaczu, przewijanie od prawej do lewej, regulowana prędkość. Ciąg zaczyna się poza ekranem i przewija się do momentu poza ekranem przy 4 klatkach na sekundę domyślnie.
scroll(string, delay=250)
Fonty
| Display | Bin | Hex | Dec |
|---|---|---|---|
| 0 | 0b00111111 | 0x3F | 63 |
| 1 | 0b00000110 | 0x06 | 6 |
| 2 | 0b01011011 | 0x5B | 91 |
| 3 | 0b01001111 | 0x4F | 79 |
| 4 | 0b01100110 | 0x66 | 102 |
| 5 | 0b01101101 | 0x6D | 109 |
| 6 | 0b01111101 | 0x7D | 125 |
| 7 | 0b00000111 | 0x07 | 7 |
| 8 | 0b01111111 | 0x7F | 127 |
| 9 | 0b01101111 | 0x6F | 111 |
| A | 0b01110111 | 0x77 | 119 |
| b | 0b01111100 | 0x7C | 124 |
| C | 0b00111001 | 0x39 | 57 |
| d | 0b01011110 | 0x5E | 94 |
| E | 0b01111001 | 0x79 | 121 |
| F | 0b01110001 | 0x71 | 113 |
| G | 0b00111101 | 0x3D | 61 |
| H | 0b01110110 | 0x76 | 118 |
| I | 0b00000110 | 0x06 | 6 |
| J | 0b00011110 | 0x1E | 30 |
| K | 0b01110110 | 0x76 | 118 |
| L | 0b00111000 | 0x38 | 56 |
| M | 0b01010101 | 0x55 | 85 |
| n | 0b01010100 | 0x54 | 84 |
| O | 0b00111111 | 0x3F | 63 |
| P | 0b01110011 | 0x73 | 115 |
| q | 0b01100111 | 0x67 | 103 |
| r | 0b01010000 | 0x50 | 80 |
| S | 0b01101101 | 0x6D | 109 |
| t | 0b01111000 | 0x78 | 120 |
| U | 0b00111110 | 0x3E | 62 |
| v | 0b00011100 | 0x1C | 28 |
| W | 0b00101010 | 0x2A | 42 |
| X | 0b01110110 | 0x76 | 118 |
| y | 0b01101110 | 0x6E | 110 |
| Z | 0b01011011 | 0x5B | 91 |
| blank | 0b00000000 | 0x00 | 0 |
| – | 0b01000000 | 0x40 | 64 |
| * | 0b01100011 | 0x63 | 99 |