Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

Cześć, dziś pokaże wam jak zrobić Rękę sterowaną bezprzewodowo!

Założenia projektu:

  • zdalne sterowanie, nadajnik w formie rękawicy
  • naśladowanie ruchów
  • gra w kamień, papier, nożyce
  • wyświetlanie informacji na wyświetlaczu

 

Potrzebne elementy (ręka):

-elementy drukowane w 3d;

-5x serwomechanizmy MG996R; 

-5x orczyki metalowe okrągły 25T;

-cienka, mocna linka; 

Opublikuj swój projekt i odbierz 50% rabatu do wykorzystania w sklepie Nettigo.pl

-śrubki;

arduino nano;

-moduł NRF24L01;

-kondensatory elektrolityczny 2x(min.1000uF), kondensator ceramiczny(100nF);

-przełącznik;

-płytka do lutowania;

-goldpiny męskie;

-goldpin żeńskie;

-trochę przewodów;

Potrzebne elementy (nadajnik):

-rękawica (np.ogrodowa);

-5x zgięcia 11,5cm;

-bateria 9v;

-kilka trytytek;

-płytka prototypowa;

-goldpiny żeńskie;

-goldpiny męskie kątowe potrójne;

-5x rezystor 47K;

-przetwornica step-down na 5v;

-arduino nano;

-moduł NRF24L01;

-enkoder;

-wyświetlacz oled (ssd1306 128×64);

-przewody, złącze do bateri 9v, złącze od płyty głównej;

Budowa Nadajnika:

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

Do rękawicy ogrodowej przy pomocy kilku trytytek przymocowałem 11 centymetrowe czujniki zgięcia. Należy zrobić to w ten sposób, aby zginana była tylko część do tego przeznaczona, w innym przypadku czujnik się uszkodzi. Do wyprowadzeń czujników zgięcia dolutowałem po dwa przewody, kabel ma 10 przewodów i na końcu wtyczkę 5×2 (kabel od kompa chyba); 

Płytka z enkoderem i płytka główna oraz bateria 9v, przymocowane są do rękawicy trytytkami. Wyświetlacz trzymają dwa sztywne przewody przylutowane na stałe do płytki.

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

Płytka lutowałem sam, „na pająka”. Na płytce znajdują się rezystory(47kOhM), moduł komunikacji NRF24L01, przetwornica napięcia obniżająca napięcie baterii (9v na 5v dla Arduino), mózgiem nadajnika jest Arduino Nano. Wyświetlacz wyświetla dość podstawowe funkcję, takie jak:

-naśladowanie (rękawica wysyła informacje do ręki)

-kamień,papier,nożyce (rękawica losuje i szczytuję wartości z rękawicy oraz wysyła gotowe komendy do ręki)

-pokazywanie wybranych na rękawicy ułożeń palców

-informacje o autorze i wersji oprogramowania

Schemat Nadajnika

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

 

KOD Nadajnika:

///////////////////////////////////////////////////////////////

Budowa odbiornika(ręka):

Części potrzebne do wykonania ręki zostały wydrukowane na drukarce 3d, link do dysku google z częściami do pobrania. Projekt ręki został pobrany z strony projektu InMoove, można tam pobrać i zobaczyć wszystkie części humanoidalnego robota InMoove wraz z ich szczegółowym opisem i poradnikami dotyczącymi budowy.

Po wydrukowania wszystkich części, należy je przygotować do składania wszystkie otwory przewiercić, a miejsca stawów wyszlifować  (można też użyć smaru lub innego specyfiku, aby obie części ruszały się z mniejszymi oporami). Dwie największe części należy skleić klejem do wydruków 3d, w moim przypadku złączone zostały przy użyciu długopisu 3d oraz zapalniczki rozgrzewając miejsce łączenia, na koniec polałem mocno rozgrzanym klejem na gorąco.

Złożenie palców jest dość proste, odcinamy dwa odcinki z mocnej i cienkiej linki, około 40-50cm. Przeciągamy je przez otwory (pamiętaj aby linka górna, cały czas szła górnymi otworami i na odwrót). Palce skręcone zostały przy pomocy śrubek i nakrętek, pamiętaj aby nie były zbyt mocno dokręcone, uniemożliwi to ruch palca. Na tym etapie nie przyklejaj końcówki palców.

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!


Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

I tak każdy palec, dalej palce łączymy z dłonią. Pamiętaj o przeciągnięciu linek przez otwory, na każdy palec przypadają trzy otwory znajdujące się jeden nad drugim. Przez dolny przeciągnij linkę od prostowania palca, środkowy otwór służy do przewodów od czujników nacisku (zostawiamy je puste), przez górny otwór przeciągnij linkę od zginania palca.

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

Następnym etapem jest połączenie dłoni z resztą ręki, łączy się je przy pomocy wydrukowanej śruby. Pamiętaj, aby linki odpowiadające za zginanie były na górze, a linki od prostowania na dole śruby i nie plątały się. 

Teraz wydrukowany element do trzymania serw przykręcamy do ręki w wyznaczonym miejscu, przykręcamy do niego także elementy podtrzymujące linki. Kolejnym krokiem będzie przykręcenie serw na odpowiednie miejsca i w odpowiedniej orientacji oraz wyprowadzenie od nich przewodów. Powinny wyglądać tak (nie zwracaj uwagi na linki) ;)

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

Kolejnym i zarazem najcięższym i najbardziej czasochłonnym procesem jest naciąganie i dostrajanie linek, przeciągnij wszystkie linki przez odpowiadające im otwory(pamiętaj, aby nie ocierały się, ani nie stykały ze sobą w żaden sposób). Teraz musisz przywiązać do śrub końcówki linek, teraz ustawiając serwo trochę przed skrajną pozycją przywiązać linkę na końcówce palca na śrubce tak, aby były możliwie zgięte lub wyprostowane w zależności od linki i tak z każdym palcem. Jest z tym trochę pracy, i ciężko jest to wytłumaczyć lecz z każdym kolejnym palcem wychodzi coraz lepiej. Ważne jest aby na każdej z skrajnych pozycji serwa tzn. 0 i 180 stopni palec był na maksa zgięty lub na maksa wyprostowany, a linka była mocno naprężona.

Teraz można przykleić końcówki palców przy pomocy gorącego kleju, powinno to wyglądać mniej więcej tak;

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

Kolejnym krokiem jest sprawdzenie, jaki maksymalny i minimalny kąt wychylenia ma każdy palec. Sprawdzić to można wgrywając ten kod:

Teraz przy pomocy serial monitora zapisz wartości minimalne i maksymalne dla każdego serwa, potem będą potrzebne. 

KOD Odbiornika:

Podsumowanie projektu

Projekt uważam za udany, jest to na pewno fajny gadżet dla każdego majsterkowicza lub elektronika. W dodatku jest to to tylko jeden z wielu podzespołów jakie możemy wydrukować i wykonać w domu, więcej elementów oraz innych „robotycznych części ciała” możemy znaleźć na stronię projektu InMoov . W dodatku każdy, w łatwy sposób może rozwinąć mój kod o dodatkowe funkcję lub kolejne gry, zależy od waszych chęci. Co do kosztów i czasu wydruku, to są dość spore, efekt końcowy jest jednak tego wart. 

W razie pytań piszcie w komentarzach pod spodem artykułu.

pliki do pobrania.

Cześć!

Pliki załączone do artykułu:

Ocena: 5/5 (głosów: 7)
Nettigo - patron działu Elektronika

Podobne posty

8 komentarzy do “Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

  • Wow, kawał niezłej roboty! Gratuluję samozaparcia w składaniu całości. Fajnie, że dodałeś czytelne komentarze w kodzie, duży plus za to bo ułatwia też innym nauczenie się czegoś :) 5/5!

    Odpowiedz
    • Sama elektronika kosztowała około 450zł, nie licząc płytek drukowanych, baterii, mocowania do baterii oraz przewodów, które były pod ręką. Najdroższe okazały się czujniki zgięcia około 70 dych za sztukę, a jest ich pięć. Koszt wydruku trudno oszacować, zrobiona została z pla, na oko poszło z 500-600 gram. Rękawice, trytytki i śrubki też były pod ręką więc ich nie liczę. Całkowity koszt to około 600zł.

      Odpowiedz
  • Świetny pomysł i fajne tryby :) Jak pozwolisz odrobinkę przyczepię się do kodu, ale nie traktuj tego jako krytykę ale jedynie jako dobre rady:
    – masz dużo powtarzających się fragmentów np :
    display.setCursor(15,20);
    display.setTextColor(0,1);
    display.setTextSize(2);
    display.print(” Bay,Bay „);
    display.display();
    gdzie zmianiane jest tylko napis wyświetlany, lepiej utworzyć funkcję i do niej przekazywać ten jeden tekst do wyśweietlenia.

    – podobnie:
    dane[0] = 6; //Jeden, oznacza wybraną stronę. potrzebną odbiornikowi
    dane[1] = 0;
    dane[2] = 0; //mapowanie odczytów z pinów
    dane[3] = 0; //analogowych na ruch serw.
    dane[4] = 0;
    dane[5] = 0;
    tutaj tez funkcja z parametrem int co idzie do dane[1] a drugi parametr to wskaznik do tablicy czyli woalnie wyglada tak ustaw(6,dane);
    – if(plus == true){ -> poprostu if (plus)
    – while(!plus); to jest dla mnie nie zrozumiale (chyba pozostalosc po przerwaniach)
    – poczytaj też o makrze F() – zaoszczedzisz duzo RAMu a dzieki temu też arduino będzie działać stabilniej ( zwłaszcza gdy RAM jest już na wyczerpaniu)

    Powodzenia w dalszym programowaniu :)

    Odpowiedz

Odpowiedz

anuluj

Ręka wydrukowana w 3D, sterowana Bzprzewodowo!

Nie przegap nowych projektów!

Zapisując się na nasz Newsletter będziesz miał pewność, że nie przegapisz żadnego nowego projektu opublikowanego w Majsterkowie!

Od teraz nie przegapisz żadnego projektu!

Masz uwagi?