Lesson 4: Motion sensor and relay

Objective

Using Grove - mini PIR motion detector to detect movement and switch on the light when passing by.

Hardware requirement

Prepare:

  • microUSB cable
  • Raspberry Pi 3 Model B
  • Computer

Included in the set

  • Grove Base Hat
  • Grove wire
  • Grove - mini PIR motion detector
  • Grove - relay

Connecting equipment

Step 1 Connect Grove - mini PIR motion detector to port D5, Grove - relay to port D16 on Base Hat.

Step 2 Connect Base Hat to Raspberry Pi.

Step 3 Connect the Raspberry Pi to the power source using the microUSB cable.

Programming

Note

Make sure you clone the python.py repository library on your Raspberry Pi.

Step 1: Enter the following commands to create a Python file

cd grove.py
nano lesson_4.py

Step 2: Copy the code below:

#!/usr/bin/env python

import time

from grove.grove_mini_pir_motion_sensor import GroveMiniPIRMotionSensor
from grove.grove_relay import GroveRelay

def main():
    # Grove - mini PIR motion sensor connected to port D5
    sensor = GroveMiniPIRMotionSensor(5)

    # Grove - Relay connected to port D16
    relay = GroveRelay(16)

    def on_detect():
        print('motion detected')

        relay.on()
        print('relay on')

        time.sleep(1)

        relay.off()
        print('relay off')

    sensor.on_detect = on_detect

    while True:
        time.sleep(1)

if __name__ === '__main__':
    main()

Step 3:Uruchomprogram:

sudo chmod +x lesson_4.py
sudo ./lesson_4.py

If everything went well, you should see that the relay is on/off when motion is detected.

pi@raspberrypi:~/grove.py $ sudo ./lesson_4.py
motion detected
relay on
relay off
motion detected
relay on
relay off
^CTraceback (most recent call last):
  File "./lesson_4.py", line 33, in 
    main()
  File "./lesson_4.py", line 30, in main
    time.sleep(1)
KeyboardInterrupt
pi@raspberrypi:~/grove.py $ 

Table of contents

Botland.store - shop for makers!