Most of the integration between the Hardware and Mechanical structure is in the Cover part. The Arduino board, Esp32 and the Voltage Regulators are fixed in the structure and wires from the Sort part go all the way up to connect in the right pins.
The ESP32 is the main resposible for integrating the Embedded System and the Backend System. It will connect to the Backend and send the image receiving a JSON response from it. With the response the ESP firmware will then parse it and send it to the Arduino through a UART connection between them, this way the messages that the Arduino receives from the ESP are always in a standart format.
This integration could already be seen in the Software Project, where the Web App receive, request and send data from and to the backend.
And this are the requests coming in the Backend
There are 2 Firmwares in the project, the ESP32 Firmware and the Arduino Firmware. As metioned before the ESP32 is mainly responsible for communicating with the backend and the Arduino is responsible for controlling the peripheral components.
To create the network, we annotated and augmented the original images in the dataset, resulting in images exemplified in the following image:
Example of images in the dataset
Not all classes datasets were created yet, so we used only two classes: plastic bottle and metal can. Each containing about 40 images. Which resulted in a model, trained in 10 epochs, with the following metrics:
Where the network with best accuracy was used. This model was then used in the Backend to test the integration, generating the following results: