Spisu treści:

Robot sterowany gestami za pomocą Arduino: 7 kroków
Robot sterowany gestami za pomocą Arduino: 7 kroków

Wideo: Robot sterowany gestami za pomocą Arduino: 7 kroków

Wideo: Robot sterowany gestami za pomocą Arduino: 7 kroków
Wideo: Co można zbudować na Arduino? Sprawdź 5 ciekawych projektów DIY (robot-lodówka, WIELKI zegar... 2024, Listopad
Anonim
Robot sterowany gestami za pomocą Arduino
Robot sterowany gestami za pomocą Arduino

Roboty są wykorzystywane w wielu sektorach, takich jak budownictwo, wojsko, produkcja, montaż itp. Roboty mogą być autonomiczne lub półautonomiczne. Roboty autonomiczne nie wymagają interwencji człowieka i mogą działać samodzielnie w zależności od sytuacji. Roboty półautonomiczne działają zgodnie z instrukcjami podawanymi przez ludzi. Te półautonomiczne mogą być sterowane za pomocą pilota, telefonu, gestów itp. Wcześniej zbudowaliśmy kilka robotów opartych na IoT, którymi można sterować z serwera WWW.

W dzisiejszym artykule zbudujemy robota sterowanego gestami przy użyciu Arduino, akcelerometru MPU6050, pary transceiverów nRF24L01 i modułu sterownika silnika L293D. Zaprojektujemy tego robota na dwie części. Jednym z nich jest Nadajnik, a drugim Odbiornik. Sekcja nadajnika składa się z Arduino Uno, akcelerometru i żyroskopu MPU6050 oraz nRF24L01, podczas gdy sekcja odbiornika składa się z Arduino Uno, nRF24L01, dwóch silników prądu stałego i sterownika silnika L293D. Nadajnik będzie działał jako pilot do sterowania Robotem, gdzie robot będzie się poruszał zgodnie z gestami.

Krok 1: Wymagane komponenty

Wymagane komponenty
Wymagane komponenty
Wymagane komponenty
Wymagane komponenty
  • Arduino Uno (2)
  • NRF24L01 (2)
  • Silnik MPU6050DC (2)
  • Moduł sterownika silnika L293D
  • Rzadkie ciasto

Przyspieszeniomierz i żyroskop MPU6050 Moduł czujnika MPU6050 to kompletny 6-osiowy (3-osiowy akcelerometr i 3-osiowy żyroskop) mikroelektromechaniczny system. Moduł czujnika MPU6050 posiada również wbudowany czujnik temperatury. Posiada magistralę I2C i interfejs magistrali pomocniczej I2C do komunikacji z mikrokontrolerami i innymi urządzeniami czujnikowymi, takimi jak magnetometr 3-osiowy, czujnik ciśnienia itp. Moduł czujnika MPU6050 służy do pomiaru przyspieszenia, prędkości, orientacji, przemieszczenia i niektórych innych ruchów powiązanych parametrów. Ten moduł czujnika ma również wbudowany cyfrowy procesor ruchu, który może wykonywać złożone obliczenia.

Moduł nadawczo-odbiorczy NRF24L01

nRF24L01 to jednoukładowy nadajnik-odbiornik radiowy dla światowego pasma ISM 2,4 - 2,5 GHz. Transceiver składa się z w pełni zintegrowanego syntezatora częstotliwości, wzmacniacza mocy, oscylatora kwarcowego, demodulatora, modulatora i silnika protokołu Enhanced ShockBurs. Moc wyjściową, kanały częstotliwości i konfigurację protokołu można łatwo zaprogramować za pomocą interfejsu SPI. Zakres napięcia roboczego tego modułu nadawczo-odbiorczego wynosi od 1,9 V do 3,6 V. Posiada wbudowane tryby wyłączania i czuwania, dzięki którym jest energooszczędny i łatwy do zrealizowania.

Krok 2: Działanie robota sterowanego gestami dłoni za pomocą Arduino

Praca robota sterowanego gestami dłoni za pomocą Arduino
Praca robota sterowanego gestami dłoni za pomocą Arduino
Praca robota sterowanego gestami dłoni za pomocą Arduino
Praca robota sterowanego gestami dłoni za pomocą Arduino

Aby zrozumieć działanie tego samochodu sterującego gestami Arduino, podzielmy ten projekt na dwie części. Pierwsza część to część nadajnika (pilot), w której czujnik akcelerometru MPU6050 w sposób ciągły wysyła sygnały do odbiornika (Robota) poprzez Arduino i nadajnik nRF.

Druga część to część odbiornika (samochód robota), w której odbiornik nRF odbiera przesyłane dane i przesyła je do Arduino, które dalej je przetwarza i odpowiednio przesuwa robota.

Czujnik akcelerometru MPU6050 odczytuje współrzędne X Y Z i wysyła współrzędne do Arduino. W tym projekcie potrzebujemy tylko współrzędnych X i Y. Arduino następnie sprawdza wartości współrzędnych i przesyła dane do nadajnika nRF. Przesyłane dane są odbierane przez odbiornik nRF. Odbiornik wysyła dane do Arduino po stronie odbiornika. Arduino przekazuje dane do IC sterownika silnika, a sterownik silnika obraca silniki w wymaganym kierunku.

Krok 3: Schemat obwodu

Schemat obwodu
Schemat obwodu
Schemat obwodu
Schemat obwodu

Ten robot sterowany gestem dłoni za pomocą sprzętu Arduino jest podzielony na dwie sekcje

  1. Nadajnik
  2. Odbiorca

Krok 4: Obwód nadajnika do samochodu sterowanego gestami Arduino

Obwód nadajnika do samochodu sterowanego gestami Arduino
Obwód nadajnika do samochodu sterowanego gestami Arduino
Obwód nadajnika do samochodu sterowanego gestami Arduino
Obwód nadajnika do samochodu sterowanego gestami Arduino
Obwód nadajnika do samochodu sterowanego gestami Arduino
Obwód nadajnika do samochodu sterowanego gestami Arduino

Sekcja nadajnika tego projektu składa się z akcelerometru i żyroskopu MPU6050, transceivera nRF24L01 i Arduino Uno. Arduino w sposób ciągły pobiera dane z MPU6050 i przesyła je do nadajnika nRF. Nadajnik RF przekazuje dane do otoczenia.

Krok 5: Obwód odbiornika dla samochodu sterowanego gestami Arduino

Obwód odbiornika dla samochodu sterowanego gestami Arduino
Obwód odbiornika dla samochodu sterowanego gestami Arduino
Obwód odbiornika dla samochodu sterowanego gestami Arduino
Obwód odbiornika dla samochodu sterowanego gestami Arduino
Obwód odbiornika dla samochodu sterowanego gestami Arduino
Obwód odbiornika dla samochodu sterowanego gestami Arduino

Sekcja odbiornika tego robota sterowanego gestami składa się z Arduino Uno, nadajnika-odbiornika nRF24L01, 2 silników prądu stałego i modułu sterownika silnika. Odbiornik NRF24L01 odbiera dane z nadajnika i przesyła je do Arduino. Następnie zgodnie z otrzymanymi sygnałami Arduino porusza silniki prądu stałego.

Krok 6: Objaśnienie programu

W przypadku robota sterowanego gestami korzystającego z Arduino, pełny kod jest dostępny tutaj. Poniżej wyjaśniamy program linijka po linijce.

Program po stronie nadajnika

W tym programie Arduino odczytuje dane z MPU6050 i przesyła je do nadajnika nRF 24L01.

1. Rozpocznij program od dodania wymaganych plików bibliotecznych. Możesz pobrać pliki biblioteki z podanych linków.

SPI.h

nRF24L01.h

Drut.h

MPU6050.h

2. Następnie zdefiniuj zmienne dla danych żyroskopu i akcelerometru MPU6050. Tutaj będą używane tylko dane akcelerometru.

3. Zdefiniuj adresy rur radiowych dla pinów CN i CSN nadajników komunikacyjnych i nRF.

4. Wewnątrz funkcji void setup() uruchom monitor szeregowy. A także zainicjuj komunikację przewodową i radiową. radio.setDataRate służy do ustawienia szybkości transmisji danych.

5. Odczytaj dane czujnika MPU6050. Tutaj używamy tylko danych akcelerometru w kierunku X i Y.

6. Na koniec prześlij dane czujnika za pomocą funkcji radio.write.

Program po stronie odbiornika

1. Jak zwykle uruchom program, dołączając wymagane pliki biblioteki.

2. Zdefiniuj adresy rurki radiowej dla pinów CN i CSN nadajników komunikacyjnych i nRF.

3. Zdefiniuj lewy i prawy pin silnika prądu stałego.

4. Teraz sprawdź, czy radio jest dostępne, czy nie. Jeśli tak, odczytaj dane.

5. Teraz porównaj otrzymane dane i napędzaj silniki zgodnie z warunkami.

Krok 7: Testowanie robota sterowanego gestami dłoni za pomocą Arduino

Gdy sprzęt będzie gotowy, podłącz Arduino po stronie nadajnika i odbiornika do laptopa i prześlij kod. Następnie przesuń akcelerometr MPU6050, aby sterować robotem Car.

Pełne działanie robota sterowanego gestami można znaleźć na filmie.

Zalecana: