Innholdsfortegnelse:

[Arduino Robot] Hvordan lage en Motion Capture Robot - Tommelrobot - Servomotor - Kildekode: 26 trinn (med bilder)
[Arduino Robot] Hvordan lage en Motion Capture Robot - Tommelrobot - Servomotor - Kildekode: 26 trinn (med bilder)

Video: [Arduino Robot] Hvordan lage en Motion Capture Robot - Tommelrobot - Servomotor - Kildekode: 26 trinn (med bilder)

Video: [Arduino Robot] Hvordan lage en Motion Capture Robot - Tommelrobot - Servomotor - Kildekode: 26 trinn (med bilder)
Video: #91 Arduino-related Product Review 2024, November
Anonim
Image
Image
[Arduino Robot] Hvordan lage en Motion Capture Robot | Tommelrobot | Servomotor | Kildekode
[Arduino Robot] Hvordan lage en Motion Capture Robot | Tommelrobot | Servomotor | Kildekode

Tommel Robot. Brukte et potensiometer for MG90S servomotor. Det er veldig morsomt og enkelt! Koden er veldig enkel. Det er bare rundt 30 linjer. Det ser ut som en motion-capture.

Vennligst legg igjen spørsmål eller tilbakemeldinger!

[Instruksjon]

  • Kildekode
  • 3D -utskriftsfiler

[Om produsenten]

Youtube

Trinn 1: ARDUINO PARTS

ARDUINO DELER
ARDUINO DELER
ARDUINO DELER
ARDUINO DELER
ARDUINO DELER
ARDUINO DELER

Installer Arduino IDE

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

Installer CH340 Driver (for kinesisk versjon)

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

LAST NED - kildekoden

  • https://github.com/happythingsmaker/ThumbsRobot
  • Som du kan se er det en zip -fil. Pakk ut all fil og dobbeltklikk på kildekodefilen.

Velg brett / prosessor / com -port

  • Arduino Nano
  • ATmega328P (Old Bootloader)

Koble til din arduino nano

Koble til USB -kabelen, og en ny port vises

Finn / velg den nye porten

  • Klikk på porten som dukket opp og trykk på opplastingsknappen
  • Trykk på opplastingsknappen

Trinn 2: 3D -UTSKRIFTSDELER

3D -UTSKRIFTSDELER
3D -UTSKRIFTSDELER

Last ned 3D -modelleringsfiler fra Thingiverse

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

Skriv ut alle delene en etter en

Trinn 3: Kretsdel

Kretsdel
Kretsdel

Bruk Arduino Nano Expansion Board. Fordi Arduino Nano i seg selv ikke har mange pinner, må du bruke et utvidelseskort.

Når du ser på ledningene som er koblet til motoren, kan du se tre farger. Gul, rød og brun. Brun må være forbundet med G (bakken).

I de følgende trinnene vil vi se nærmere på det igjen.

Trinn 4: MASKINDEL - Forbered alle delene

MASKINDEL - Forbered alle delene
MASKINDEL - Forbered alle delene

[Deler]

  • 1 x Arduino Nano
  • 1 x Arduino Nano utvidelseskort
  • 6 x servomotorer
  • 2 x lekeøyeboller
  • 12 x skruebolter (2 * 6 mm)

[Verktøy]

  • 3d -skriver (Anet A8)
  • Filament for 3D -utskrift (PLA 1,75 mm)
  • Wire Nipper
  • Wire Stipper
  • Smeltelimpistol
  • Skrutrekker (+)
  • Elektronisk tape
  • Loddeverktøy (Hakko)
  • Loddehånd
  • Elektrisk skrutrekker

Trinn 5: Endre 3 servomotorer til posisjonssensor

Følgende trinn viser deg hvordan du endrer en servomotor til posisjonssensor. i utgangspunktet har de fleste servomotorer et potensiometer eller en omkoder for å få en vinkelverdi.

Vi vil bruke det potensiometeret selv. vi må åpne saken, demontere brettet og koble det til igjen.

Trinn 6: Skru ut 4 bolter på baksiden og åpne frontkassen

Skru ut 4 bolter på baksiden og åpne frontkassen
Skru ut 4 bolter på baksiden og åpne frontkassen
Skru ut 4 bolter på baksiden og åpne fronthuset
Skru ut 4 bolter på baksiden og åpne fronthuset

Du trenger en liten skrutrekker fordi de er for små. Motoren har 3 deler - foran, på kroppen og bak.

Når du åpner forsiden, ser du girene. Egentlig bruker vi ikke denne motoren som "motor". Så, girene er ikke lenger nødvendige teoretisk. Men vi vil bruke en del av dem slik at operasjonsvinkelen fortsatt har begrensning av rotasjon.

Trinn 7: Fjern det tredje giret

Fjern det tredje giret
Fjern det tredje giret
Fjern det tredje giret
Fjern det tredje giret
Fjern det tredje giret
Fjern det tredje giret

Potensiometeret i servomotoren har vinkelbegrensning som er rundt 180 grader. Potensiometeret har sin egen begrensningsmekanisme, men det er så svakt. Det blir lett ødelagt ofte. For å beskytte den gir giret en annen mekanisme. Det første giret har en støtfanger av plast som kommer i kontakt med andre giret.

Vi trenger definitivt det første giret for den generelle rammen, det andre giret er nødvendig for begrensningen. Så vi kan ikke bli kvitt dem. I stedet for dem kan vi fjerne det tredje giret.

Du lurer kanskje på hvorfor vi må fjerne et utstyr. Disse tre servomotorene vil bli brukt for å få vinkelinformasjon. Hvis det er gir i dem, vil bevegelsen være stiv. Så vi må kvitte oss med et utstyr fra dem.

Trinn 8: Kabling / lodding på nytt

Re-kabling / lodding
Re-kabling / lodding

Klipp av ledningene som er koblet til motorene.

Trinn 9: Bruk et loddeverktøy og løsne brettet

Bruk et loddeverktøy og løsne brettet
Bruk et loddeverktøy og løsne brettet
Bruk et loddeverktøy og løsne brettet
Bruk et loddeverktøy og løsne brettet

Trinn 10: Klipp en ledning og forbered deg på lodding

Klipp en ledning og forbered deg på lodding
Klipp en ledning og forbered deg på lodding
Klipp en ledning og forbered deg på lodding
Klipp en ledning og forbered deg på lodding

og legg litt pasta og legg litt bly på kabelen

Trinn 11: Lodd det

Lodde det
Lodde det
Lodde det
Lodde det
Lodde det
Lodde det
Lodde det
Lodde det

helt fra venstre side rød gul og brun

Trinn 12: Legg litt lim på den

Legg litt lim på den
Legg litt lim på den
Legg litt lim på den
Legg litt lim på den

og gjenopprette baksiden

Vi trenger ytterligere 2 potensiometre. gjøre det samme arbeidet for to andre motorer

Trinn 13: Lag den første felles kjelleren

Lag den første felles kjelleren
Lag den første felles kjelleren
Lag den første felles kjelleren
Lag den første felles kjelleren
Lag den første felles kjelleren
Lag den første felles kjelleren

Jeg brukte et kokebrett for å lage dette prosjektet. det er billig og fast å bruke det. For å fikse rammen på brettet må du bruke skruer som har en skarp ende. Det lager hull og tråd samtidig.

Det er 6 motorer. 3 motorer på venstre side er de originale motorene. på den annen side er det 3 motorer som er modifisert før trinn.

Trinn 14: Lag Yaw Joint

Lag Yaw Joint
Lag Yaw Joint
Lag Yaw Joint
Lag Yaw Joint

Du må bruke M2 * 6 mm skruebolt.

Trinn 15: Monter Yaw Joint med den første motoren

Monter Yaw Joint med den første motoren
Monter Yaw Joint med den første motoren
Monter Yaw Joint med den første motoren
Monter Yaw Joint med den første motoren

Som du kan se det siste bildet, må du sette skjøten i horisontal retning. Og plasseringen skal være 90 grader av både motor og potensiometer.

Med andre ord, du kan rotere disse gaffeleddene 90 grader med klokken og mot klokken fra det stedet.

Trinn 16: Monter Arduino Nano med Arduino Nano Expansion Board

Monter Arduino Nano med Arduino Nano Expansion Board
Monter Arduino Nano med Arduino Nano Expansion Board
Monter Arduino Nano med Arduino Nano Expansion Board
Monter Arduino Nano med Arduino Nano Expansion Board

Sørg for retningen. USB -porten vil være på samme side med DC -kontakt.

Trinn 17: First Layer Connection

Den første lagstilkoblingen
Den første lagstilkoblingen
Den første lagstilkoblingen
Den første lagstilkoblingen

Potensiometeret er koblet til analog 0 -pinne på Arduino. Du må koble den til riktig. Denne Arduino Nano har 8 -kanals ADC (analog digital omformer). I utgangspunktet gir potensiometeret analogt nivå eller volatasje. Du kan lese den volt -verdien ved å bruke ADC -pinner

På den annen side er servomotoren koblet til Digital 9 av Arduino. Servomotorer kan styres ved hjelp av PWM (Pulse Width Modulation). Arduino Nano har 6 -kanals PWM -pinne (pin 9, 10, 11, 3, 5 og 6). Så vi kan bruke opptil 6 servomotorer.

I dette trinnet ser kildekoden slik ut

#inkludere

Servoservo [6]; ugyldig oppsett () {pinMode (A0, INPUT); servo [0].attach (9);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (kart (tempADC [0], 0, 1023, 0, 180));}

Trinn 18: Monter det andre laget

Monter det andre laget
Monter det andre laget
Monter det andre laget
Monter det andre laget
Monter det andre laget
Monter det andre laget
Monter det andre laget
Monter det andre laget

Det andre laget er også enkelt å lage. Det du må være forsiktig med er å sette den på riktig sted når du kobler kabelen til Arduino.

  • Den venstre servomotoren er koblet til med pin 10
  • Høyre potensiometer er koblet til A1

#inkludere

Servoservo [6]; ugyldig oppsett () {pinMode (A0, INPUT); pinMode (A1, INNGANG); servo [0]. fest (9); servo [1].attach (10);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (kart (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].write (kart (tempADC [1], 0, 1023, 0, 180));}

Trinn 19: Monter de tredje lagsrammene

Monter de tredje lagsrammer
Monter de tredje lagsrammer

Trinn 20: Monter rammen med den andre motoren / potensiometeret

Monter rammen med den andre motoren / potensiometeret
Monter rammen med den andre motoren / potensiometeret
Monter rammen med den andre motoren / potensiometeret
Monter rammen med den andre motoren / potensiometeret
Monter rammen med den andre motoren / potensiometeret
Monter rammen med den andre motoren / potensiometeret
Monter rammen med den andre motoren / potensiometeret
Monter rammen med den andre motoren / potensiometeret

Trinn 21: Monter den tredje motoren i leddrammen

Monter den tredje motoren i leddrammen
Monter den tredje motoren i leddrammen
Monter den tredje motoren i leddrammen
Monter den tredje motoren i leddrammen

Trinn 22: Sett kabelen inn i Arduino

Sett kabelen inn i Arduino
Sett kabelen inn i Arduino
Sett kabelen inn i Arduino
Sett kabelen inn i Arduino
  • Den tredje motoren er koblet til med pin 11
  • Det tredje potensiometeret er koblet til A2

koden ser slik ut

#include Servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, INNGANG); pinMode (A2, INPUT); servo [0]. fest (9); servo [1]. fest (10); servo [2].attach (11);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (kart (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1]. skrive (kart (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2].write (kart (tempADC [2], 0, 1023, 0, 180));}

Trinn 23: Monter tommelrammen

Monter tommelrammen
Monter tommelrammen
Monter tommelrammen
Monter tommelrammen

Trinn 24: Test og juster vinkelen

Test og juster vinkelen
Test og juster vinkelen
Test og juster vinkelen
Test og juster vinkelen
Test og juster vinkelen
Test og juster vinkelen

Sett USB -kabelen i en hvilken som helst strømkilde, og roboten slås på snart. Vinkelen kan være litt annerledes. Juster vinkelen en etter en.

Trinn 25: En robot til?

Nok en robot?
Nok en robot?
Nok en robot?
Nok en robot?

Hvis du vil lage en robot til, kan du lage den. Koble servoer til 3, 5 og 6.

#include Servo servo [6]; ugyldig oppsett () {pinMode (A0, INPUT); pinMode (A1, INNGANG); pinMode (A2, INPUT); servo [0]. fest (9); servo [1]. fest (10); servo [2]. fest (11); servo [3]. fest (3); servo [4]. fest (5); servo [5].attach (6);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (kart (tempADC [0], 0, 1023, 0, 180)); servo [3]. skrive (kart (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1]. skrive (kart (tempADC [1], 0, 1023, 0, 180)); servo [4].skrive (kart (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2].skrive (kart (tempADC [2], 0, 1023, 0, 180)); servo [5].write (kart (tempADC [2], 0, 1023, 0, 180));}

Trinn 26: Ferdig

Ferdig!
Ferdig!
Ferdig!
Ferdig!
Ferdig!
Ferdig!

Hvis du har spørsmål, er det bare å la være:)

Mikrokontrollerkonkurranse
Mikrokontrollerkonkurranse
Mikrokontrollerkonkurranse
Mikrokontrollerkonkurranse

Andreplass i mikrokontrollerkonkurransen

Anbefalt: