Lekcja 3: Czujnik światła
Cel
W tej lekcji dowiesz się, jak korzystać z Grove - czujnik światła, aby kontrolować nim Grove - Serwo. W tym przypadku kąt obrotu serwa zmienia się w zależności od natężenia światła.
Wymaganie sprzętowe
Przygotuj:
- przewód microUSB
- Raspberry Pi 3 Model B
- Komputer
Zawarte w zestawie
- Grove Base Hat
- Grove przewód
- Grove - czujnik światła
- Grove - Serwo
Podłączenie sprzętu
Krok 1 Podłącz Grove - czujnik światła do portu A0,Grove - Serwo do portu PWM.
Krok 2 Podłącz Base Hat do Raspberry Pi.
Krok 3 Podłącz Raspberry Pi do źródła zasilanie za pomocą przewodu microUSB.
Programowanie
Krok 1: Wpisz poniższe polecenia, aby stworzyć plik Pythona:
- cd grove.py
- nano lesson_3.py
Krok 2: Skopiuj poniższy kod:
- #!/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()
Krok 3:Uruchom program:
- sudo chmod +x lesson_3.py
- sudo ./lesson_3.py
Jeśli wszystko się powiodło, to zmiana natężenia światła będzie powodować zmianą kąta obrotu serwomechanizmu.
- pi@raspberrypi:~/grove.py $ sudo ./lesson_3.py
- light value 300, turn to 113 degree.
- light value 80, turn to 80 degree.
- light value 166, turn to 165 degree.
- light value 498, turn to 132 degree.
- light value 601, turn to 60 degree.
- light value 200, turn to 21 degree.
- 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 $