Jak mierzyć odległość za pomocą Raspberry Pi

Jak mierzyć odległość za pomocą Raspberry Pi
Możesz zmierzyć odległość za pomocą czujnika ultradźwiękowego HC-SR04 z Raspberry Pi. Czujnik HC-SR04 może mierzyć odległość od 2 mm (.02m) do 400 cm (4m). Wysyła 8 serii sygnałów 40 kHz, a następnie czeka, aż uderzy w obiekt i odzwierciedla. Czas potrzebny do przejechania ultradźwiękowej fali dźwiękowej 40 kHz jest używany do obliczenia odległości między czujnikiem a obiektem w drodze. Tak właśnie działa czujnik HC-SR04.

W tym artykule pokażę, jak użyć czujnika ultradźwiękowego HC-SR04 do pomiaru odległości między czujnikiem a obiektem na swój sposób za pomocą Raspberry Pi. Zacznijmy.

Potrzebujesz komponentów:

Aby skutecznie zmierzyć odległość za pomocą czujnika Raspberry Pi i HC-SR04, potrzebujesz,

  • Raspberry Pi 2 lub 3 komputer z pojedynczą płytą z zainstalowanym Raspbian.
  • Moduł czujnika ultradźwiękowego HC-SR04.
  • Rezystory 3x10kΩ.
  • Tablica chleba.
  • Niektóre złącza mężczyzn do żeńskiej.
  • Niektóre złącza mężczyzn do mężczyzn.

Napisałem dedykowany artykuł na temat instalacji Raspbian na Raspberry Pi, który można sprawdzić na stronie https: // Linuxhint.com/ install_raspbian_raspberry_pi/ jeśli potrzebujesz.

HC-SR04 Pinouts:

HC-SR04 ma 4 piny. VCC, spust, echo, groud.

Ryc. 1: Pinouts HC-SR04 (https: // www.Mouser.COM/DS/2/813/HCSR04-1022824.PDF)

Pin VCC powinien być podłączony do pinu +5 V Raspberry Pi, który jest pinem 2. Połączka uziemienia powinna być podłączona do pinu GND Raspberry Pi, który jest pinem 4.

Pinsy spustowe i echa powinny być podłączone do pinów GPIO Raspberry Pi. Podczas gdy szpilka spustowa może być bezpośrednio podłączona do jednego z kołków GPIO Raspberry Pi, pin echo potrzebuje obwodu dzielnika napięcia.

Schemat obwodu:

Podłącz czujnik ultradźwiękowy HC-SR04 do swojego Raspberry Pi w następujący sposób:

Ryc. 2: Ultradźwiękowy czujnik HC-SR04 podłączony do Raspberry Pi.

Gdy wszystko zostanie połączone, tak to wygląda:

Ryc. 3: Ultradźwiękowy czujnik HC-SR04 podłączony do Raspberry Pi na płycie breaks.

Ryc. 4: Ultradźwiękowy czujnik HC-SR04 podłączony do Raspberry Pi na płycie breaks.

Pisanie programu Python do pomiaru odległości z HC-SR04:

Najpierw podłącz się do swojego Raspberry Pi za pomocą VNC lub SSH. Następnie otwórz nowy plik (powiedzmy dystans.py) i wpisz następujące wiersze kodów:

Tutaj linia 1 importuje bibliotekę Raspberry Pi GPIO.

Linia 2 importuje bibliotekę czasu.

W środku próbować blok, faktycznie kod do pomiaru odległości za pomocą HC-SR04 jest pisany.

Wreszcie blok służy do czyszczenia pinów GPIO za pomocą GPIO.posprzątać() Metoda, gdy program kończy.

W środku próbować blok, online 5, GPIO.setMode (GPIO.TABLICA) służy do ułatwienia definiowania szpilki. Teraz możesz odwoływać się do pinów według liczb fizycznych, tak jak na tablicy Raspberry Pi.

On line 7 i 8, Pintrigger jest ustawione na 7 I Pinecho jest ustawione na 11. SPUST Pin HC-SR04 jest podłączony do pinu 7 i ECHO Pin HC-SR04 jest podłączony do pin 11 Rapsberry Pi. Oba są szpilkami GPIO.

On line 10, Pintrigger jest konfiguracja dla wyjścia za pomocą GPIO.organizować coś() metoda.

On line 11, Pinecho jest konfiguracja do wejścia za pomocą GPIO.organizować coś() metoda.

Linie 13-17 są używane do resetowania Pintrigger (Ustawiając go na logikę 0) i ustawiając Pintrigger do logiki 1 dla 10 ms, a następnie do logiki 0. W 10 ms czujnik HC-SR04 wysyła 8 40 kHz Pulse.

Linie 19-24 są używane do pomiaru czasu potrzebnego do odbicia impulsów 40 kHz do obiektu i z powrotem do czujnika HC-SR04.

W linii 25 odległość jest mierzona przy użyciu wzoru,

Dystans = czas delta * prędkość (340 m / s) / 2

=> Dystans = czas delta * (170 m/s)

Obliczyłem odległość w centymetrach zamiast metrów, a dokładniej. Obliczona odległość jest również zaokrąglona do 2 miejsc po przecinku.

Wreszcie, w linii 27, wynik jest drukowany. To wszystko, bardzo proste.

Teraz uruchom skrypt Pythona z następującym poleceniem:

$ Python3 odległość.py

Jak widać, mierzona odległość wynosi 8.40 cm.

Ryc. 5: Obiekt umieszczony na około 8.40 cm od czujnika.

Prowadziłem się nieco dalej, mierzona odległość wynosi 21.81 cm. Więc działa zgodnie z oczekiwaniami.

Ryc. 6: Obiekt umieszczony na około 21.81 cm od czujnika.

Więc tak mierzysz odległość za pomocą Raspberry Pi za pomocą czujnika ultradźwiękowego HC-SR04. Zobacz kod dla odległości.PY poniżej:

Importuj RPI.GPIO jako GPIO
czas importu
próbować:
GPIO.setMode (GPIO.TABLICA)
Pintrigger = 7
pinecho = 11
GPIO.konfiguracja (Pintrigger, GPIO.NA ZEWNĄTRZ)
GPIO.konfiguracja (Pinecho, GPIO.W)
GPIO.wyjście (Pintrigger, GPIO.NISKI)
GPIO.wyjście (Pintrigger, GPIO.WYSOKI)
czas.spać (0.00001)
GPIO.wyjście (Pintrigger, GPIO.NISKI)
Podczas gdy GPIO.wejście (pinecho) == 0:
PulsestartTime = czas.czas()
Podczas gdy GPIO.wejście (pinecho) == 1:
PulseendTime = czas.czas()
Pulseduration = Pulseendtime - pulsestartTime
odległość = okrągła (pulseduration * 17150, 2)
Drukuj („Odległość: %.2F cm " % (odległość))
Wreszcie:
GPIO.posprzątać()