I am looking to add in a seven segment display to my robot in order to show at a glance the number of parts run. I have all of the internal logic to have a variable track the number of cycles the robot has gone through, but the way the pendant shows variables is lacking in my opinion. Id love to have a seven segement in the work area that shows the progress. What is the best way to communicate with it? I’d love to use I2C to communicate with it but as far as I can tell, I cannot use that to communicate. Is my only route here using modbus to talk with it? Any help would be appreciated. Thank you in advance!
In an ideal world this would be the disaplay I use, a 4 digit 7 segment with an I2C backpack to keep down the number of outputs I need to tie up with it. Adafruit 0.56 4-Digit 7-Segment Display w/I2C Backpack - Yellow : ID 879 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits
You can use discrete outputs from the robot to drive the display, assuming it’s got a decoder for BCD. There’s a function in URScript to convert an int to binary, so your function would just run your part counter through this command and pipe the resulting bit array across 4 outputs. You’d just have to make sure the display was rated for 24v, otherwise you need to step down the voltage to 5v or whatever your board uses.
Thank you Eric for the quick reply. My issue with this method is my understanding is I would essentially need 4 outputs per digit on the seven segment if I was controlling each individually for a total of 16 outputs. If I controlled them as a group I could get away with 12 outputs. Unfortunately for my application I can’t spare that many. Ultimately for my application this is a nice to have not a need to have, but if anyone knows of a workaround that isn’t modbus or uses this many pins then I am all ears. Seriously though, thank you for answering.
I’ve used these chips back in my college days. Its been a while, but if I’m remembering correctly, you just needed 7 outputs into the segments, and then one output per digit you wanted to control. Don’t quote me on that, but there may be other drivers that can help lower the amount of physical IO you’d need. So depending on other chips/programming, you could maybe tie in a 3 to 8 decoder into the segment inputs to further reduce the necessary outputs.
Thank you Eric! I think that may be the solution that I needed. Especially because with this solution the cost of adding another 4 digit seven segment alongside the first should be minimal. I appreciate your patience with me!