If we add three WS2811 microcircuits to a regular seven-segment LED display, with which they turn into ordinary addressable RGB LEDs, we get ... an addressable seven-segment display. Nine bits are enough for just seven segments and two points (one of which is missing in some indicators). This is even more convenient than shift registers, because the brightness of each segment can be continuously adjusted. With the help of three-pin comb, you can dock single-digit displays and get multi-digit. Such homemade coined by Instructables under the nickname seanhodgins. he launched a crowdfunding campaign, thanks to which such modules can become finished products.
The device is made on the board, all the necessary files for the manufacture of which can be downloaded. An ordinary seven-segment LED display, which will be turned into an addressable one using this device, must be with a common anode.
The wizard starts by installing the SMD components. First, solders resistors (3 pcs. Of 33 Ohms each) and capacitors (3 pcs. Of 1 μF each), and both of size 0805. Then there are WS2811 microcircuits, as we recall, there are also three of them. When soldering in this order, the overheating of the microcircuits is minimal.
The hair dryer allows you to solder all SMD components simultaneously and quickly, if desired, while their overheating is even less:
Then come the output components. Connectors first. Here it is shown which side to solder the comb, and which side - the counterpart:
The display itself remains, which is located on the opposite side of the board and closes the solder points of the connectors:
Below is shown the electrical circuit, which will turn out if Arduino connect one such module:
This diagram is designed for the case when there is no one point in the display. Guided by it, you can assemble something similar even on a breadboard such as perfboard, while it is not necessary to divide several bits into separate boards.
Please note: you need to submit data to the module chain from the low-order side, and then the data flow goes from the low-order to the high-order.
To check the modules you have collected, the developer has compiled, requiring a standard library. If desired, this sketch can also be converted into a library. To display a digit on the desired discharge with a particular brightness, you need to use the operator:
writeDigit (DisplayNumber, Number, Brightness);
Numbering of digits - starting from the youngest, which is assigned a zero number. To update the display, use another operator:
segments.show ();