Portfolio for our widget sorter project
This widget sorter was designed, built, and tested by Noah Grimes, Yarema Mushkevych, and Markus Walker, with help from Keegan Smit, Nolan Thurman, and Claude Sonnet 4.5. Equipment was provided by Mr. Small and Mr. Cronk.
Machining was done using equipment in the Southridge High School Engineering Lab, including
- A Carvera CNC
- A Prusa Mk3 3D-Printer
- A Laser Cutter
All CAD was done in OnShape
All Arduino and C++ code was done in the latest version of both the Windows edition of the desktop IDE and the Linux edition of the desktop IDE. The Python code was done in Thonny on a Raspberry Pi 3B+, which was "acquired" from Mr. Cronk.
The Linear Actuator and Loctite used in this project were acquired through out-of-pocket funds.
(how to get this to work, hopefully)
Ensure that all LEDs on the Arduino are connected properly. This can be tested by uploading the code to the Arduino; if the wiring is successful, the LEDs should all light up.
A standard microUSB should be connected from the Pi at port USB0 into the Arduino. From the power strip, a 12v power supply should be connected.
The Pi should be connected to a keyboard and monitor. We recommend using KDE Connect so that coding can be done from another device and copy-pasted into the Pi, as the Pi 3B+ is a bit slow for using an IDE, even one as simple as Thonny.
Start by turning on the Arduino and ensuring that it is fully active. Let the Arduino dispense one widget into the capture zone, and then take it out. Run the Python command to execute the widget sorting program. If the camera fails to connect, rerun the program. Once the Arduino is on, there is no need to restart it or turn it off. It is recommended to shine a light on the backside of the capture zone to minimize sorting errors.
The vast majority of the Python code for this project was done by Claude Sonnet 4.5, with edits made by Noah Grimes and Keegan Smit.
