In this project my partner and I worked very diligently to complete it. Before we started, we had to learn about how to use python code, and we also had to do research on other skittle sorters. Based on our research, we created sketches for what our sorter should look like. After that we began figuring out the electronic components such as the servo singularizer and the rgb color sensor. Then we started prototyping and trying to optimize our design. We bult our model out of cardboard and used a 3D printer to print out our funnel using Onshape. It had many flaws at first and we ironed out the wrinkles through more prototyping. Lastly was the final product and testing phase, which went very well. I am very proud of how our sorter works and I think our hard work was well spent.
The goal of the singularizer is to allow one skittle at a time to pass through and be recognized by the color sensor. To make the singularizer I first cut out a cylinder and laser cut two circles (one with a hole on the edge and another with a hole on the edge and a hole on the middle). I put the two circles inside the cylinder and lined the outer holes up. Then I connected my servo motor to the circle with the hole in the middle. Besides sometimes getting stuck, the Skittles can pass through one by one. I can fix this by creating a more functional funnel and adding another circle inside the cylinder.Â
The goal of our Machine Learning Model was to correctly identify faces using images that we took over the semester. These same images were used to train the model and each image was connected to a specific name. The model identifies the predicted name, the probability that the prediction was correct, and the actual name that corresponds with the image. The model that I created accurately predicts the correct image 90% of the time and I was able to do this by increasing the number of times the model was trained. Here is the link to my model.
I was able to get two servos working at the same time with my partner. When wiring my servos, we had three wires for each servo: one red wire for the power (VB/VSYS), one black wire for ground (GND), and one colored wire connected to GP0 and GP1. Here is the link to my GitHub Code. Below is the wiring table, labeled wires, and circuit wiring diagram. In the circuit wiring diagram, everything is the same except my wires are connected to GP0 and GP1. Also, my second servo is connected to VSYS instead of VB. To the left is a video of our working servos.
Sort Skittles while working with your peers to build a robot. Learn about yourself through mistakes and discoveries you may make.
Shown above are the steps your must take to successfully build your robot. You must go through the design process, and you must learn how to code.
Below are the different parts of my box both by themselves, and assembled. To the right is my box after I printed it out using Glowforge and glued it together.
Bottom - I used the extrude tool to make my bottom from a sketch into an actual part.
Front/Back - I used the extrude tool to make the front/back into an actual part.
Sides - I used the extrude tool to make the sides into an actual part.
Here is my box assembled in OnShape. I used the planar mate tool to connect the parts.
I was able to code my robot to connect to my phone! I can now control it by using an app called Dabble. Here is my code: Github. My code uses functions to control what direction the remote controller tells it to go. It uses "if, then statements" to help it move. To the left is a video.
I coded my robot to traverse the path that you can see in the video. The robot didn't move perfectly because it was still drifting a little but it still traversed the path. Here is my code in Github. I created the code in Mu Editor. I used commands to tell each motor when to turn, what direction to turn in, and how long to turn.
I was able to figure out how to make my robot move in 4 different directions, after troubleshooting with my robot and my code. My robot doesn't go perfectly straight because it is still slipping, but here is my code on Github.
I was able to get my second code working without any help. This means that both of my motors are working, and my robot can move on its own. To the left is the video of my robot working. My robot holds two motors, two battery packs, my pico, and my motor controller. Here is my GitHub. My code moves the robot forward and backward, but I need to improve the friction of my robot because the wheels are slipping.
Here is my wiring table. I had to label each wire so I would know what goes where. This is used just in case any of my wires break or get pulled out of their place.
Below is a close-up image of my Pico. As you can see, I have no naked wires and all of my wires are secure in their places. My code is working because the correct lights are lighting up which is an indicator for my code. You can also see that I have labels indicating where each wire is connecting.
To the left is a picture of my code. Within the code, I show my understanding of variables. For example: the function of the variable "Import time" is to import the time library that is needed to run my code.