Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Chciałem zrobić zabawkę dla mojego syna, zabawkę, która będzie łatwo wchodzić w interakcje, więc pomyślałem o zrobieniu robota, który robiłby facetracking, który mógłby wchodzić z nim w interakcje poprzez dotyk i wyrażać emocje.
Nie mam zbyt dużej wiedzy na temat projektowania 3d, więc zacząłem od projektu, który znalazłem w świecie rzeczy, który można dostosować do moich potrzeb za pomocą Tinkerkad (https://www.tinkercad.com/things/1Qq7jjOXoHh) i (https://www.tinkercad.com/things/hJjcvy2X9Oy)
Mały Timmy podążaj głową za ludźmi, którzy stoją z przodu, możesz pogłaskać jego głowę, a on będzie wydawał dźwięki emocji, a jeśli pogłaskasz go wiele razy po głowie, pokaże serca w oczach.
Możesz zaprogramować nowe zachowanie, na przykład rozpoznawanie mowy, takie jak Alexa, podążać za różnymi obiektami głowy…
Krok 1: Najpierw zbierz wszystkie części i narzędzia
1 Malina pi 3
1 kamera Raspberry pi
1 Arduino lub Genuino Nano V3.0 ATmega328
1 minikabel usb
2 serwa sg90 (do pan i tilt)
2 mini oled 128x64 piksele (dla oczu)
1 brzęczyk (dla dźwięku)
1 czujnik dotykowy (do interakcji z robotem)
1 osłona dla arduino nano
Wiele złączy kablowych Dupont F/F
Drukowane kawałki
Krok 2: Ustawienia drukowania 3D
Little Timmy jest bardzo łatwy do wydrukowania, użyłem niebieskiego koloru do głowy i ciała, a białego koloru do rąk i nóg, do oczu użyłem przezroczystego filamentu, Pliki zmodyfikowane dla zabawki znajdują się na https://www.thingiverse.com/thing:2655550, a oryginalne pliki na
Mój Tinkerkad (https://www.tinkercad.com/things/1Qq7jjOXoHh) i (https://www.tinkercad.com/things/hJjcvy2X9Oy)
Ustawienia to:
Tratwy:Nie
Obsługuje: Nie
Rozdzielczość: 0,2mm
Wypełnienie: 20%
Krok 3: Montaż
Pierwszą rzeczą jest łączenie ramion, rąk, nóg i stóp za pomocą małych śrubek, które miałem w domu, chociaż można użyć kleju.
Drugim jest umieszczenie serw, aby zrobić patelnię i tilk z głową. Serwo znajduje się w korpusie, a drugie w szyi.
Użyłem kleju do połączenia oczu lcd, czujnika dotykowego, aparatu, brzęczyka. Moim zamiarem jest w przyszłości zmodyfikowanie projektu, aby przydzielić komponenty bez użycia kleju.
Krok 4: Połączenie elektryczne
Dla ułatwienia połączenia użyłem Arduino Nano Shield.
Schemat połączenia jest następujący:
Pin D7 czujnik dotykowy
Pin D4 Oś X serwo
Serwomechanizm PinD5 osi Y
Pin D12 brzęczyk
Oba ekrany oled są podłączone do tych samych pinów:
SDA -> A4SCL -> A5
Arduino i malina łączy usb.
Krok 5: Kodeks
Aby zaimplementować facetracking, użyłem otwartej biblioteki cv w Raspberry, zmodyfikowałem przykład, który znalazłem na github, aby wysłać polecenie do Arduino i arduino sterowało serwomechanizmami, czujnikiem i oczami.
Do zakodowania zabawki potrzebujesz:
IDE Arduino
Malina z biblioteką raspbian i opencv oraz pytonem.
Możesz znaleźć kod Arduino i kod Pythona do raspberry na moim githubie (https://github.com/bhm93/littleTimmy)
Musisz uruchomić program face-track-arduino.py w swojej malinie, aby aktywować facetracking.