Kategorie

Pomiar odległości z wykorzystaniem Raspberry Pi i czujnika E18-D80NK

 

Czujnik umożliwia pomiar odległości. Działa on w sposób cyfrowy, czyli wysyła tzw, zera i jedynki w zależności czy obiekt został wykryty czy reż nie. Regulacja czułości, dokonywana jest przez pokrętło w obudowie modułu.

 

Będziemy potrzebować następujące elementy:

 

Podłączenie z Raspberry Pi

Należy połączyć oba urządzenia według przedstawionej tabeli

 

GPIO Raspberry PiCzujnik E18-D80NK
5 VPrzewód czerwony lub brązowy
GNDPrzewód zielony lub niebieski

1

Przewód żółty lub czarny

 

 

Schemat połączenie czujnika E18-D80NK z Raspberry Pi.

Obsługa

Aby korzystać z pinów GPIO w Raspberry potrzebujemy biblioteki, która nam to umożliwi. W tym celu użyjemy biblioteki wiringPi. Opis jak ją pobrać i zainstalować znajdziemy tutaj. Wystarczy kopiować kolejne polecenia. Na koniec, aby sprawdzić poprawność instalacji:

 

  • gpio readall

Po tym poleceniu powinniśmy zobaczyć poniższą tabelkę:

Teraz napiszemy prosty program. Tworzymy plik e18_d80.cpp

 

  • nano e18_d80.cpp

 

Plik powinien zawierać następujący program:

#include <wiringPi.h>
#include <iostream>
using namespace std;

int czujnik = 1;   //pin GPIO1 Raspberry połączony z wyjściem czujnika

int main(void)
{
  wiringPiSetup();

  pinMode(czujnik, INPUT);                       //ustawienie pinu 2 w Raspberry jako wyjście
  cout<<endl<<"Test czujnika odleglosci"<<endl<<endl;

  while(1)
  {

    cout<<"Wykrycie obiektu: ";                  //wyświetlanie wyników na ekranie w pętli co 500 ms
    if(digitalRead(czujnik) == 0)                //stan niski oznacza wykrycie obiektu
    {                                            //stan wysoki natomiast - jego brak
      cout<<"  TAK"<<endl;
    }
    if(digitalRead(czujnik) == 1)
    {
      cout<<"NIE"<<endl;
    }
    delay(500);
  }
}

Następnie zapisujemy zmiany w pliku i zamykamy go. Aby skompilować utworzony plik wykorzystamy polecenie:

 

  • g++ -Wall -o e18_d80.oe18_d80.cpp -lwiringPi

 

Program uruchamiany następującym poleceniem:

 

  • sudo ./e18_d80.o

 

Wynik programu możemy obejrzeć na monitorze:

 

 

Zrzut ekranu monitora.