Open form

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:

  

  1. cd grove.py
  2. nano lesson_3.py

 

Krok 2: Skopiuj poniższy kod:

 

  1. #!/usr/bin/env python
  2.  
  3. import time
  4.  
  5. from grove.grove_servo import GroveServo
  6. from grove.grove_light_sensor_v1_2 import GroveLightSensor
  7.  
  8. def main():
  9. # Grove - Servo connected to PWM port
  10. servo = GroveServo(12)
  11.  
  12. # Grove - Light Sensor connected to port A0
  13. sensor = GroveLightSensor(0)
  14.  
  15. while True:
  16. angle = sensor.light * 180 / 1000
  17. print('light value {}, turn to {} degree.'.format(sensor.light, angle))
  18. servo.setAngle(angle)
  19.  
  20. time.sleep(1)
  21.  
  22. if __name__ == '__main__':
  23. main()

 

Krok 3:Uruchom program:

 

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

  

Jeśli wszystko się powiodło, to zmiana natężenia światła będzie powodować zmianą kąta obrotu serwomechanizmu.

  1. pi@raspberrypi:~/grove.py $ sudo ./lesson_3.py
  2. light value 300, turn to 113 degree.
  3. light value 80, turn to 80 degree.
  4. light value 166, turn to 165 degree.
  5. light value 498, turn to 132 degree.
  6. light value 601, turn to 60 degree.
  7. light value 200, turn to 21 degree.
  8. light value 459, turn to 99 degree.
  9. light value 172, turn to 173 degree.
  10. light value 319, turn to 138 degree.
  11. ^CTraceback (most recent call last):
  12. File "./lesson3.py", line 23, in
  13. main()
  14. File "./lesson3.py", line 20, in main
  15. time.sleep(1)
  16. KeyboardInterrupt
  17. pi@raspberrypi:~/grove.py $

  

Spis treści

zapraszamy do współpracy!