/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT

LED ROULETTE (CONTINUED)




For Output week, I progressed the LED roulette board from Simulation week using a 7-Segment Display linked to the behavior of multiple LEDs. Here's reminder of the simulation:



WOKWI SIMULATION





STEP 1: PROTOTPE




I started by prototyping on a breadboard before running a mill job. Initially i was using the XIAO to limit the board size and optimize pin use. The Segment Display im using is a 5161AS Common Cathode system, meaning the pins share a common ground (LOW) connection while each segment pin is read HIGH at the GPIO. The Display calls for 20mA of current, and given the 3v3 voltage passing from the XIAO, i'm using a 100 ohm resistor to allow enough current flow to light on the segments equally.






I was able to get the LEDs to respond to the behavior in code (blink incrementally relatve to the number on the Segment) but noticed the segments were only being powered partially. The pins should be receiving both power and data from the GPIO when set HIGH, but couldnt understand why only two were responding. I spoke to a classmate, Zihao, and he recommended i try the Raspberry Pi since it has more pins and might be able to pass more digital signals, and since that was the microcontroller i used in the simulation, i went for it






The PiCo allowed me to trigger more segments on, although the wires on the breadboard were becoming a little touchy, and so although a segment might be powered, it wasnt receiving digital instruction. I thought this could be resolved by moving to a milled board with clear traces, so i just jumped into fabrication since i had seen the "0" i wanted.



STEP 2: FABRICATE and TEST




I routed the board using WebMill and it came out well in one pass. The board has the display and the LEDs to the left of the microcontroller, and a single button to the right for interface simplicity. I thought soldering went smooth and was very meditative, but all that matters is that this thing works. When i hooked it up to my computer and passed the code, one LED came on and only 3 segments were responding:






I realized it was a code issue on how i was assigning th GPIO pins to the components (read the datasheets clearly!) and after reassigning, i got all LEDs to work properly and an additional segment as well. Still not sure why the other three segments aren't turning on but i'll figure that out in another life. This is curtain call for this little gadget.



/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT/OUTPUT