Hello! We are a team of three students developing a smart trash bin for the Digilent Design contest and in this Instructable we would like to offer detailed insights from our project. The project is currently under development, so expect regular updates from us.
The idea came from remarking that there is no actual straightforward method to distinguish between different types of objects. So, with this in mind we started to build a small "smart" trash bin, able to differentiate between metal, glass, plastic and organic waste.
The brain of our project is a Zybo board, which integrates a dual-core ARM Cortex-A9 processor with the FPGA logic. It is a powerful board and which we intend to use to it's maximum capacity. A short description about the board can be found here.
The following demo concentrates on how to build the physical model and how to implement some features of the trash. The only remaining part is the processing room, where we distinguish between different materials.
Step 1: Materials
- Zybo board
- Vivado installed on your laptop
- 4 Servo motors
- 4 Ultrasonic sensors
- 2 level-shifter
- ADC converters
- Lots of wires
- Metal bars
- Hard wires, screws, wielding machine
Step 2: Building the Physical Model
After many hours of debating about how to model the trash bin, we finally arrived to a not so common structure, but the interesting fact about our project is the modularity. For example, if you find out a better structure for the trash bin, you can easily integrate with the other components. So feel free to innovate and add new features.
The shape of the trash bin resembles a normal, rectangular trash, seen from outside. We just welded some metal bars and formed a rectangular shape, covering the faces with cardboard. But, the interesting part lies in the inside of the trash, where you can see a reversed pyramid.
Well, you will shortly understand why this architecture. Every face of the pyramid is connected to one of the Servo motor. Make sure to design a system that allows you to make small modifications and adjustments. For example, you can see in the picture that you can adjust the length of the wire by rotating it.
When an object will fall, depending in which compartment it should fall, the corresponding face of the pyramid will open, and directed by the others, the object will fall in the right place. This is very convenient, but also brings some trouble with the synchronization of the faces.
Step 3: Detection of Full Compartments
In order to be able to detect when a compartment is full, we used an Ultrasonic sensor (HC-SR 05) and two LEDs to signal when the limit has been reached. In the picture you can see a rudimentary design, but this will be changed in the final design.
Step 4: Connecting the Sensor and Motors to the Board
In order to be able to effectively communicate with the motors and the sensor, you cannot simply connect the board to them. The reason is that the Zybo board is working with signal having 3.3V, but the sensor and motors use 5V signals. For this, you can use 2 level-shifter in order to convert the 3.3V signal to 5V and vice versa. Otherwise, the communication is very ineffective and calibration is impossible. The motors open a face of the pyramid when the corresponding button on the board is pressed. In the final system, this process will be automatized by the output of the processing room.
Step 5: Further Development
In the following days we intend to design the processing room and to make sensors work together so we can classify the objects. After that, we will also share our source code (in the current stage it would make no sense, since we need to integrate it in the big system and also to make some fine adjustments). We strongly encourage anyone to use it and make it better, since this is the purpose of our project, to make recycling easier and more efficient for everyone.