User Tools

Site Tools


amc:ss2024:irrigantion_cart_nozzle:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
amc:ss2024:irrigantion_cart_nozzle:start [2024/07/31 01:28] – [VI. Conclusion] amr.abdelkhalekamc: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, processes the data with an ESP32-S3-WROOM-1 microcontroller, and communicates the results to a personal computer and other components. 
 +  * **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/Actuator:**
 +Connected to the Arduino.
 +Can be turned on or off based on commands from the Arduino.
 +  * **Battery/Charger:**
 +Powers the ESP32-S3-WROOM-1.
 +  * **MQTT Server:**
 +Receives processed readings (distance data and actuator state) from the Arduino.
 +Sends actuator control commands (like "On" or "Off") to the Arduino.
 +  * **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:ss2024:irrigantion_cart_nozzle:blank_diagram.png?1000|Figure 1: Project Layout}}\\ +<imgcaption image1| Project Layout>{{amc:ss2024:irrigantion_cart_nozzle:blank_diagram.png?1000|Figure 1: Project Layout}}</imgcaption>\\
-**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:
  
 +<imgcaption image2| Real-life Implementation>{{amc:ss2024:irrigantion_cart_nozzle:untitled.png?426.6x775.3|Figure 2: Real-life Implementation}}</imgcaption>\\
  
- 
-{{amc:ss2024:irrigantion_cart_nozzle:untitled.png?426.6x775.3|Figure 2: Real-life Implementation}}\\ 
-**Figure 2: Real-life Implementation** 
  
   - **Vertical VL53L0X Sensor**    - **Vertical VL53L0X Sensor** 
Line 283: Line 298:
 </file> </file>
 ===== Python Code =====  ===== Python Code ===== 
 +
 +==== Required Libraries ====
 +
 +To install the required libraries for the project, open and download the following text file "requirements.txt"
 +
 +<file txt requirements.txt>
 +bqplot
 +traits
 +numpy
 +paho-mqtt
 +ipywidgets
 +pandas
 +</file>
 +
 +Then run the following terminal command in the environment where you will run the project:
 +
 +<code python>
 +pip install -r requirements.txt
 +</code>
  
  
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   296.0              185.0     12427.5     10001.0   296.0              185.0     12427.5
     10002.0   253.0              200.0     7500.5     10002.0   253.0              200.0     7500.5
-==== 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 1231: Line 1262:
  
 <code python> <code python>
- peaks_total_xposition+peaks_total_xposition
 </code> </code>
  
Line 1337: Line 1368:
 Multiplexers most probably will be used for connecting with the multiple number of nozzles for our system e.g. irrigating 30 rows at the same time. Each of which will have at least a single sensor, and a water nozzle. 30 controlling MOSFETS hence may be connected to our microcontroller plus the 30 sensors.  Multiplexers most probably will be used for connecting with the multiple number of nozzles for our system e.g. irrigating 30 rows at the same time. Each of which will have at least a single sensor, and a water nozzle. 30 controlling MOSFETS hence may be connected to our microcontroller plus the 30 sensors. 
  
-Further studies are going to be done on the rush in current in case large nozzles will be used .. and 30 of those will mean multiple of that rush in current, in case a smooth start is needed to be done to ease that rush in current PWM may be required.+Further studies are going to be done on the rush in current in case large nozzles will be used .. and 30 of those will mean multiple of that rush in current. Additionallythis further research will be conducted on managing current surges when using large nozzles might introduce the possibility of implementing PWM to ensure a smooth startup to mitigate the current spikes.
  
 https://wiki.eolab.de/doku.php?id=eolab:projects:giesswagen:start https://wiki.eolab.de/doku.php?id=eolab:projects:giesswagen:start
Line 1343: Line 1374:
 ====== VII. References ====== ====== VII. References ======
  
 +  * Pololu, “VL53L0X-arduino/examples/single/single.ino at master · Pololu/VL53L0X-arduino,” GitHub, https://github.com/pololu/vl53l0x-arduino/blob/master/examples/Single/Single.ino (accessed Jun. 17, 2024). 
 +  *  “Find_peaks#,” find_peaks - SciPy v1.14.0 Manual, https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html#scipy.signal.find_peaks (accessed Jul. 09, 2024).
  
  
  
amc/ss2024/irrigantion_cart_nozzle/start.1722382090.txt.gz · Last modified: 2024/07/31 01:28 by amr.abdelkhalek