This shows you the differences between two versions of the page.
iothings:proiecte:2021:automaticpetfeeder [2022/01/22 19:07] teodor.calinovschi |
iothings:proiecte:2021:automaticpetfeeder [2022/01/28 17:18] (current) teodor.calinovschi |
||
---|---|---|---|
Line 2: | Line 2: | ||
<sub>Author: Calinovschi Teodor</sub> | <sub>Author: Calinovschi Teodor</sub> | ||
+ | \\ | ||
<sub>ACES 2022</sub> | <sub>ACES 2022</sub> | ||
- | <sub>Project repository: [[https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf|ESP32 WROOM datasheet]] </sub> | + | \\ |
+ | <sub>[[https://github.com/Caliamster/automatic_pet_feeder|Project repository]]</sub> | ||
+ | \\ | ||
+ | <sub>[[https://www.youtube.com/watch?v=Cofqujv9y-g&ab_channel=Matcha|Demo video]]</sub> | ||
=== I. Short Description === | === I. Short Description === | ||
Line 23: | Line 27: | ||
\\ | \\ | ||
\\ | \\ | ||
- | === III. Hardware components and schematic === | + | === III. Hardware implementation === |
The main components (besides wiring) used in this project are as follows: | The main components (besides wiring) used in this project are as follows: | ||
* 1 x **ESP32-WROOM-32D Espressif development board** - It uses an ESP32 microcontroller which is very cost effective while delivering many features for IoT applications. This project uses it to communicate with the app via Wi-Fi and directly with the actuators and sensors (via 14 digital pins). | * 1 x **ESP32-WROOM-32D Espressif development board** - It uses an ESP32 microcontroller which is very cost effective while delivering many features for IoT applications. This project uses it to communicate with the app via Wi-Fi and directly with the actuators and sensors (via 14 digital pins). | ||
Line 38: | Line 42: | ||
\\ | \\ | ||
\\ | \\ | ||
- | === IV. Software === | + | === IV. Software implementation === |
- | I used Arduino IDE, as Espressif ESP32-WROOM-32D board is compatible with it. The programming language is C/C++. Being an IoT project, it requires some overt the internet communication. That being said, I used the Arduino Cloud IoT platform from where I can control and monitor the feeder. | + | I used Arduino IDE, as Espressif ESP32-WROOM-32D board is compatible with it. The programming language is C/C++. Being an IoT project, it requires some over the internet communication. That being said, I used the Arduino Cloud IoT platform from where I can control and monitor the feeder. |
Any Arduino compatible code consists of **2** main **void functions**: | Any Arduino compatible code consists of **2** main **void functions**: | ||
Line 70: | Line 74: | ||
Then, I 3D printed the parts and assembled them, the final product looking like in the image below. | Then, I 3D printed the parts and assembled them, the final product looking like in the image below. | ||
+ | |||
+ | {{:iothings:proiecte:2021:apf_real_life.jpeg?600 | Real life}} | ||
\\ | \\ | ||
\\ | \\ | ||
Line 77: | Line 83: | ||
All in all, the project turned out well, it is user friendly, robust and you cannot let your pet starving, at least without knowing. | All in all, the project turned out well, it is user friendly, robust and you cannot let your pet starving, at least without knowing. | ||
- | Future improvements may be: | + | Future improvements may include: |
* Adding more LEDs for knowing when the device is on (without looking in the app) and when the RFID tag limit is reached. | * Adding more LEDs for knowing when the device is on (without looking in the app) and when the RFID tag limit is reached. | ||
* Improve design for covering circuitry. | * Improve design for covering circuitry. | ||
* Get a better RFID reader with greater range. | * Get a better RFID reader with greater range. | ||
* Offer a way to configure Wi-Fi and email address without reuploading the code. | * Offer a way to configure Wi-Fi and email address without reuploading the code. | ||
+ | * Find another method for measuring how much food drops. | ||
=== VII. References === | === VII. References === | ||
- | - [[https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf|ESP32 WROOM datasheet]] | + | - [[https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf|ESP32-WROOM-32D datasheet]] |
+ | - [[https://docs.arduino.cc/cloud/iot-cloud|Arduino IoT Cloud]] | ||
+ | - [[https://lastminuteengineers.com/28byj48-stepper-motor-arduino-tutorial/|Stepper motor tutorial]] | ||
+ | - [[https://www.aranacorp.com/en/using-an-rfid-module-with-an-esp32/|RFID module tutorial]] | ||
+ | - [[https://randomnerdtutorials.com/esp32-send-email-smtp-server-arduino-ide/|Email smtp tutorial]] |