Skittles Sorter: Technical Details

  1. An amazing video of our project (includes excellent music)

2. Schematic actionSkittles_Schematic

3.  How it all works

Hardware for the skittles sorter included two 180° servos, one 360° servo, a TCS34725 RGB sensor from Adafruit, an RGB LED, an Arduino Uno, and the Atmel A3BU board. The Arduino sent PWM signals to the two 180° servos, which corresponded to angle values between 0° and 180°. The continuous servo also received a PWM value but translated this value to a speed and direction.  The Arduino was incapable of supplying power all components, so the A3BU served as an additional power source.

The star of the show, the RGB sensor (TCS3472), utilized a photodiode array composed of red, green, blue filtered and clear photodiodes, an analog to digital (ADC) converter that converted the photodiode currents to 16 bit values.  The sensor communicated with the Arduino via I2C communication protocol. The Adafruit TCS3472 package also incorporated 3.3V regulator and an onboard LED used to illuminate the target (the skittle). The TCS3472 interfaced with the Arduino by connecting the I2C Clock on the sensor to the SCL (serial clock line) input on the Arduino and the I2C Data on the sensor to the SDA (serial data line) on the Arduino. Adafruit also provided a tutorial and sample code for using the TCS3472.

We planned on using an RGB LED as an indicator light.  We intended for the LED to change color based on the input received from the RGB sensor.  However, mid-project the LED broke and its replacement was not fully functional. Due to time constraints this issue was not investigated further.

The plan for the A3BU was to display a running tab of the number of skittles sorted on its LCD.  We intended to send a digital signal from the Arduino to the A3BU, use this signal to update a variable on the A3BU and display this value on the LCD.  Unfortunately, due to time constraints this sub-project was abandoned. Ultimately, the A3BU was used as an additional power source and to display a simple text phrase on an illuminated LCD.