Lesson 3: The light sensor

Objective

In this lesson you will learn how to use the Grove-Servo light sensor to control it. In this case, the angle of rotation of the servo varies according to the light intensity.

Hardware requirement

Prepare:

  • microUSB cable
  • Raspberry Pi 3 Model B
  • Computer

Included in the set

  • Grove Base Hat
  • Grove wire
  • Grove light sensor
  • Grove - Servo

Connecting equipment

Step 1 Connect Grove - light sensor to A0,Grove - Servo to PWM port.

Step 2 Connect Base Hat to Raspberry Pi.

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

Programming

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

cd grove.py
nano lesson_3.py

Step 2: Copy the code below:

#!/usr/bin/env python

import time

from grove.grove_servo import GroveServo
from grove.grove_light_sensor_v1_2 import GroveLightSensor

def main():
    # Grove - Servo connected to PWM port
    servo = GroveServo(12)

    # Grove - Light Sensor connected to port A0
    sensor = GroveLightSensor(0)

    while True:
        angle = sensor.light * 180 / 1000
        print('light value {}, turn to {} degree.'.format(sensor.light, angle))
        servo.setAngle(angle)

        time.sleep(1)

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

Step 3:Uruchomprogram:

sudo chmod +x lesson_3.py
sudo ./lesson_3.py

If everything is successful, a change in light intensity will cause a change in the angle of rotation of the servo.

pi@raspberrypi:~/grove.py $ sudo ./lesson_3.py
light value 300, turn to 113 degrees.
light value 80, turn to 80 degree.
light value 166, turn to 165 degrees.
light value 498, turn to 132 degrees.
light value 601, turn to 60 degree.
light value 200, turn to 21 degrees.
light value 459, turn to 99 degree.
light value 172, turn to 173 degree.
light value 319, turn to 138 degree.
^CTraceback (most recent call last):
  File "./lesson3.py", line 23, in 
    main()
  File "./lesson3.py", line 20, in main
    time.sleep(1)
KeyboardInterrupt
pi@raspberrypi:~/grove.py $ 

Table of contents

Botland.store - shop for makers!