Assignment 1
General Instructions:
• This is a group assignment with FOUR members in a team.
• Only electronic submissions will be accepted. Your solution has to be submitted via
the ipearl emasters platform.
• Only one person from the group should submit the assignment.
Question 1 (100 Marks)
Aravind is an ambitious farmer who wants to improve the yields from his farmland. While
looking for ways to improve the yields, he came across tech buzzword like the Internet of
Things. The irrigation system he wants to build contains servo motors that control the water
supply to the farm, based on the present humidity, temperature levels in the farm.
The irrigation system he wants to build contains servo motors that control the water supply to
the farm, based on the present humidity, temperature levels in the farm. Using sensor data,
Aravind wants to build a smart irrigation system that predicts how much water (in
percentage) should be supplied to his farm. Aravind also does not want to water the plants
during night-time.
However, Aravind is good at farming and does not have much experience building an IoT
system. So, build an irrigation system for Aravind using the IoT simulator at this link
(https://wokwi.com/projects/new/arduino-mega?template=arduino-mega) and design a farm
irrigation circuit using Arduino Mega board. Identify the required sensors needed to build the
irrigation system based on Aravind’s requirements from the list of sensors provided by the
simulator. The irrigation system should produce the correct signal (% of water supply) to
control the water supply depending on the temperature and humidity values. Use a servo
motor to control the water supply.
The farm irrigation system should contain four sensor units such that each unit sense
temperature and humidity values. These values will be provided to rule-based model as
shown in Table 1 on the Arduino board to predict the water flow in percentage. Then the
water flow percentage will be provided as input to the servo motor (Map the percentage
values with servo motor rotation 0◦ to 180◦). The sensor values from each sensor unit should
control a servo motor. Also, display the % of water flow that is fed as input to servo motors
on an LCD (Refer to Figure. 1). The block diagram for the circuit schematic is shown in
Figure 2.
CS683: Embedded, Cyber Physical Systems and IoT Security
Temperature (C) | Humidity (%) | Water flow prediction (%) |
Low (< 25) | Low (40) | 100% |
Low (< 40) | Low (<65) | 60% |
Medium (25-35) | Medium (40 -70) | 40% |
High (>35) | High (> 70) | 0% |
Table 1. Rules for water supply prediction
Figure 2: Block Diagram of Irrigation System
Deliverables:
1. Submit a report in pdf format mentioning how you have built the irrigation system,
the sensors used. Also, provide the link to your simulated project in the report (You
can generate the link for your project from the simulator by signing in and saving the
project).
2. The solution for the assignment should be submitted as a zip file. The file should be
named as Member1RollNumber Member2RollNumber.zip.
3. Downloaded zip file of the simulation from the simulator (It should contain sketch.ino
and diagram.json files).
Expected functionality from your simulation:
• The sensors present in the simulator contain slider bars to adjust the sensor readings.
When adjusting the sensor inputs (Temperature, Humidity, Day/Night), the rule-based
model should predict the appropriate water flow in percentage. Your simulation
should print the predicted water flow % on LCD screen and control the servo motor
proportional to the water flow %.
• When particular sensor values are changed, only the servo motor that uses data from
that sensor should change its state. Rest of the motors should remain as it is.
• You should also simulate day and night using the appropriate sensor from the sensor
list. The water flow should be set to zero during the night-time, irrespective of
temperature and humidity values. All the servo motors should come to their zero
position, and LCD should display water flow as 0% for all four units.
• Once the simulation is started, it should run in a loop. Reflecting any changes done to
the sensor values automatically by modifying motor positions and values on LCD
without restarting the simulation. Refresh the readings on the LCD display in every
iteration. You can use some delay time inside the loop so that displayed values don’t
change too quickly.
Hints:
• Refer to Wokwi documentation for setting up required components on the simulator.
• For simulating Day/Night, set the threshold sensor value as 50 units, i.e., if the sensor
value is set to less than 50 units, your simulation should treat it as night, and if the
sensor value is greater than 50 units, treat it as daytime.
Evaluation Scheme for Assignment:
1. Building the Circuit in the Simulator (30 Marks)
2. Functionality of the irrigation system based on the rule-based model and other
expected deliverables. (45 Marks)
3. Writing Report for the experiment setup and implementation. (25 Marks)