Inspiration

Every year roughly 25% of recyclable material is not able to be recycled due to contamination. We set out to reduce the amount of things that are needlessly sent to the landfill by reducing how much people put the wrong things into recycling bins (i.e. no coffee cups).

What it does

This project is a lid for a recycling bin that uses sensors, microcontrollers, servos, and ML/AI to determine if something should be recycled or not and physically does it.

To do this it follows the following process:

  1. Waits for object to be placed on lid
  2. Take picture of object using webcam
  3. Does image processing to normalize image
  4. Sends image to Tensorflow model
  5. Model predicts material type and confidence ratings
  6. If material isn't recyclable, it sends a YEET signal and if it is it sends a drop signal to the Arduino
  7. Arduino performs the motion sent to it it (aka. slaps it Happy Gilmore style or drops it)
  8. System resets and waits to run again

How we built it

We used an Arduino Uno with an Ultrasonic sensor to detect the proximity of an object, and once it meets the threshold, the Arduino sends information to the pre-trained TensorFlow ML Model to detect whether the object is recyclable or not. Once the processing is complete, information is sent from the Python script to the Arduino to determine whether to yeet or drop the object in the recycling bin.

Challenges we ran into

A main challenge we ran into was integrating both the individual hardware and software components together, as it was difficult to send information from the Arduino to the Python scripts we wanted to run. Additionally, we debugged a lot in terms of the servo not working and many issues when working with the ML model.

Accomplishments that we're proud of

We are proud of successfully integrating both software and hardware components together to create a whole project. Additionally, it was all of our first times experimenting with new technology such as TensorFlow/Machine Learning, and working with an Arduino.

What we learned

  • TensorFlow
  • Arduino Development
  • Jupyter
  • Debugging

What's next for Happy RecycleMore

Currently the model tries to predict everything in the picture which leads to inaccuracies since it detects things in the backgrounds like people's clothes which aren't recyclable causing it to yeet the object when it should drop it. To fix this we'd like to only use the object in the centre of the image in the prediction model or reorient the camera to not be able to see anything else.

Built With

Share this project:

Updates