Zina’s Status Report for 3/23/24
This was a productive week for me, as I was able to catch up on the things that I was a bit behind on. The biggest accomplishment of the week was completing the PCB layout. There are a couple of silkscreen labels that I want to make minor adjustments to, but the actual placement of the components, pads, tracks, and edges should not need to change. Here is the schematic view of the layout:
And here are a few angles of the 3D render produced by KiCad:
In the above screenshots, the pink side is the front of the PCB and the green side is the back. Also, there are only 4 LEDs rendered instead of all 12 because I had used the footprint and corresponding 3D model of a single LED to create a custom footprint that encompassed all 3 LEDs for each side of the intersection. I do not know how to change the 3D model to reflect the fact that my custom footprint actually has 3 LEDs, and I didn’t think it was worth spending time on figuring that out since it doesn’t affect the actual PCB at all. Anyways, I will make the aforementioned silkscreen layer changes on Monday and get the PCB ordered by the end of class.
There were a couple other miscellaneous tasks I accomplished this week. I ordered the LED drivers and Arduino stacking headers necessary to complete our PCB. These parts should arrive within the next few days. I also finally got around to taking videos at Fifth and Craig that Ankita can use to train the object detection model. I will be helping her to isolate screenshots from the footage and run code that adds a bounding box for the desired objects (cars, buses, trucks, etc.). I also began writing some parts of the Arduino code to drive the LED intersection. Most of what I have right now is focused on translating the data that will come in from the RPi into information that is usable by the Arduino. The next big step is to write the function that parses this input and generates the proper output to the LED driver so that the proper LEDs turn on for the specified amount of time.