Spisu treści:

[Robot Arduino] Jak zrobić robota do przechwytywania ruchu - Kciuki Robota - Silnik serwo - Kod źródłowy: 26 kroków (ze zdjęciami)
[Robot Arduino] Jak zrobić robota do przechwytywania ruchu - Kciuki Robota - Silnik serwo - Kod źródłowy: 26 kroków (ze zdjęciami)

Wideo: [Robot Arduino] Jak zrobić robota do przechwytywania ruchu - Kciuki Robota - Silnik serwo - Kod źródłowy: 26 kroków (ze zdjęciami)

Wideo: [Robot Arduino] Jak zrobić robota do przechwytywania ruchu - Kciuki Robota - Silnik serwo - Kod źródłowy: 26 kroków (ze zdjęciami)
Wideo: Arduino 1: POCZĄTEK 2024, Listopad
Anonim
Image
Image
[Robot Arduino] Jak zrobić robota do przechwytywania ruchu | Kciuki Robota | Silnik serwo | Kod źródłowy
[Robot Arduino] Jak zrobić robota do przechwytywania ruchu | Kciuki Robota | Silnik serwo | Kod źródłowy

Kciuki Robota. Zastosowano potencjometr serwomotoru MG90S. To bardzo zabawne i łatwe! Kod jest bardzo prosty. To tylko około 30 linii. Wygląda jak przechwytywanie ruchu.

Proszę zostawić jakiekolwiek pytanie lub opinię!

[Instrukcja]

  • Kod źródłowy
  • Pliki do drukowania 3D

[O twórcy]

Youtube

Krok 1: CZĘŚCI ARDUINO

CZĘŚCI ARDUINO
CZĘŚCI ARDUINO
CZĘŚCI ARDUINO
CZĘŚCI ARDUINO
CZĘŚCI ARDUINO
CZĘŚCI ARDUINO

Zainstaluj Arduino IDE

https://www.arduino.cc/en/Main/Software

Zainstaluj sterownik CH340 (dla wersji chińskiej)

https://www.wch.cn/download/CH341SER_ZIP.html

POBIERZ - kod źródłowy

  • https://github.com/happythingsmaker/ThumbsRobot
  • Jak widać, jest tam plik zip. Wyodrębnij cały plik i kliknij dwukrotnie plik z kodem źródłowym.

Wybierz kartę / procesor / port Com

  • Arduino Nano
  • ATmega328P (stary bootloader)

Podłącz swoje arduino nano

Podłącz kabel USB i pojawi się nowy port

Znajdź / wybierz wschodzący port com

  • Kliknij wyświetlony port i naciśnij przycisk przesyłania
  • Naciśnij przycisk przesyłania

Krok 2: CZĘŚCI DO DRUKU 3D

CZĘŚCI DO DRUKU 3D
CZĘŚCI DO DRUKU 3D

Pobierz pliki modelowania 3D z Thingiverse

https://www.thingiverse.com/thing:2844993

Wydrukuj wszystkie części jedna po drugiej

Krok 3: Część obwodu

Część obwodu
Część obwodu

Użyj karty rozszerzeń Arduino Nano. Ponieważ samo Arduino Nano nie ma wielu pinów, konieczne będzie zastosowanie płytki rozszerzającej.

Kiedy spojrzysz na okablowanie podłączone do silnika, zobaczysz trzy kolory. Żółty, czerwony i brązowy. Brąz musi być połączony z G (Uziemienie).

W kolejnych krokach przyjrzymy się temu ponownie.

Krok 4: CZĘŚĆ SPRZĘTOWA - Przygotuj wszystkie części

CZĘŚĆ SPRZĘTOWA-przygotuj wszystkie części
CZĘŚĆ SPRZĘTOWA-przygotuj wszystkie części

[Części]

  • 1 x Arduino Nano
  • 1 x karta rozszerzeń Arduino Nano
  • 6 x serwosilniki
  • 2 x kulki do oczu z zabawkami
  • 12 x śruby śrubowe (2*6mm)

[Narzędzia]

  • Drukarka 3d (Anet A8)
  • Filament do druku 3d (PLA 1,75mm)
  • Szczypce do drutu
  • Ściernica do przewodów
  • Pistolet do klejenia na gorąco
  • Śrubokręt (+)
  • Taśma elektroniczna
  • Narzędzia lutownicze (Hakko)
  • Ręka lutownicza
  • Wkrętak elektryczny

Krok 5: Zmień 3 serwomotory na czujnik położenia

Poniższe kroki pokazują, jak zmodyfikować serwomotor w czujnik położenia. w zasadzie większość serwosilników ma potencjometr lub enkoder do uzyskiwania wartości kąta.

Wykorzystamy sam potencjometr. musimy otworzyć obudowę, zdemontować płytkę i ponownie ją podłączyć.

Krok 6: Odkręć 4 śruby z tyłu i otwórz przednią obudowę

Odkręć 4 śruby z tyłu i otwórz przednią obudowę
Odkręć 4 śruby z tyłu i otwórz przednią obudowę
Odkręć 4 śruby z tyłu i otwórz przednią obudowę
Odkręć 4 śruby z tyłu i otwórz przednią obudowę

Potrzebny będzie mały śrubokręt, ponieważ są za małe. Silnik ma 3 części - przód, korpus i tył.

Kiedy otworzysz przednią stronę, zobaczysz koła zębate. Właściwie nie używamy tego silnika jako „silnika”. Tak więc teoretycznie koła zębate nie są już potrzebne. Ale wykorzystamy część z nich, aby kąt działania nadal miał ograniczenie obrotu.

Krok 7: Usuń trzeci bieg

Usuń trzeci bieg
Usuń trzeci bieg
Usuń trzeci bieg
Usuń trzeci bieg
Usuń trzeci bieg
Usuń trzeci bieg

Potencjometr w serwomotorze ma ograniczenie kątowe, które wynosi około 180 stopni. Potencjometr ma swój własny mechanizm ograniczający, ale jest tak słaby. Często łatwo się łamie. Aby go chronić, przekładnia daje inny mechanizm. Pierwszy bieg posiada plastikowy zderzak, który będzie stykał się z drugim biegiem.

Zdecydowanie potrzebujemy pierwszego biegu do całej ramy, drugi bieg jest potrzebny do ograniczenia. Więc nie możemy się ich pozbyć. Zamiast nich możemy zdjąć trzeci bieg.

Możesz się zastanawiać, dlaczego musimy zdjąć sprzęt. Te trzy serwomotory będą używane do uzyskania informacji o kącie. Jeśli są w nich koła zębate, ruch będzie sztywny. Musimy więc pozbyć się od nich jednego sprzętu.

Krok 8: Ponowne okablowanie / lutowanie

Ponowne okablowanie / lutowanie
Ponowne okablowanie / lutowanie

Przetnij przewody, które są połączone z silnikami.

Krok 9: Użyj lutownicy i odłącz płytkę

Użyj lutownicy i odłącz płytkę
Użyj lutownicy i odłącz płytkę
Użyj lutownicy i odłącz płytkę
Użyj lutownicy i odłącz płytkę

Krok 10: Przetnij przewód i przygotuj się do lutowania

Wytnij drut i przygotuj się do lutowania
Wytnij drut i przygotuj się do lutowania
Wytnij drut i przygotuj się do lutowania
Wytnij drut i przygotuj się do lutowania

i nałóż trochę pasty i połóż trochę ołowiu na kablu

Krok 11: Przylutuj to

Przylutuj to
Przylutuj to
Przylutuj to
Przylutuj to
Przylutuj to
Przylutuj to
Przylutuj to
Przylutuj to

z lewej strony czerwono żółto-brązowy

Krok 12: Nałóż trochę kleju

Nałóż trochę kleju
Nałóż trochę kleju
Nałóż na to trochę kleju
Nałóż na to trochę kleju

i odzyskaj jego tylną stronę

Potrzebujemy jeszcze 2 potencjometrów. wykonaj tę samą pracę dla dwóch innych silników

Krok 13: Zrób pierwszą wspólną piwnicę

Zrób pierwszą wspólną piwnicę
Zrób pierwszą wspólną piwnicę
Zrób pierwszą wspólną piwnicę
Zrób pierwszą wspólną piwnicę
Zrób pierwszą wspólną piwnicę
Zrób pierwszą wspólną piwnicę

Do wykonania tego projektu użyłem deski do gotowania. jest tani i twardy w użyciu. Aby przymocować ramkę do tablicy, będziesz musiał użyć śrub z ostrym końcem. Wykonuje jednocześnie otwór i gwint.

Jest 6 silników. 3 silniki po lewej stronie to oryginalne silniki. z drugiej strony istnieją 3 silniki, które są modyfikowane przed krokiem.

Krok 14: Wykonaj połączenie odchylenia

Zrób staw odchylenia
Zrób staw odchylenia
Zrób staw odchylenia
Zrób staw odchylenia

Będziesz musiał użyć śruby M2 * 6mm.

Krok 15: Zamontuj złącze odchylenia z pierwszym silnikiem

Zamontuj połączenie odchylenia z pierwszym silnikiem
Zamontuj połączenie odchylenia z pierwszym silnikiem
Zamontuj połączenie odchylenia z pierwszym silnikiem
Zamontuj połączenie odchylenia z pierwszym silnikiem

Jak widać na ostatnim obrazku, spoinę należy ustawić w kierunku poziomym. A lokalizacja powinna wynosić 90 stopni zarówno silnika, jak i potencjometru.

Innymi słowy, możesz obracać te złącza odchylające o 90 stopni zgodnie z ruchem wskazówek zegara i przeciwnie do ruchu wskazówek zegara od tej lokalizacji.

Krok 16: Złóż Arduino Nano z płytką rozszerzającą Arduino Nano

Złóż Arduino Nano z płytką rozszerzającą Arduino Nano
Złóż Arduino Nano z płytką rozszerzającą Arduino Nano
Złóż Arduino Nano z płytką rozszerzającą Arduino Nano
Złóż Arduino Nano z płytką rozszerzającą Arduino Nano

Upewnij się, że kierunek. Port USB będzie znajdował się po tej samej stronie co gniazdo DC.

Krok 17: Połączenie pierwszej warstwy

Połączenie pierwszej warstwy
Połączenie pierwszej warstwy
Połączenie pierwszej warstwy
Połączenie pierwszej warstwy

Potencjometr jest połączony z pinem Analog 0 Arduino. Musisz go prawidłowo podłączyć. Ten Arduino Nano ma 8-kanałowy przetwornik ADC (przetwornik analogowo-cyfrowy). Zasadniczo potencjometr podaje poziom analogowy lub napięcie. Możesz odczytać tę wartość wolta za pomocą pinów ADC

Z drugiej strony silnik servo jest połączony z Digital 9 Arduino. Silniki serwo mogą być sterowane za pomocą modulacji szerokości impulsu (PWM). Arduino Nano posiada 6-kanałowy pin PWM (pin 9, 10, 11, 3, 5 i 6). Możemy więc użyć do 6 serwosilników.

Na tym etapie kod źródłowy wygląda tak

#włączać

Servo servo[6];unieważnij setup() { pinMode(A0, INPUT); servo[0].attach(9);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180));}

Krok 18: Złóż drugą warstwę

Złóż drugą warstwę
Złóż drugą warstwę
Złóż drugą warstwę
Złóż drugą warstwę
Złóż drugą warstwę
Złóż drugą warstwę
Złóż drugą warstwę
Złóż drugą warstwę

Druga warstwa jest również prosta do wykonania. To, na co musisz uważać, to umieszczenie go we właściwym miejscu po podłączeniu kabla do Arduino.

  • Lewy serwomotor jest połączony z pinem 10
  • Prawy potencjometr jest połączony z A1

#włączać

Servo servo[6];unieważnij setup() { pinMode(A0, INPUT); pinMode(A1, WEJŚCIE); serwo[0].attach(9); servo[1].attach(10);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180)); tempADC[1] = odczyt analogowy(A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180));}

Krok 19: Złóż ramki trzeciej warstwy

Zamontuj ramki trzeciej warstwy
Zamontuj ramki trzeciej warstwy

Krok 20: Złóż ramę z drugim silnikiem / potencjometrem

Złóż ramę z drugim silnikiem / potencjometrem
Złóż ramę z drugim silnikiem / potencjometrem
Złóż ramę z drugim silnikiem / potencjometrem
Złóż ramę z drugim silnikiem / potencjometrem
Złóż ramę z drugim silnikiem / potencjometrem
Złóż ramę z drugim silnikiem / potencjometrem
Złóż ramę z drugim silnikiem / potencjometrem
Złóż ramę z drugim silnikiem / potencjometrem

Krok 21: Zamontuj trzeci silnik we wspólnej ramie

Zamontuj trzeci silnik we wspólnej ramie
Zamontuj trzeci silnik we wspólnej ramie
Zamontuj trzeci silnik we wspólnej ramie
Zamontuj trzeci silnik we wspólnej ramie

Krok 22: Podłącz kabel do Arduino

Podłącz kabel do Arduino
Podłącz kabel do Arduino
Podłącz kabel do Arduino
Podłącz kabel do Arduino
  • Trzeci silnik jest połączony z pinem 11
  • Trzeci potencjometr jest połączony z A2

kod wygląda tak

#include Servo servo[6];unieważnij ustawienia() { pinMode(A0, INPUT); pinMode(A1, WEJŚCIE); pinMode(A2, WEJŚCIE); serwo[0].attach(9); serwo[1].attach(10); servo[2].attach(11);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180)); tempADC[1] = odczyt analogowy(A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180)); tempADC[2] = odczyt analogowy (A2); servo[2].write(map(tempADC[2], 0, 1023, 0, 180));}

Krok 23: Zamontuj ramkę kciuka

Zamontuj ramkę kciuków
Zamontuj ramkę kciuków
Zamontuj ramkę kciuków
Zamontuj ramkę kciuków

Krok 24: Sprawdź i dostosuj kąt

Sprawdź i dostosuj kąt
Sprawdź i dostosuj kąt
Sprawdź i dostosuj kąt
Sprawdź i dostosuj kąt
Sprawdź i dostosuj kąt
Sprawdź i dostosuj kąt

Podłącz kabel USB do dowolnego źródła zasilania, a robot wkrótce się włączy. Kąt może się nieznacznie różnić. Ustaw kąt jeden po drugim.

Krok 25: Jeszcze jeden robot?

Jeszcze jeden robot?
Jeszcze jeden robot?
Jeszcze jeden robot?
Jeszcze jeden robot?

Jeśli chcesz zrobić jeszcze jednego robota, możesz to zrobić. Podłącz serwa do 3, 5 i 6.

#włącz serwomechanizm[6]; void setup() { pinMode(A0, INPUT); pinMode(A1, WEJŚCIE); pinMode(A2, WEJŚCIE); serwo[0].attach(9); serwo[1].attach(10); serwo[2].attach(11); serwo[3].attach(3); serwo[4].attach(5); servo[5].attach(6);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180)); servo[3].write(map(tempADC[0], 0, 1023, 0, 180)); tempADC[1] = odczyt analogowy(A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180)); servo[4].write(map(tempADC[1], 0, 1023, 0, 180)); tempADC[2] = odczyt analogowy (A2); servo[2].write(map(tempADC[2], 0, 1023, 0, 180)); servo[5].write(map(tempADC[2], 0, 1023, 0, 180));}

Krok 26: Gotowe

Gotowe!
Gotowe!
Gotowe!
Gotowe!
Gotowe!
Gotowe!

Jeśli masz jakieś pytanie, zostaw je:)

Konkurs na mikrokontrolery
Konkurs na mikrokontrolery
Konkurs na mikrokontrolery
Konkurs na mikrokontrolery

Drugie miejsce w konkursie mikrokontrolerów

Zalecana: