Open form

Lekcja 5: Ultradźwiękowy czujnik odległości oraz przekaźnik

  

Cel

W tej lekcji wykorzystamy Grove - ultradźwiękowych czujnik odległości do zmierzenia odległości, gdy ktoś się zbliży, światełko na Grove - przekaźniku powinno się włączyć.

 

Wymaganie sprzętowe

Przygotuj:

  • przewód microUSB
  • Raspberry Pi 
  • Komputer

Zawarte w zestawie

  • Grove Base Hat
  • Grove przewód
  • Grove - Ultradźwiękowy czujnik odległości
  • Grove - Przekaźnik

   

Podłączenie sprzętu

Krok 1 Podłącz Grove - Ultradźwiękowy czujnik odległości do portu D5, Grove - przekaźnik do portu D16 na Base Hat.

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

  

Uwaga

Upewnij się, że sklonowałeś bibliotekę repozytorium python.py na swoim Raspberry Pi.

  

Krok 1: Wpisz poniższe polecenia, aby stworzyć plik Pythona

  

  1. cd grove.py
  2. nano lesson_5.py

 

Krok 2: Skopiuj poniższy kod

 

  1. #!/usr/bin/env python
  2.  
  3. import time
  4.  
  5. from grove.grove_relay import GroveRelay
  6. from grove.grove_ultrasonic_ranger import GroveUltrasonicRanger
  7.  
  8. def main():
  9. # Grove - Ultrasonic Ranger connected to port D5
  10. sensor = GroveUltrasonicRanger(5)
  11.  
  12. # Grove - Relay connected to port D16
  13. relay = GroveRelay(16)
  14.  
  15. while True:
  16. distance = sensor.get_distance()
  17. print('{} cm'.format(distance))
  18.  
  19. if distance < 20:
  20. relay.on()
  21. print('relay on')
  22.  
  23. time.sleep(1)
  24.  
  25. relay.off()
  26. print('relay off')
  27.  
  28. continue
  29.  
  30. time.sleep(1)
  31.  
  32. if __name__ == '__main__':
  33. main()

 

Krok 3:Uruchom program

 

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

 

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

 

  1. pi@raspberrypi:~/grove.py $ sudo ./lesson_5.py
  2. 253.722585481 cm
  3. 253.739028141 cm
  4. 252.896341784 cm
  5. 1.20442489098 cm
  6. relay on
  7. relay off
  8. 4.51762100746 cm
  9. relay on
  10. relay off
  11. 253.985668051 cm
  12. ^CTraceback (most recent call last):
  13. File "./lesson_5.py", line 34, in
  14. main()
  15. File "./lesson_5.py", line 31, in main
  16. time.sleep(1)
  17. KeyboardInterrupt
  18. pi@raspberrypi:~/grove.py $

  

  

Teraz porównaj swoje wyniki z lekcji czwartej i lekcji piątej. Czy potrafisz wymienić zalety i wady Grove - mini czujnika ruchu PIR oraz Grove ultradźwiękowego czujnika odległości? 

Spis treści

zapraszamy do współpracy!