Spisu treści:

Robot rzucający cukierkami z Arduino, częściami z recyklingu i Dlib.: 6 kroków
Robot rzucający cukierkami z Arduino, częściami z recyklingu i Dlib.: 6 kroków

Wideo: Robot rzucający cukierkami z Arduino, częściami z recyklingu i Dlib.: 6 kroków

Wideo: Robot rzucający cukierkami z Arduino, częściami z recyklingu i Dlib.: 6 kroków
Wideo: RZĘCH Z XP. Tydzień ze złomem. Sezon 2, podsumowanie. 2024, Listopad
Anonim
Robot rzucający cukierkami z Arduino, częściami z recyklingu i Dlib
Robot rzucający cukierkami z Arduino, częściami z recyklingu i Dlib

Dzięki kilku częściom z recyklingu, osłonie silnika Arduino + i oprogramowaniu komputerowemu Dlib możesz stworzyć działający miotacz cukierków do wykrywania twarzy.

Materiały:

  • Drewniana rama
  • Laptop/komputer (najlepiej o jeden mocniejszy niż Raspberry Pi!).
  • Arduino (najlepiej Uno lub taki, który pasuje do twojej osłony silnika.)
  • Osłona silnika Arduino (użyłem starej osłony Adafruit, która nadal jest tutaj sprzedawana)
  • Dowolna standardowa kamera internetowa
  • Mała podkładka

Części z recyklingu:

  • Obudowa (stare metalowe pudełko działa dobrze.)
  • Silnik krokowy, silnik prądu stałego ze zdemontowanej starej drukarki.
  • Stary zasilacz drukarki
  • Dozownik cukierków (duży pojemnik na jogurt).

Wnętrze gotowego produktu będzie wyglądać trochę jak załączony przegląd.

Ostrzeżenie

Upewnij się, że odłączyłeś zasilanie od konfiguracji Arduino/silnika przed okablowaniem/ponownym okablowaniem. Upewnij się, że podłączasz zasilanie z właściwą polaryzacją!

Jest to projekt na poziomie średniozaawansowanym wykorzystujący Arduino i oprogramowanie, które musisz zainstalować lub skompilować na swoim komputerze. Instrukcje mogą się różnić i zostały przetestowane na Ubuntu.

Może być konieczne dostosowanie kodu Arduino do dowolnej używanej osłony silnika, jeśli nie używasz starej osłony silnika Adafruit.

Krok 1: Wywierć, podłącz i zamontuj silnik

Wywierć, podłącz i zamontuj silnik
Wywierć, podłącz i zamontuj silnik
Wywierć, podłącz i zamontuj silnik
Wywierć, podłącz i zamontuj silnik

Wywierć otwory w obudowie, mocując silnik krokowy, aby kamera internetowa mogła się poruszać na górze, a dozownik obracać się na dole.

Silniki krokowe mogą poruszać się w małych krokach (4 przewody), w przeciwieństwie do silników prądu stałego (2 przewody), które działają do tyłu/do przodu, a nie krokami.

Silnik prądu stałego ma 2 przewody (działa w obie strony), opcjonalny silnik krokowy będzie miał 4 w dwóch cewkach (przetestuj miernikiem rezystancji multimetru, aby zobaczyć, gdzie cewki są podłączone, jak opisano tutaj).

Jeśli używasz starej osłony Adafruit, jak w moim przykładzie, powinieneś podłączyć silnik DC candy spinner do silnika #3, a stepper do pierwszych dwóch silników (#1, #2), jak opisano w ich dokumentacji.

Po podłączeniu podłącz silniki do Arduino Motor Shield podłączonego do Arduino. Aby uzyskać najlepsze wyniki, zaleca się posiadanie drugiego zasilacza do silników, który można podłączyć do wyjścia prądu stałego na brodawce ściennej o wartości 2 USD ze sklepu z używanymi rzeczami.

Krok 2: Mocowanie pojemnika

Mocowanie pojemnika
Mocowanie pojemnika
Mocowanie pojemnika
Mocowanie pojemnika
Mocowanie pojemnika
Mocowanie pojemnika
Mocowanie pojemnika
Mocowanie pojemnika

Odmierz środek pojemnika po jogurcie lub innego dużego plastikowego pojemnika i wywierć uchwyt nieco większy niż koniec silnika.

Przymocuj pojemnik do pudełka za pomocą małej podkładki - przyklej Krazy do dna pojemnika i do wrzeciona silnika elektrycznego.

Pozostaw klej do wyschnięcia na dzień lub dwa, aby w pełni stwardniał - możesz umieścić małą przekładkę między pudełkiem a wirującym pojemnikiem, aby upewnić się, że nie jest krzywy.

Krok 3: Zrób mały otwór na miotacz cukierków

Zrób mały otwór na miotacz cukierków
Zrób mały otwór na miotacz cukierków

Po prawidłowym zamocowaniu spinnera, użyj końca ostrego noża, aby zarysować mały otwór na cukierki, które należy wyrzucić z końca - powinien znajdować się tuż nad dnem, w miejscu, w którym znajduje się warga.

(Aby uzyskać najlepsze wyniki, na koniec pokrywki dozownika, który będzie dnem, można załadować około 30 cukierków).

Delikatnie obrysuj ostrym nożem, aż wyskoczy, pozostawiając mały otwór (możesz później rozszerzyć otwór w razie potrzeby).

Krok 4: Konfiguracja Arduino

Jeśli jeszcze nie zainstalowałeś oprogramowania Arduino, pobierz je z

www.arduino.cc/en/Main/Software

Każda najnowsza wersja powinna działać.

Przetestuj silnik DC/Stepper z przykładami podanymi w przykładowym kodzie Arduino Shield.

Jeśli używasz tej osłony (nadal dostępnej u niektórych sprzedawców), możesz użyć mojego kodu bezpośrednio:

github.com/programmin1/HowToTrainYourRobot…

Po przetestowaniu i wydaniu cukierków, wpisując „d” w oknie szeregowym Arduino, nadszedł czas, aby połączyć to z aparatem rozpoznawania Dlib.

Krok 5: Konfiguracja Dlib

Dlib (https://dlib.net/) udostępnia otwartą, łatwą w użyciu bibliotekę do rozpoznawania obrazów. Zainstaluj moduł Python Dlib za pomocą:

sudo pip zainstaluj Dlib

- lub -

sudo easy_install Dlib

Poczekaj, aż Dlib się zainstaluje i skompiluje. (Będziesz potrzebował komputera z najlepiej kilkoma gigabajtami pamięci RAM lub będziesz musiał długo czekać i rozszerzyć przestrzeń wymiany). Kod używa również OpenCV dla modułu kamery internetowej, więc uruchom:

sudo apt-get zainstaluj python-opencv

Kroki instalacji mogą się różnić w przypadku korzystania z systemu MacOS lub innych systemów operacyjnych.

Teraz pobierz dane punktów orientacyjnych wykrywania twarzy z

dlib.net/files/shape_predictor_68_face_land…

Rozpakuj go (za pomocą Archive Manager / 7zip) i umieść w HOME/Downloads/shape_predictor_68_face_landmarks.dat

Krok 6: Podłączanie rozpoznawania twarzy do robota

Podłączanie rozpoznawania twarzy do robota
Podłączanie rozpoznawania twarzy do robota

Podłącz USB kontrolujący Arduino do komputera i sprawdź, czy istnieje plik „/dev/ttyACM0” (jest to urządzenie do wysyłania poleceń szeregowych). Jeśli to nie działa, a inny katalog o podobnej nazwie pojawia się w /dev po podłączeniu, zastąp /dev/ttyACM0 w pliku faceDetectThreadCorrelationCV2FaceSmile.py w repozytorium.

Podłącz kamerę internetową (jeśli nie ma wbudowanej kamery internetowej w używanym komputerze) i uruchom ten plik.py w wierszu poleceń lub za pomocą polecenia Uruchom/F5 w edytorze tekstu Geany. Jeśli chcesz używać drugiej/zewnętrznej kamery internetowej na laptopie, możesz zmienić „VideoCapture(0)” na „VideoCapture(1)”, aby użyć drugiej kamery internetowej, którą można umieścić na silniku krokowym na obudowie robota.

Jeśli wszystko pójdzie dobrze, zobaczysz zarys uśmiechu, gdy twarz znajduje się przed kamerą internetową.

Przeczytaj omówienie i kod źródłowy pliku.py, aby zobaczyć, jak działa wykrywanie uśmiechu na podstawie punktów, które Dlib daje w ramach funkcji charakterystycznej twarzy.:)

Zalecana: