Showing numbers with the flashes of light
-
Showing numbers with the flashes of light
Hello! If a situation arises when it is necessary to find out the humidity and temperature, but the display is not possible to use for some reason.
List of reasons:
- expensive;
- afraid of moisture;
- too lazy to solder;
- a small print that is not visible at all;
- important aesthetics and minimalism;
- all listed together.
In this case, there is an excellent reason to use the color approach to displaying information. Everything would be fine, but the primary colors are completely worthless - some seven (from the rainbow). Can you distinguish between light blue and blue or yellow from orange? What to do? Remove such strange colors! Leave: Red, Yellow, Green, Blue, Purple and White (unexpectedly, yes?). How much did it work? 6. And there are 10 digits, and even a minus for negative numbers, a floating point and a separator. We will be smart and make a flasher! Violet - it will be 5, and six it will be 5 + 1, and 1 will be Red. Just fit. Huh! Table 1 shows the colors for the corresponding characters.
Table 1
Number (or char) Color (s) Zero blink VIOLET One light up RED Two light up YELLOW Three light up GREEN Four light up BLUE Five light up VIOLET Six blink VIOLET / RED Seven blink VIOLET / YELLOW Eight blink VIOLET / GREEN Nine blink VIOLET / BLUE Negative (-) blink WHITE / RED Floating point (.) blink WHITE Line feed (\n) light up WHITE Primary you need download and connect the library. Then declare a custom callback function void callback (int, int, int) R, G, B - channels (from 0 to 255), which will access the hardware (light up the LED). Call the lightf function, where the first argument will be a pointer to this same callback function, then a line with a format that is completely analogous to printf and any number of arguments. Remember to use the newline character \ n, after each qualifier in the format string.
At my fingertips lies the Base Unit M5Stack FIRE with built-in Neopixel panels, for testing, as nothing else is better. You can watch a video demonstrating a sketch showing the Pi number with an accuracy of 6 decimal places (YouTube) here.
Thanks!
Download library (GitHub) here