Roboty odgrywają ważną rolę w automatyzacji we wszystkich sektorach, takich jak budownictwo, wojsko, medycyna, produkcja itp. Po wykonaniu kilku podstawowych robotów, takich jak robot śledzący linię, robot sterowany komputerowo itp., Opracowaliśmy ten oparty na akcelerometrze robot sterowany gestami za pomocą arduino uno. W tym projekcie użyliśmy ruchu ręki do napędzania robota. W tym celu użyliśmy akcelerometru, który działa na przyspieszenie.
Wymagane komponenty
- Arduino UNO
- Silniki DC
- Akcelerometr
- HT12D
- HT12E
- Para RF
- Sterownik silnika L293D
- Bateria 9-woltowa
- Złącze baterii
- Kabel USB
- Robot Chasis
RF Pair:
Gest sterowany Robot jest sterowany za pomocą dłoni zamiast jakiejkolwiek innej metody jak przyciski lub joysticka. Tutaj wystarczy poruszać ręką, aby sterować robotem. W dłoni używane jest urządzenie nadawcze, które zawiera nadajnik RF i miernik przyspieszenia. Spowoduje to przekazanie polecenia robotowi, aby mógł wykonać wymagane zadanie, takie jak poruszanie się do przodu, do tyłu, skręcanie w lewo, skręcanie w prawo i zatrzymywanie się. Wszystkie te zadania będą wykonywane za pomocą gestu dłoni.
Tutaj najważniejszym elementem jest akcelerometr. Akcelerometr to 3-osiowe urządzenie do pomiaru przyspieszenia o zakresie + -3g. Urządzenie to jest wykonane przy użyciu polikrzemowego czujnika powierzchni i obwodu kondycjonującego sygnał do pomiaru przyspieszenia. Wyjście tego urządzenia ma charakter analogowy i jest proporcjonalne do przyspieszenia. To urządzenie mierzy statyczne przyspieszenie grawitacji, gdy je przechylamy. I daje wynik w postaci ruchu lub wibracji.
Zgodnie z kartą techniczną polisilikonu adxl335 o strukturze mikroobrobionej powierzchni, umieszczonej na wierzchu płytki silikonowej. Sprężyny polikrzemowe zawieszają konstrukcję na powierzchni wafla i zapewniają odporność na siły przyspieszenia. Ugięcie konstrukcji jest mierzone za pomocą kondensatora różnicowego, który zawiera niezależne stałe płyty i płytki przymocowane do poruszającej się masy. Stałe płyty są napędzane falami prostokątnymi przesuniętymi w fazie o 180 °. Przyspieszenie odchyla poruszającą się masę i zaburza równowagę kondensatora różnicowego, czego wynikiem jest wyjście czujnika, którego amplituda jest proporcjonalna do przyspieszenia. Następnie do określenia wielkości i kierunku przyspieszenia stosuje się techniki demodulacji wrażliwe na fazę.
Pin Opis akcelerometru
- Zasilanie Vcc 5 V powinno być podłączone do tego pinu.
- X-OUT Ten pin daje wyjście analogowe w kierunku x
- Y-OUT Ten styk daje wyjście analogowe w kierunku y
- Z-OUT Ten styk daje wyjście analogowe w kierunku z
- GND Ground
- ST Ten kołek służy do ustawiania czułości czujnika
Schemat obwodu i wyjaśnienie
Robot sterowany gestami jest podzielony na dwie sekcje:
- Część nadajnika
- Część odbiorcza
W części nadajnika zastosowano akcelerometr i nadajnik RF. Jak już wspomnieliśmy, akcelerometr daje wyjście analogowe, więc tutaj musimy przekonwertować te dane analogowe na cyfrowe. W tym celu użyliśmy 4-kanałowego układu komparatora w miejsce dowolnego przetwornika ADC. Ustawiając napięcie odniesienia, otrzymujemy sygnał cyfrowy, a następnie doprowadzamy ten sygnał do enkodera HT12E w celu zakodowania danych lub przekształcenia ich w postać szeregową, a następnie wysyłamy te dane za pomocą nadajnika RF do środowiska.
Na końcu odbiornika użyliśmy odbiornika RF do odbioru danych, a następnie zastosowaliśmy dekoder HT12D. Ten dekoder IC konwertuje odebrane dane szeregowe na równoległe, a następnie odczytuje je za pomocą arduino. Zgodnie z otrzymanymi danymi napędzamy robota dwoma silnikami prądu stałego w kierunku do przodu, do tyłu, w lewo, w prawo i zatrzymując.
Pracujący
Robot sterowany gestami porusza się zgodnie z ruchem ręki, gdy umieszczamy nadajnik w dłoni. Kiedy przechylamy rękę do przodu, robot zaczyna poruszać się do przodu i kontynuuje ruch do przodu, aż do wydania następnej komendy.
Kiedy przechylimy dłoń do tyłu, robot zmieni swój stan i zacznie poruszać się do tyłu do momentu wydania innego polecenia.
Kiedy przechylimy go w lewą stronę, Robot skręci w lewo do następnej komendy.
Kiedy przechylamy rękę w prawo robot skręca w prawo.
A za zatrzymanie robota trzymamy rękę stabilnie.
Schemat obwodu sekcji nadajnika
Schemat obwodu dla sekcji odbiornika
Obwód tego robota sterowanego gestami dłoni jest dość prosty. Jak pokazano na powyższych schematach, para RF służy do komunikacji i jest połączona z arduino. Sterownik silnika jest podłączony do arduino, aby uruchomić robota. Piny wejściowe sterownika silnika 2, 7, 10 i 15 są połączone z cyfrowym pinem arduino o numerach 6, 5, 4 i 3. Tutaj użyliśmy dwóch silników prądu stałego do napędu robota, w którym jeden silnik jest podłączony do styku wyjściowego sterownika silnika 3 i 6, a drugi silnik jest podłączony do 11 i 14. Bateria 9 V jest również używana do zasilania sterownika silnika do napędzania silników.
Objaśnienie programu
W programie przede wszystkim zdefiniowaliśmy piny wyjściowe dla silników.
Następnie w konfiguracji podaliśmy wskazówki dotyczące przypięcia.
Następnie czytamy dane wejściowe za pomocą instrukcji „if” i wykonujemy operację względną.
Istnieje łącznie pięć warunków dla tego robota sterowanego gestami, które są podane poniżej:
Ruch ręki |
Wejście dla Arduino z gestu |
||||
Bok |
D3 |
D2 |
D1 |
D0 |
Kierunek |
Stabilny |
0 |
0 |
0 |
0 |
Zatrzymać |
Przechyl w prawo |
0 |
0 |
0 |
1 |
Skręć w prawo |
Przechyl w lewo |
0 |
0 |
1 |
0 |
Skręć w lewo |
Przechylić |
1 |
0 |
0 |
0 |
Do tyłu |
Przechyl przód |
0 |
1 |
0 |
0 |
Naprzód |
Napisaliśmy cały program zgodnie z powyższymi warunkami tabeli. Poniżej znajduje się pełny kod.