0x2A (which is the stress gauge board) and 0x70 which is the default for one of the 7-segment displays but did not see 0x71 which would be the address of the other 7-segment display.
using two displays together
display = Seg14x4(i2c, address=(0x70, 0x71))
start-up text
display.print("HELLO ")
If I go to line 14 and remove the reference to the address 0x71, the code runs and the LCDs show gibberish.
Do I solder a pin on the second board to a pin on the first? How do I set set the address to 0x71. The project guide has this configuration for the displays but I am not sure closed means.
Alphanumeric Display I2C Jumpers
Alphanumeric display 1 (on the left): A0, A1 and A2 open (0x70)
Alphanumeric display 2 (on the right): A0 closed, A1 and A2 open (0x71)
I soldered the A0 Closed. I am now getting all the correct i2c addresses… The Displays still are not displaying the expected output. Do I need to install other packages? This is the guide I am going off.
Yes, I now have all three address afte soldering the A0. My issue now is that the displays output is gibberish. I think I might need to install software packages for these sparkfun displays. I am using circup to install packages. I found this on github but I am not sure if this is what I need.
I tried to install sparkfun-qwiic-oled-display but it was not found.
Here are the imports I currently have. I think that since the display boards are not the exact same as the ones used in the guide that I might be missing drivers.
mport time
import board
from digitalio import DigitalInOut, Direction, Pull
You don’t have an OLED so the OLED libraries won’t do any good.
I suspect the adafruit displays your code is written for are wired differently than the sparkfun displays you’re actually using and that causes the wrong segments to illuminate for a given digit/letter.
Looking at both files, you can see how the different libraries print the number “0” on the display
Adafruit: 0b00001100, 0b00111111, # 0
SparkFun: 0b00000000111111, // ‘0’
The 1’s and 0’s tell the display backpack which segments to light up to form the number or letter you’re trying to display. Unfortunately adafruit and sparkfun use different methods to accomplish the same task.
Sparkfun at least gives you a clue in the code that shows which bit in the 14 bit pertains to which segment on the actual display. If you analyze the code you should be able to figure out how adafruit is doing the same thing.
Just noticed the two different displays use different controllers as well. It might be easier for you to use the adafruit displays rather than adapting the code to work with sparkfun displays.
The sparkfun ones are very close and with some code tweaks should work but the code “as is” only works with the adafruit display.
Technically the sparkfun displays are working, the problem is the wrong segments light up because the code assumes you’re using the adafruit displays and the library for the display uses a different setup.