Introduction: M&M Color Sorter

At the start of this project we set out to automatically sort different colored candies into separate bowls at an efficient rate. We were first inspired by this idea when we saw a post on the site and we were excited to try out the project. However, as time went on we began to realize that the project was not going according to plan, and that the code provided from the website did not work with the RedBoard we were using. After adjusting the code multiple times, with very minimal success, we realized that the color sensor was also not calibrated to the correct RGB values. Calibrating the color sensor was its own challenge as it frequently scanned a very wide range of RGB values, making it difficult to hone in on those that were actually important. In the end we got the color sensor to occasionally scan the correct values and the servos to sometimes move in the correct ways.

The link given above provides the needed schematics and code for the color sorting machine.

Step 1: Materials

We 3D printed the main frame of the color sorter

The materials that you need are

  • TCS230 TCS3200 Color Sensor
  • Arduino
  • Jump Wires
  • Two Servo Motors

You can get these materials from Amazon

Step 2: Circut

The schematic diagram shown above is the wiring we used to create the color sorter. In order to compensate for the splitting wires, we had to solder the wires together. We found this to be one of the easier parts of the project but had to replace the Arduino Nano with a RedBoard.

Step 3: Construction

In order to make this color sorter you will first need to build the housing for all of the electronics, you can find all of the dimensions by following the link at the top of the page. Luckily our school provides us with a 3-d printer that we used to quickly and efficiently build this housing. While the housing was being printed, we proceeded to solder the circuitry together. Once the housing was printed and the circuit complete we began uploading the code to the RedBoard. However, we soon realized that the code was not working properly for the RedBoard, nor were the RGB values used for the color sensor correct. After many weeks of tedious calibrating, the color sensor could now finally read some of the candies correctly. The only problem was that the color sensor often scanned the candies incorrectly despite the calibrating. This coupled with bottom servo not working made the overall project a partial failure.