I have purchased a 1.2" 7 Segment Digital Display with back pack
The sales page says there is a detailed tutorial on how to assemble the display to the backpack but I can’t find it.
Here is the link on the above page Overview | Adafruit LED Backpacks | Adafruit Learning System that is supposed to point to the tutorial.
The only logical way I can see to install this is with the display on top of the back pack with the numbers drawn on the board the same way around but I don’t want to guess. There are 4 possible orientations to assemble this.
Does someone know where this “only take five minutes” guide can be found?
Perhaps I’m just missing something
I can see that there is a bit of a dive to get to the assembly part of the guide, I’ve updated the link on the Core product page for future Makers, here’s a link to the assembly guide: Assembly | Adafruit LED Backpacks | Adafruit Learning System
I can confirm that the screen should be soldered on the silkscreen side with the dots matching as you have them laid out.
(Here’s a photo from Adafruits guide as well)
Let us know how you go with your project!
Thanks for the info.
That makes complete sense now.
Glad you fixed the link as well.
As far as my understanding is concerned, you need a tutorial on how to connect the seven segment diplay. I have been doing several such projects and posted in various sites. The seven segment displaye for a single digit display connection is shown Addressable 7-Segment Display - Share Project - PCBWay and it is a perfect step by step tutorial that could help you solve this issue with ease.
I have hooked up the display as described in the Adafruit article.
It works but the numbers are a bit faint when viewed in daylight.
The article describes hooking the power wire up to 5v instead of 3.3v.
The article refers to the smaller displays and I have the larger 1.2”
It also refers to different brightness results for different colour LED’s
Mine are red which should be fine on 3.3v. Perhaps it the larger display causing the problem. I will try 5v once I have done a bit more research and I’m confident it won’t break anything.
Thanks for your interest.
Which dev board were you using?
As long as the Max voltage logic level matches your IO voltage you’ll be fine powering it from 5.
I haven’t dug deep into the data sheet but it sounds like there is some onboard logic level shifting.
I’m not sure what you mean by dev board but this is the display and back pack controller I purchased.
Ah if you are asking about the Pi it’s an old one with 26 pins and I’m running an updated version of the Buster OS. I think it’s a ModelB Rev2 with 256MB
ADA1270 (x1) - Adafruit 1.2 4-Digit 7-Segment Display w/I2C Backpack - Red
I’m a relative beginner at electronics but an old hand at programming.
I read back through the adafruit instructions again and found them to be quite piece meal with details all mixed together for different model pi’s and different model led displays. I discovered a line that reads something like “If your display has a pin marked IO then connect that to 3.3v as well”
Which I have done however the display is still quite faint.
For example at night I can read the display in the dark but not at all with the light on.
I’m not sure now how I should change my setup now as I don’t want to damage it or my pi.
I threw caution to the wind
I hooked the main power wire up to 5v and it looks great.
I wish I could turn on just one of the dots in the colon as this number represents 99.71 but when I look at the data sheet it seems those two dots are wired together. I’ll probably go with a low tech solution and put a piece of black tape over the top dot
I’ll make a nice bezel for the display and post a pic and a description of what this number represents and where I pull the information from.
Thanks to all who commented.
Just for completeness,
Here are some pics of the finished project.
The value on the display is the battery level as a percent, of an off grid solar power system. The power system itself uploads its data to the manufactures web server and this can be viewed in an app or on the web page directly. This is a little cumbersome to monitor and I was asked if it was possible to put this info on a wall display.
So with the requirements in the bag I dug our an old Raspberry Pi and set about creating a “screen scraper” that could programmaticly log into this web page navigate to the screen with the required data and extract it to a variable.
I covered up one of the dots in the central colon to make it look like a decimal point. (Low tech solution). The two dots on the left were used to indicate if the power level is increasing or decreasing. To do this I had to read and write the previous value to a file as each execution is independent. The script is scheduled to run as a cron job every 10 minutes during the day and once per hour during the night so as not to piss off the web page administrator.
The screen flashes for 30 seconds following an update and the program exits.
Once a single run is complete the program exits and the number remains on the display. The system then waits for the next cron job to execute.
I had quite a few debugging outputs going to the console so I just numbered them sequentially and if an error occurred I displayed an E001 etc on the display so if something goes wrong I’d at least have some feedback. The errors are also logged so I could tell when and how often they occur. The only errors I encountered after debugging were due to the web page timing out.
The screen scraper launches a headless copy of the Chrome browser and this is hell on the performance of the 10ish year old pi. It takes about 1.5 minutes to make each read but that is no problem.
The wood surround matches the decor of the house
I left the mounting options to the owner. The idea is the display goes on a convenient wall and the pi in its little case goes on the other side of the wall in a utility room.
Apart from the actual display this was made from stuff I had lying around.
Rather than post the exact code here of how this is done, I completed this project by breaking it down into finite problems. Then solved them one at a time using our mate Google. I still cut and past a lot of stuff from other examples but I had to use my own brain as well .
Great project! I love it when maker hardware can rise to the task of a product that doesn’t exist
How accessible is the data from the web dashboard? Is your scraper reading characters using OCR, or just HTML? Could you perhaps use
curl to download the page then have your script interrogate it?
You’ve already got a solution, so of course you could stop here, but I echo your complaints about performance, a chrome window is a hungry thing!
Thanks for the complement
It was a bit tricky to do the scrape. There are lots of tools that aid in extracting the details you want from standard HTML and they have been around for ages. But the page in question didn’t contain the actual data it contains a script that returns the data when the page is rendered in a browser. Hence the need to run a browser to execute the script. I could run chrome in headless mode as there is no actual user screen anywhere. Googling my requirements helped me find examples I could use as a starting point. The tricky part was picking out the things to identify the results as the value didn’t have an ID tag.
I posted to a forum and someone gave me the clue I needed. The key to getting good answers in a forum is to ask great questions with relevant details and perhaps demonstrate you have tried to solve the problem yourself. I’m sure that applies here as well.
If things change on the web page the process could easily break. It would be more robust if the item I wanted had an ID tag in the generated HTML but it didn’t which is what made it tricky to select.
The performance problem is because the Pi I used has been kicking around here for 10 years (V1 model b?) so it’s specs are small relative to today’s systems.
The day time schedule runs every 10 minutes and the screen updated 1.5 minutes later so who really cares.
I could have come up with a weird schedule just so the results came out at even times on the clock but that would have been overkill
Just a quick update in case anyone else tries to make something similar.
I updated the computer to a Raspberry Pi Zero W so it no longer needs a LAN cable which greatly increases its installation options.
I stuck the pi in a little case and attached it to the back of the display with double sided tape. I then included a web server on the pi and saved the latest value to the web server’s published folder in json format.
I then created an iPhone widget using a program named Scriptable.
This widget displays a postage stamp sized app that can read data from the json file and display the power level the time the data was last read and the time the app was last updated.
So I think I can call that project done