amc:ss2024:irrigantion_cart_nozzle:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
amc:ss2024:irrigantion_cart_nozzle:start [2024/07/31 01:35] – [VI. Conclusion] amr.abdelkhalek | amc:ss2024:irrigantion_cart_nozzle:start [2024/10/20 23:40] (current) – [Enhancing the If-Condition for Better Plant Recognition] amr.abdelkhalek | ||
---|---|---|---|
Line 36: | Line 36: | ||
The following diagram Figure 1 shows the overall layout of our project: | The following diagram Figure 1 shows the overall layout of our project: | ||
+ | the system uses LIDAR sensors for distance measurements, | ||
+ | * **VLX53L0X (LIDAR Sensors):** | ||
+ | Horizontal Distance Input: One VLX53L0X sensor measures horizontal distance. | ||
+ | Vertical Distance Input: Another VLX53L0X sensor measures vertical distance. | ||
+ | * **ESP32-S3-WROOM-1 (Arduino): | ||
+ | Receives distance readings from both VLX53L0X sensors (horizontal and vertical distance). | ||
+ | Processes these readings and performs various tasks based on the data. | ||
+ | * **LED Light/ | ||
+ | Connected to the Arduino. | ||
+ | Can be turned on or off based on commands from the Arduino. | ||
+ | * **Battery/ | ||
+ | Powers the ESP32-S3-WROOM-1. | ||
+ | * **MQTT Server:** | ||
+ | Receives processed readings (distance data and actuator state) from the Arduino. | ||
+ | Sends actuator control commands (like " | ||
+ | * **Personal Computer with Jupyter Notebooks: | ||
+ | Communicates with the MQTT server to receive the distance readings and actuator state. | ||
+ | control commands to the MQTT server, which then relays them to the Arduino. | ||
- | {{amc: | + | < |
- | **Figure 1: Project Layout** | + | |
The following Figure 2 is the implementation of the previous layout in real-life application: | The following Figure 2 is the implementation of the previous layout in real-life application: | ||
+ | < | ||
- | |||
- | {{amc: | ||
- | **Figure 2: Real-life Implementation** | ||
- **Vertical VL53L0X Sensor** | - **Vertical VL53L0X Sensor** | ||
Line 283: | Line 298: | ||
</ | </ | ||
===== Python Code ===== | ===== Python Code ===== | ||
+ | |||
+ | ==== Required Libraries ==== | ||
+ | |||
+ | To install the required libraries for the project, open and download the following text file " | ||
+ | |||
+ | <file txt requirements.txt> | ||
+ | bqplot | ||
+ | traits | ||
+ | numpy | ||
+ | paho-mqtt | ||
+ | ipywidgets | ||
+ | pandas | ||
+ | </ | ||
+ | |||
+ | Then run the following terminal command in the environment where you will run the project: | ||
+ | |||
+ | <code python> | ||
+ | pip install -r requirements.txt | ||
+ | </ | ||
Line 508: | Line 542: | ||
==== Defining and Initializing System States with Enum ==== | ==== Defining and Initializing System States with Enum ==== | ||
- | <code python> | + | |
class State(Enum): | class State(Enum): | ||
IDLE = 1 # State when the system is idle | IDLE = 1 # State when the system is idle | ||
Line 1083: | Line 1117: | ||
10001.0 | 10001.0 | ||
10002.0 | 10002.0 | ||
- | ==== Enhancing the If-Condition for Better Plant Recognition ==== | ||
- | To enhance the condition for recognizing plants more accurately, we need to implement peak detection logic and replace the older one; to ensure only true plants are detected. This approach reduces the likelihood of false positives caused by objects with heights above 120 mm even as mentioned earlier and help creating an automated system that keeps track of the plants. | ||
- | |||
==== Enhancing the If-Condition for Better Plant Recognition ==== | ==== Enhancing the If-Condition for Better Plant Recognition ==== | ||
Line 1343: | Line 1374: | ||
====== VII. References ====== | ====== VII. References ====== | ||
+ | * Pololu, “VL53L0X-arduino/ | ||
+ | * “Find_peaks#, | ||
amc/ss2024/irrigantion_cart_nozzle/start.1722382556.txt.gz · Last modified: 2024/07/31 01:35 by amr.abdelkhalek