Jak zrobić prędkość śledzenia za pomocą modułów IR z Arduino Uno

Jak zrobić prędkość śledzenia za pomocą modułów IR z Arduino Uno

Arduino to bardzo zróżnicowana platforma, która zapewnia użytkownikowi szeroką gamę opcji podczas projektowania sprzętu dla każdego rodzaju projektu. Na sprzętowym przyszłym Arduino zapewnia różnorodne płyty mikrokontrolera, które można wybrać na podstawie poziomu projektów. Najpopularniejszą wśród tablic Arduino jest tablica Arduino UNO ze względu na swoją prostotę i kompatybilność. Ponadto, za pomocą platformy Arduino, możemy połączyć różne urządzenia, w tym czujniki i moduły z mikrokontrolerów. Użyliśmy Arduino Uno do tworzenia systemu śledzenia prędkości, który mierzy prędkość dowolnego ruchomego obiektu za pomocą modułu czujnika podczerwieni.

Jak zrobić śledzenie prędkości za pomocą modułu IR z Arduino Uno

Aby zmierzyć prędkość poruszającego się obiektu, użyliśmy dwóch modułów IR z Arduino Uno. Kiedy obiekt przechodzi przez oba moduły, możemy zmierzyć prędkość, biorąc różnicę w czasie, w którym obiekt przeszedł przez każdy moduł. Opublikowaliśmy obraz schematu obwodu zaprojektowanego dla projektu śledzenia prędkości.

Zespół sprzętu dla Arduino Uno Tracker za pomocą modułu IR

Lista wymaganych elementów do tworzenia prędkości za pomocą modułu IR z Arduino Uno podano poniżej

  • Arduino Uno
  • Łączenie przewodów
  • 16 × 2 Wyświetlacz ciekłokrystaliczny (LCD)
  • 1 potencjometr
  • 1 220 Ohm rezystor
  • 1 LED
  • 2 moduły IR

Poniżej znajduje się obraz zespołu sprzętowego, który daje jasne zrozumienie połączeń wymienionych powyżej:

Złożliśmy sprzęt w taki sposób, że najpierw umieściliśmy LCD, LED i potencjometr na tablicy chleba, a następnie połączyliśmy LCD z Arduino UNO za pomocą jego 5,4,3,2 jako pinów danych LCD za pomocą White Color Wire z drutu kolorów. Obok dostosowania jasności LCD podłączyliśmy pin v0 LCD z wyjściem potencjometru za pomocą żółtego przewodu kolorów. Podobnie po tym podłączyliśmy wybór rejestru i pin Enable of LCD z Arduino i jest on reprezentowany przez szary drut na zdjęciu.

Wchodząc do modułów IR, podłączyliśmy wyjście modułów IR z Arduino za pomocą pinu 10 i 9, a połączenia są wykonywane za pomocą drutu kolorów brązowego i podłączania diody LED na styku 8 Arduino użyliśmy drutu kolorów pomarańczowego.

Aby podłączyć komponenty z zasilaniem napięcia, użyliśmy 5 woltów i uziemiania PIN arduino UNO i podłączyliśmy go do dedykowanych pinów do breakboardu do zasilania i uziemienia.

Kod Arduino dla śledzenia prędkości za pomocą modułu IR

Kod Arduino opracowany do pomiaru prędkości dowolnego ruchomego obiektu podano poniżej:

#include // definiowanie biblioteki dla LCD
Płyncrystal LCD (12,11,5,4,3,2); // przypisanie pinów Arduino dla LCD
const int led = 8; // arduino pin dla diody LED
bajt IR1 = 10; // Arduino Pin dla pierwszego modułu IR
bajt ir2 = 9; // arduino pin dla drugiego modułu IR
BYTE IRVAL1; // zmienna do przechowywania wartości pierwszego modułu IR
bajt irval2; // zmienna do przechowywania wartości drugiego modułu IR
float diff; /*zmienna, aby zaoszczędzić różnicę czasu między dwoma modułami*/
prędkość zmiennoprzecinka; // Zmienna do zapisywania wartości prędkości
bez znaku długi 1;/* zmienna do przechowywania czasu dla pierwszego modułu IR*/
bez znaku długiego czasu 2;/* zmienna do przechowywania czasu dla drugiego modułu IR*/
float SpeedConst = 453.6; // odległość między dwoma modułami IR w km/h
void displaylcd () // tworzenie funkcji do wyświetlania danych
LCD.setCursor (0, 0);/*Ustawienie miejsca dla wyświetlania danych*/
LCD.print („Speed ​​Tracker”); // dane do wyświetlenia
LCD.setCursor (0,3);/*Ustawienie miejsca dla wyświetlania danych*/
LCD.drukuj („prędkość:”); // dane do wyświetlenia

void Setup ()

/*Przypisanie trybów do modułów IR i LED*/
pinmode (IR1, wejście);
pinmode (IR2, wejście);
pinmode (LED, wyjście);
Seryjny.Rozpocznij (9600); // inicjowanie komunikacji szeregowej
LCD.Rozpocznij (16,2); // inicjowanie wymiarów LCD
LCD.setCursor (0, 0);/*Ustawienie miejsca dla wyświetlania danych*/
LCD.print („Speed ​​Tracker”); // dane do wyświetlenia
LCD.setCursor (0,3);/*Ustawienie miejsca dla wyświetlania danych*/
LCD.drukuj („prędkość:”); // dane do wyświetlenia

Void Loop ()

irval1 = DigitalRead (IR1); /*Odczyt wyjścia pierwszego modułu IR*/
irval2 = DigitalRead (IR2);/*Odczyt wyjścia drugiego modułu IR*/
if (irval1 == high) / * Jeśli wyjście jest wysokie, to zwróć uwagę na czas i włącz diodę LED * /
time1 = millis (); // oszczędzanie czasu dla pierwszego modułu
DigitalWrite (LED, niski); // Włączanie diody LED
opóźnienie (30);

if (irval2 == niski) / * Jeśli wyjście, jeśli drugi moduł jest wysoki, oblicz różnicę czasu i oblicz prędkość */
time2 = millis (); // oszczędzanie czasu dla drugiego modułu IR
diff = czas2 - Time1; /*Obliczanie różnicy czasu między dwoma modułami IR*/
Velocity = SpeedConst/diff; // Uzyskaj prędkość z MM/Millis na km/h.
LCD.setCursor (6,3);/*Ustawianie miejsca dla wyświetlania danych*/
LCD.drukuj (prędkość); // dane do wyświetlenia
LCD.print („km/h”); // dane do wyświetlenia
opóźnienie (1000); // czas, dla którego dane będą wyświetlane na LCD
LCD.clear (); // usuwanie LCD
displaylcd ();/* wywołanie funkcji wyświetlania, aby wyświetlić dane*/
DigitalWrite (LED, niski); // dając niski stan LED

Kod Arduino dla śledzenia prędkości jest kompilowany w taki sposób, że najpierw przypisaliśmy szpilki Arduino używane do interfejsu każdego komponentu z Arduino UNO, a następnie zadeklarowane są zmienne niezbędne. Następnie podaliśmy tryby działania każdemu komponentowi i utworzyliśmy funkcję wyświetlania LCD do wyświetlania niezbędnych danych na LCD.

Aby obliczyć prędkość obiektu, najpierw zmierzyliśmy odległość między naszymi dwoma modułami IR, w naszym przypadku oba moduły są w odległości około 126 mm. Ponieważ prędkość jest mierzona w km/h, przekonwertowaliśmy odległość w km/h z mm za pomocą następującego wzoru:

((odległość)*3600)/1000; ((126)*3600)/1000 = 453.6;

Obok obliczenia prędkości obiektu, którego użyliśmy, podany poniżej.

prędkość = (odległość/czas); prędkość = (453.6/różnica czasu obu modułów IR);

W powyższym wzorze czas jest różnicą czasu obu modułów IR.

Podsumowując działanie kodu Arduino, możemy powiedzieć, że gdy wyjście pierwszego modułu IR jest wysoki, że czas zostanie zapisany za pomocą funkcji millis (), a następnie, gdy wyjście drugiego modułu IR jest również zapisywane, czas zapisywany jest również czas, czas jest zapisywany czas, czas. Dalej zostanie obliczona różnica obu czasów, a wartość zostanie umieszczona w wzorze używanym do obliczania prędkości, a obliczona prędkość zostanie wyświetlona na LCD.

Implementacja sprzętu do śledzenia prędkości za pomocą modułu IR za pomocą Arduino Uno

Opublikowaliśmy poniższy obraz, aby pokazać sprzęt zmontowany dla projektu Arduino Speed ​​Tracker.

Opublikowaliśmy animację, aby zademonstrować działanie tego, w jaki sposób możemy zmierzyć prędkość ruchomego obiektu:

Wniosek

Moduły podczerwieni są wykorzystywane głównie do wykrywania przeszkód, pomiaru prędkości, pomiaru temperatury i wielu innych zastosowań. Te moduły są łatwe do połączenia z płytami Arduino i mogą być używane w szerokiej liczbie projektów dla różnych aplikacji. Użyliśmy również modułów podczerwieni do obliczenia prędkości poruszającego się obiektu za pomocą Arduino Uno.