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

  

cd grove.py
nano lesson_5.py

 

Krok 2: Skopiuj poniższy kod

 

#!/usr/bin/env python

import time

from grove.grove_relay import GroveRelay
from grove.grove_ultrasonic_ranger import GroveUltrasonicRanger

def main():
    # Grove - Ultrasonic Ranger connected to port D5
    sensor = GroveUltrasonicRanger(5)

    # Grove - Relay connected to port D16
    relay = GroveRelay(16)

    while True:
        distance = sensor.get_distance()
        print('{} cm'.format(distance))

        if distance < 20:
            relay.on()
            print('relay on')

            time.sleep(1)

            relay.off()
            print('relay off')

            continue

        time.sleep(1)

if __name__ == '__main__':
    main()

 

Krok 3:Uruchom program

 

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

 

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

 

pi@raspberrypi:~/grove.py $ sudo ./lesson_5.py
253.722585481 cm
253.739028141 cm
252.896341784 cm
1.20442489098 cm
relay on
relay off
4.51762100746 cm
relay on
relay off
253.985668051 cm
^CTraceback (most recent call last):
  File "./lesson_5.py", line 34, in 
    main()
  File "./lesson_5.py", line 31, in main
    time.sleep(1)
KeyboardInterrupt
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!