Bird
Raised Fist0
Raspberry Piprogramming~5 mins

Automated plant watering system in Raspberry Pi - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main purpose of an automated plant watering system?
To water plants automatically based on soil moisture levels or a set schedule, ensuring plants get the right amount of water without manual effort.
Click to reveal answer
beginner
Which sensor is commonly used to detect soil moisture in an automated watering system?
A soil moisture sensor, which measures the water content in the soil to decide when to water the plants.
Click to reveal answer
intermediate
Why do we use a relay module in an automated plant watering system?
A relay module acts like a switch controlled by the Raspberry Pi to turn the water pump on or off safely without damaging the Pi.
Click to reveal answer
beginner
What role does the Raspberry Pi play in an automated plant watering system?
It reads sensor data, decides when to water the plants, and controls the water pump through the relay.
Click to reveal answer
intermediate
How can you prevent overwatering in an automated plant watering system?
By setting a moisture threshold and watering only when soil moisture is below that level, and by limiting watering duration.
Click to reveal answer
Which component measures soil moisture in an automated plant watering system?
ATemperature sensor
BHumidity sensor
CLight sensor
DSoil moisture sensor
What does a relay module do in the system?
AControls the water pump safely
BMeasures soil moisture
CProvides power to the Raspberry Pi
DSends data to the cloud
Why is it important to set a moisture threshold?
ATo measure air temperature
BTo avoid overwatering plants
CTo keep the pump running constantly
DTo increase water usage
Which programming language is commonly used on Raspberry Pi for this system?
APython
BJava
CC#
DRuby
What is the main input for deciding when to water plants?
ALight intensity
BAir temperature
CSoil moisture level
DWater pump speed
Explain how an automated plant watering system works using a Raspberry Pi.
Think about how the system senses dryness and turns water on or off.
You got /4 concepts.
    Describe the role of the relay module in protecting the Raspberry Pi during watering.
    Consider why the Pi should not be directly connected to the pump.
    You got /3 concepts.

      Practice

      (1/5)
      1.

      What is the main purpose of an automated plant watering system using a Raspberry Pi?

      easy
      A. To control room temperature automatically
      B. To water plants continuously without checking soil
      C. To measure sunlight for plants
      D. To water plants only when the soil is dry

      Solution

      1. Step 1: Understand the system goal

        The system uses sensors to check soil moisture.
      2. Step 2: Identify the watering condition

        It waters plants only when soil is dry to save water.
      3. Final Answer:

        To water plants only when the soil is dry -> Option D
      4. Quick Check:

        Water only if dry = A [OK]
      Hint: Focus on saving water by watering only when needed [OK]
      Common Mistakes:
      • Thinking it waters plants all the time
      • Confusing soil moisture with sunlight
      • Assuming it controls temperature
      2.

      Which of the following Python code snippets correctly sets up a GPIO pin 17 as an output to control a water pump?

      import RPi.GPIO as GPIO
      GPIO.setmode(GPIO.BCM)
      # What goes here?
      
      easy
      A. GPIO.setup(17, GPIO.OUT)
      B. GPIO.setup(17, GPIO.IN)
      C. GPIO.output(17, GPIO.IN)
      D. GPIO.output(17, GPIO.OUT)

      Solution

      1. Step 1: Identify pin mode setup

        GPIO.setup(pin_number, GPIO.OUT) sets pin as output.
      2. Step 2: Choose correct function and mode

        GPIO.setup(17, GPIO.OUT) correctly sets pin 17 as output.
      3. Final Answer:

        GPIO.setup(17, GPIO.OUT) -> Option A
      4. Quick Check:

        Setup output pin = A [OK]
      Hint: Use GPIO.setup(pin, GPIO.OUT) to set output pins [OK]
      Common Mistakes:
      • Using GPIO.IN instead of GPIO.OUT for output pins
      • Calling GPIO.output instead of GPIO.setup to set mode
      • Confusing pin numbers or modes
      3.

      What will be the output of this Python code controlling a pump based on soil moisture sensor reading?

      import RPi.GPIO as GPIO
      GPIO.setmode(GPIO.BCM)
      GPIO.setup(17, GPIO.OUT)
      soil_moisture = 300  # sensor value
      if soil_moisture < 400:
          GPIO.output(17, GPIO.HIGH)
          print("Pump ON")
      else:
          GPIO.output(17, GPIO.LOW)
          print("Pump OFF")
      medium
      A. SyntaxError
      B. Pump OFF
      C. Pump ON
      D. No output

      Solution

      1. Step 1: Check soil moisture condition

        Value 300 is less than 400, so condition is true.
      2. Step 2: Determine pump action and output

        GPIO.output sets pin HIGH and prints "Pump ON".
      3. Final Answer:

        Pump ON -> Option C
      4. Quick Check:

        300 < 400 triggers Pump ON [OK]
      Hint: Compare sensor value to threshold to decide pump state [OK]
      Common Mistakes:
      • Misreading the comparison operator
      • Confusing HIGH and LOW states
      • Ignoring print output
      4.

      Identify the error in this Raspberry Pi watering system code snippet:

      import RPi.GPIO as GPIO
      GPIO.setmode(GPIO.BCM)
      GPIO.setup(17, GPIO.OUT)
      soil_moisture = 500
      if soil_moisture > 400
          GPIO.output(17, GPIO.LOW)
          print("Pump OFF")
      medium
      A. soil_moisture value is invalid
      B. Missing colon (:) after if condition
      C. GPIO.output should be GPIO.setup
      D. Wrong GPIO pin number

      Solution

      1. Step 1: Check if statement syntax

        Python requires a colon (:) after the if condition.
      2. Step 2: Identify missing colon error

        The code misses ':' after 'if soil_moisture > 400', causing syntax error.
      3. Final Answer:

        Missing colon (:) after if condition -> Option B
      4. Quick Check:

        if statement needs ':' = D [OK]
      Hint: Always put ':' after if conditions in Python [OK]
      Common Mistakes:
      • Forgetting colon after if
      • Confusing GPIO.output with GPIO.setup
      • Assuming pin number is wrong
      5.

      You want to improve the watering system to water plants only if soil moisture is below 400 and only between 6 AM and 8 AM. Which Python code snippet correctly adds this time condition?

      import datetime
      now = datetime.datetime.now()
      soil_moisture = 350
      if soil_moisture < 400 and ???:
          print("Watering plants")
      else:
          print("No watering")
      hard
      A. now.hour >= 6 and now.hour <= 8
      B. now.hour > 6 or now.hour < 8
      C. now.hour < 6 and now.hour > 8
      D. now.hour == 6 or now.hour == 8

      Solution

      1. Step 1: Understand time range condition

        We want hours from 6 to 8 inclusive, so hour >= 6 and hour <= 8.
      2. Step 2: Combine soil moisture and time conditions

        Use 'and' to check both soil moisture and time range.
      3. Final Answer:

        now.hour >= 6 and now.hour <= 8 -> Option A
      4. Quick Check:

        Check hour between 6 and 8 = B [OK]
      Hint: Use 'and' with hour >= 6 and <= 8 for time range [OK]
      Common Mistakes:
      • Using 'or' instead of 'and' for time range
      • Using strict inequalities excluding 6 or 8
      • Checking only exact hours 6 or 8
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard