Go Down

Topic: Control three digit 7 segment displays from Pro Mini (Read 559 times) previous topic - next topic

adwsystems

I'm looking at a very small project. Sensor, Arduino Pro Mini, and 3 digit 7 segment LED. All to run on 3.3V from battery power. Problem is I'm a few pins short. 1x sensor plus 3x7 for the display is 22 pins. The pro mini only has 20. Size matters, the smaller the better. What cheap small options do you know of to jump this hurdle?

P.S. Changing the display is not an option. The digits are 1.2" tall and must be able to be read from 20 meters away. In testing, the numbers were just right.

groundFungus

If you multiplex the LEDs you could go with 11 pins for the 3 digits (8 for segments [7 seg, 1 dp] and 3 for digit select)  or use 3 595 shift registers (one for each digit) would use 3 pins (clk, data out, latch).

wolframore

#2
Apr 18, 2019, 05:39 pm Last Edit: Apr 18, 2019, 05:39 pm by wolframore
Or a driver such as this...

MAX6958/MAX6959
Bad Boys Rate Our Young Girls But Violet Goes willingly - Get Some Now :) - ELI the ICE man

adwsystems

No decimal point required. Hmmm. 595's so 4 pins total. Is there a smaller Arduino than the pro-mini with at least 1 analog in and 3 digital out and run on 3.3V?

wolframore

Bad Boys Rate Our Young Girls But Violet Goes willingly - Get Some Now :) - ELI the ICE man

adwsystems

look into Attiny45 or 85
Can that be programmed from the Arduino IDE? I don't see the option.

groundFungus

#6
Apr 18, 2019, 05:51 pm Last Edit: Apr 18, 2019, 05:52 pm by groundFungus
Tinyy85 has 5 pins available after Vcc, gnd and reset.   So that meets the 1 analog in an 3 digital out requirement.   They can run on 3.3V and the 8 MHz internal oscillator.  To program them you need to install a "core".  I use the ATTinyCore for my tiny 85 projects.  They are easy to bootload (to set fuses) and program using the Arduino as ISP sketch and an Uno (or other Arduino board) as a programmer.

adwsystems

#7
Apr 18, 2019, 05:54 pm Last Edit: Apr 18, 2019, 05:57 pm by adwsystems
Tinyy85 has 5 pins available after Vcc, gnd and reset.   So that meets the 1 analog in an 3 digital out requirement.   They can run on 3.3V and the 8 MHz internal oscillator.  To program them you need to install a "core".  I use the ATTinyCore for my tiny 85 projects.  They are easy to bootload (to set fuses) and program using the Arduino as ISP sketch and an Uno (or other Arduino board) as a programmer.
I see there used to be an Arduino Gemma based on the ATTiny85.

This is starting to sound like a lot of extra work. But I'm curious and knowledge is power. Where can I find more detailed information on this?


groundFungus

Here is a better link to The ATTiny core documentation.    This page describes the wiring for ISP programming a tiny85 with an Uno.  Just use  the ATTinyCore instead of the attiny by Davis A. Mellis core.

ReverseEMF

#9
Apr 18, 2019, 06:58 pm Last Edit: Apr 18, 2019, 07:20 pm by ReverseEMF
I see there used to be an Arduino Gemma based on the ATTiny85.


I can vouch for the Gemma, the Trinket and the Tiny AVR Programmer, but I haven't played with the DigiSpark, and judging by the comments on the kickstarter page, getting the real thing might be a test of patience.  But, there are clones on Amazon, and the above link is one with a positive comment.  I only included the DigiSpark 'cuz it kept appearing in my searches, and it looked interesting -- good luck ;)

BTW: SparkFun and Adafruit both do a good job of supporting their products, so check out the websites:


"It's a big galaxy, Mr. Scott"

Please DON'T Private Message to me, what should be part of the Public Conversation -- especially if it's to correct a mistake, or contradict a statement!  Let it ALL hang out!!

adwsystems

#10
Apr 18, 2019, 07:07 pm Last Edit: Apr 19, 2019, 08:34 pm by adwsystems
If you multiplex the LEDs you could go with 11 pins for the 3 digits (8 for segments [7 seg, 1 dp] and 3 for digit select)  or use 3 595 shift registers (one for each digit) would use 3 pins (clk, data out, latch).
Not sure the 595s would work. They test only up to 8mA and a total continuous current of 35 mA. I expect to be targeting 10-20mA per segment. The CD4511 seems promising since my displays are common cathode.

ShermanP

#11
Apr 19, 2019, 12:25 am Last Edit: Apr 19, 2019, 12:26 am by ShermanP
Not sure the 595s would work. They test only up to 8mA and a total continuous current of 35 mA. I expect to be targeting 10-20mA per segment. The CD4511 seems promising, if my displays are common cathode (I hope they are :) )
Not sure where you are getting the 8ma number.  A 74HC595 should be able to do your 35 ma.

If your displays are actually common cathode, then multiplexing by segment would be another option, using a single 74HC4017 as the segment driver if you're closer to the 10ma per segment than 20ma.  That would be a 4-pin setup.

https://github.com/gbhug5a/7-Segment-Displays-Multiplex-by-Segment

There's a video referenced in the README.

groundFungus


CrossRoads

TPIC6B595 needs Vcc of 4.5V tho. Might have to use some CMOS parts driving transistors.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

CrossRoads

#14
Apr 19, 2019, 01:40 am Last Edit: Apr 19, 2019, 01:42 am by CrossRoads
74HC595 would work, but total current thru the IO pins needs to be limited to  <= 70mA Absolute Max to avoid blowing the VCC or Gnd pins.
So roughly 8mA per IO pin as mentioned above.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up