Closed MoJeeza closed 3 months ago
Will take a look
What happens if you use display = HT16K33Segment14(i2c, is_ht16k33=False)
instead?
Also, can you tell which specific display you are using?
Pics of the 4x14 segment display
I just noticed: For the digit zero (0) the diagonal segments are not showing correctly (see the second picture below) Pictures with =True First file is ABCD Second file is: 0123
=False First file is ABCD Second file is: 0123
OK, so it's definitely a Holtek chip on there. Looks like it might be an issue with how the LEDs are connected to the HT16K33 on the board, as I didn't see this with me test boards (the two referenced in the Read Me). But let me double-check the code.
OK, I've re-run the examples/micropython/test_segment14_ht16k33.py
code and I cannot reproduce this issue. I also tried your code, and that worked as expected too.
As I say, I wonder if there's an issue with the circuit layout on the display board. I tried to look it up on Elecfreaks, but I could not track it down. Maybe this issue is why it's no longer for sale?
Thank you Tony. Greatly appreciate you following up.
At least it's a clearly defined effect, so you can code around it if you want to.
Hello Tony,
First let me thank you for sharing the drivers of HT16K33 display for use with MicroPython. So here is my issue.
I am using the 4 character, 14Segment display (with a decimal point) from a RPi-Pico-W connected to Rpi5 using Thonny. I am also using the same display with MicroBit V1 connected to a Windows Laptop using Make Code App. It is an I2C display.
Using the Block Based code from MakeCode (or JavaScript) . To use the display, I have to load an extension in MakeCode (akin to loading the drivers for HT16K33 in microPython) by TinkerCademy (screen shot attached)
The block code is:
The resulting JS code is:
So the display shows "1234" and "ABCD" as expected.
However, when I use the same display on Pico-W using your driver, the display shows "CDAB" or "3412" but the print_chars() function shows "ABCD" on the REPL output.
Here your example code modified to show this issue:
`# IMPORTS import utime as time from machine import I2C, Pin, RTC from ht16k33 import HT16K33Segment14
CONSTANTS
DELAY = 0.01 PAUSE = 3
def print_chars(): global a print (chr(a), chr(a+1), chr(a+2), chr(a+3))
START
if name == 'main':
Configured for the Raspberry Pi Pico -- update for your own setup
`
I have no idea what's causing this and why. The MakeCode drivers/extension is not from the Manufacturer of the display. So, it is kind of a third party driver.
Thanks and kind regards,