I was inspired by this article:
Arduino Uno R4 LED Matrix displays Number Character
Three digits on 12x8 dotsSo I reduced the amount of pixels used for a single digit to the absolute minimum: 3x5 pixels plus one pixel distance to the next digit. Editing the font was not too much work. And there was even place to enter a decimal point, which makes it possible to show values from 0 to 99 with one decimal place. A good start for a thermometer, using the famous DS18B20, which works perfectly well with the R4, data pin connected to A0. So the chip plus the resistor can be mounted on a small PCB board and inserted into the power pins and A0.
The LEDs are driven by pin-28 to pin-38 using Charlieplexing. That means that an LED will not be lit permanently but only switched on for a fraction of a second. How strong may the current be? Well, when I switch off the complete matrix, my amp meter showed a consumption of 0.0937 Amperes for the whole UNO R4 Wifi. I had to cut a USB extension cable:
to insert a high quality meter, because meters like this
are not precise enough. This is Blink.ino for the matrix:
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;
void setup() {
Serial.begin(115200);
matrix.begin();
}
const uint32_t off[] = { 0, 0, 0};
const uint32_t on[] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
// alle 96 LEDs an
void loop() {
matrix.loadFrame(on);
delay(5000);
matrix.loadFrame(off);
delay(5000);
}
When all LEDs are switch on, the amp Meter showed 0.0972 Amperes. If you divide the difference by 96 you get the average current for one LED: 0.036 milli Amperes. I was looking for a command like setBrightness or increaseBrightness - no luck. In bright daylight it is really hard to read the display.
Comments
Please log in or sign up to comment.