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, inmain() File "./lesson3.py", line 20, in main time.sleep(1) KeyboardInterrupt pi@raspberrypi:~/grove.py $