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 24: | 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 39: | 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 71: | 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 78: | 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]] | ||