Inhoudsopgave:

[Arduino Robot] Hoe maak je een Motion Capture-robot - Duimen Robot - Servomotor - Broncode: 26 stappen (met afbeeldingen)
[Arduino Robot] Hoe maak je een Motion Capture-robot - Duimen Robot - Servomotor - Broncode: 26 stappen (met afbeeldingen)

Video: [Arduino Robot] Hoe maak je een Motion Capture-robot - Duimen Robot - Servomotor - Broncode: 26 stappen (met afbeeldingen)

Video: [Arduino Robot] Hoe maak je een Motion Capture-robot - Duimen Robot - Servomotor - Broncode: 26 stappen (met afbeeldingen)
Video: Книга - Моя первая схема ArduMikron 2024, November
Anonim
Image
Image
[Arduino Robot] Hoe maak je een Motion Capture-robot | Duimen Robot | Servomotor | Broncode
[Arduino Robot] Hoe maak je een Motion Capture-robot | Duimen Robot | Servomotor | Broncode

Duimen Robot. Gebruikt een potentiometer van MG90S servomotor. Het is erg leuk en makkelijk! De code is heel eenvoudig. Het is slechts ongeveer 30 lijnen. Het ziet eruit als een motion-capture.

Laat een vraag of feedback achter!

[Instructie]

  • Broncode
  • 3D-afdrukbestanden

[Over de maker]

Youtube

Stap 1: ARDUINO-ONDERDELEN

ARDUINO-ONDERDELEN
ARDUINO-ONDERDELEN
ARDUINO-ONDERDELEN
ARDUINO-ONDERDELEN
ARDUINO-ONDERDELEN
ARDUINO-ONDERDELEN

Arduino IDE installeren

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

Installeer CH340 Driver (voor Chinese versie)

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

DOWNLOAD - broncode

  • https://github.com/happythingsmaker/ThumbsRobot
  • Zoals je kunt zien is er een zip-bestand. Pak alle bestanden uit en dubbelklik op het broncodebestand.

Selecteer bord / Processor / Com-poort

  • Arduino Nano
  • ATmega328P (oude bootloader)

Sluit je arduino nano aan

Sluit de USB-kabel aan en er verschijnt een nieuwe poort

Zoek / selecteer opkomende com-poort

  • Klik op de verschenen poort en druk op de uploadknop
  • Druk op de uploadknop

Stap 2: 3D-PRINT ONDERDELEN

3D-PRINT ONDERDELEN
3D-PRINT ONDERDELEN

Download 3D-modelleringsbestanden van Thingiverse

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

Print alle onderdelen één voor één

Stap 3: Circuitdeel

Circuitdeel
Circuitdeel

Gebruik het Arduino Nano-uitbreidingsbord. Omdat de Arduino Nano zelf niet veel pinnen heeft, zul je een uitbreidingsbord moeten gebruiken.

Als je naar de bedrading kijkt die op de motor is aangesloten, zie je drie kleuren. Geel, Rood en Bruin. Bruin moet worden verbonden met G (Ground).

In de volgende stappen zullen we er nog eens goed naar kijken.

Stap 4: HARDWARE-ONDERDEEL - Bereid alle onderdelen voor

HARDWARE-ONDERDEEL - Bereid alle onderdelen voor!
HARDWARE-ONDERDEEL - Bereid alle onderdelen voor!

[Onderdelen]

  • 1 x Arduino Nano
  • 1 x Arduino Nano-uitbreidingskaart
  • 6 x servomotoren
  • 2 x speelgoed oogballen
  • 12 x schroefbouten (2 * 6 mm)

[Gereedschap]

  • 3D-printer (Anet A8)
  • Filament voor 3D-print (PLA 1,75 mm)
  • Draadtang
  • Draadstripper
  • Hotmelt lijmpistool
  • Schroevendraaier (+)
  • Elektronische tape
  • Soldeergereedschap (Hakko)
  • Soldeerhand
  • Elektrische schroevendraaier

Stap 5: Wijzig 3 servomotoren in positiesensor

De volgende stappen laten zien hoe u een servomotor kunt wijzigen in een positiesensor. in principe hebben de meeste servomotoren een potentiometer of encoder om een hoekwaarde te krijgen.

We zullen die potentiometer zelf gebruiken. we moeten de behuizing openen, het bord demonteren en opnieuw bedraden.

Stap 6: Draai de 4 bout aan de achterkant los en open de voorbehuizing

Draai de 4 bout aan de achterkant los en open de voorbehuizing
Draai de 4 bout aan de achterkant los en open de voorbehuizing
Draai de 4 bout aan de achterkant los en open de voorbehuizing
Draai de 4 bout aan de achterkant los en open de voorbehuizing

Je hebt een kleine schroevendraaier nodig omdat ze te klein zijn. De motor heeft 3 delen - voorkant, body en achterkant.

Als je de voorkant opent, zie je de tandwielen. Eigenlijk gebruiken we deze motor niet als "motor". De tandwielen zijn dus theoretisch niet meer nodig. Maar we zullen een deel ervan gebruiken, zodat de bedieningshoek nog steeds een beperking van de rotatie heeft.

Stap 7: Verwijder de 3e versnelling

Verwijder de 3e versnelling
Verwijder de 3e versnelling
Verwijder de 3e versnelling
Verwijder de 3e versnelling
Verwijder de 3e versnelling
Verwijder de 3e versnelling

De potentiometer in de servomotor heeft een hoekbegrenzing van ongeveer 180 graden. De potmeter heeft zijn eigen begrenzingsmechanisme maar is zo zwak. Het is gemakkelijk vaak gebroken. Om het te beschermen, geeft het tandwiel een ander mechanisme. De eerste versnelling heeft een plastic bumper die contact maakt met de tweede versnelling.

We hebben zeker de eerste versnelling nodig voor het totale frame, de tweede versnelling is nodig voor de beperking. We kunnen ze dus niet kwijt. In plaats daarvan kunnen we de derde versnelling verwijderen.

Je vraagt je misschien af waarom we een tandwiel moeten verwijderen. Deze drie servomotoren zullen worden gebruikt voor het verkrijgen van hoekinformatie. Als er tandwielen in zitten, zal de beweging stijf zijn. We moeten dus een van de uitrustingen van hen verwijderen.

Stap 8: Opnieuw bedraden / solderen

Opnieuw bedraden/solderen
Opnieuw bedraden/solderen

Knip de draden door die met de motoren zijn verbonden.

Stap 9: Gebruik een soldeergereedschap en maak het bord los

Gebruik een soldeergereedschap en maak het bord los
Gebruik een soldeergereedschap en maak het bord los
Gebruik een soldeergereedschap en maak het bord los
Gebruik een soldeergereedschap en maak het bord los

Stap 10: Knip een draad af en bereid je voor op het solderen

Knip een draad af en bereid je voor op het solderen
Knip een draad af en bereid je voor op het solderen
Knip een draad af en bereid je voor op het solderen
Knip een draad af en bereid je voor op het solderen

en doe wat pasta en doe wat lood op de kabel

Stap 11: Soldeer het

Soldeer het
Soldeer het
Soldeer het
Soldeer het
Soldeer het
Soldeer het
Soldeer het
Soldeer het

van de zeer linkerkant rood geel en bruin

Stap 12: doe er wat lijm op

Doe er wat lijm op
Doe er wat lijm op
Doe er wat lijm op
Doe er wat lijm op

en zijn achterkant herstellen

We hebben nog 2 potmeters nodig. doe hetzelfde werk voor twee andere motoren

Stap 13: Maak de eerste gezamenlijke kelder

Maak de eerste gezamenlijke kelder
Maak de eerste gezamenlijke kelder
Maak de eerste gezamenlijke kelder
Maak de eerste gezamenlijke kelder
Maak de eerste gezamenlijke kelder
Maak de eerste gezamenlijke kelder

Ik heb een kookplank gebruikt voor het maken van dit project. het is goedkoop en stevig om het te gebruiken. Om het frame op het bord te bevestigen, moet u schroeven met een scherp uiteinde gebruiken. Het maakt gat en draad tegelijk.

Er zijn 6 motoren. 3 motoren aan de linkerkant zijn de originele motoren. aan de andere kant zijn er 3 motoren die vóór de stap zijn aangepast.

Stap 14: Maak de Yaw Joint

Maak de Yaw Joint
Maak de Yaw Joint
Maak de Yaw Joint
Maak de Yaw Joint

U moet een M2 * 6 mm-schroefbout gebruiken.

Stap 15: Monteer de Yaw Joint met de eerste motor

Monteer de gierverbinding met de eerste motor
Monteer de gierverbinding met de eerste motor
Monteer de gierverbinding met de eerste motor
Monteer de gierverbinding met de eerste motor

Zoals je op de laatste foto kunt zien, moet je de voeg in horizontale richting plaatsen. En de locatie moet 90 graden zijn van zowel de motor als de potentiometer.

Met andere woorden, u kunt die gierverbinding 90 graden met de klok mee en tegen de klok in draaien vanaf die locatie.

Stap 16: Monteer de Arduino Nano met Arduino Nano-uitbreidingskaart

Monteer de Arduino Nano met Arduino Nano-uitbreidingskaart
Monteer de Arduino Nano met Arduino Nano-uitbreidingskaart
Monteer de Arduino Nano met Arduino Nano-uitbreidingskaart
Monteer de Arduino Nano met Arduino Nano-uitbreidingskaart

Zorg ervoor dat de richting. De USB-poort zal dezelfde kant zijn met de DC-aansluiting.

Stap 17: De eerste laagverbinding

De eerste laag verbinding
De eerste laag verbinding
De eerste laag verbinding
De eerste laag verbinding

De potentiometer is verbonden met analoge 0-pin van de Arduino. Je moet hem correct aansluiten. Deze Arduino Nano heeft 8 kanaals ADC (Analog Digital Converter). Kortom, de potentiometer geeft analoog niveau of volatage. U kunt die voltwaarde aflezen met behulp van ADC-pinnen

Aan de andere kant is de servomotor verbonden met Digital 9 van de Arduino. Servomotoren kunnen worden aangestuurd met behulp van PWM (Pulse Width Modulation). De Arduino Nano heeft een 6-kanaals PWM-pin (pin 9, 10, 11, 3, 5 en 6). We kunnen dus tot 6 servomotoren gebruiken.

In deze stap ziet de broncode er als volgt uit:

#erbij betrekken

Servo servo [6]; ongeldige 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));}

Stap 18: Monteer de tweede laag

Monteer de tweede laag
Monteer de tweede laag
Monteer de tweede laag
Monteer de tweede laag
Monteer de tweede laag
Monteer de tweede laag
Monteer de tweede laag
Monteer de tweede laag

Ook de tweede laag is eenvoudig te maken. Waar u op moet letten, is dat u deze op de juiste plaats plaatst wanneer u de kabel in de Arduino steekt.

  • De linker servomotor is verbonden met pin 10
  • De rechter potentiometer is aangesloten op A1

#erbij betrekken

Servo servo [6]; ongeldige setup () { pinMode (A0, INPUT); pinMode (A1, INGANG); servo[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] = analoog lezen (A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180));}

Stap 19: Monteer de 3e laagframes

Monteer de 3e laagframes
Monteer de 3e laagframes

Stap 20: Monteer het frame met de 2e motor / potentiometer

Monteer het frame met de 2e motor / potentiometer
Monteer het frame met de 2e motor / potentiometer
Monteer het frame met de 2e motor / potentiometer
Monteer het frame met de 2e motor / potentiometer
Monteer het frame met de 2e motor / potentiometer
Monteer het frame met de 2e motor / potentiometer
Monteer het frame met de 2e motor / potentiometer
Monteer het frame met de 2e motor / potentiometer

Stap 21: Monteer de 3e motor in het verbindingsframe

Monteer de 3e motor in het verbindingsframe
Monteer de 3e motor in het verbindingsframe
Monteer de 3e motor in het verbindingsframe
Monteer de 3e motor in het verbindingsframe

Stap 22: Sluit de kabel aan op de Arduino

Steek de kabel in de Arduino
Steek de kabel in de Arduino
Steek de kabel in de Arduino
Steek de kabel in de Arduino
  • De 3e motor is verbonden met pin 11
  • De 3e potentiometer wordt aangesloten met A2

code ziet er zo uit

#include Servo servo[6];void setup() { pinMode(A0, INPUT); pinMode (A1, INGANG); pinMode (A2, INGANG); servo[0].attach (9); servo[1].bevestigen (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] = analoog lezen (A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180)); tempADC[2] = analoog lezen (A2); servo[2].write(map(tempADC[2], 0, 1023, 0, 180));}

Stap 23: Monteer het duimframe

Monteer het duimframe
Monteer het duimframe
Monteer het duimframe
Monteer het duimframe

Stap 24: Test en pas de hoek aan

Hoek testen en aanpassen
Hoek testen en aanpassen
Hoek testen en aanpassen
Hoek testen en aanpassen
Hoek testen en aanpassen
Hoek testen en aanpassen

Steek de USB-kabel in een willekeurige voedingsbron en de robot zal binnenkort worden ingeschakeld. De hoek kan iets afwijken. Pas de hoek één voor één aan.

Stap 25: Nog een robot?

Nog een robot?
Nog een robot?
Nog een robot?
Nog een robot?

Als je nog een robot wilt maken, kun je die maken. Steek servo's in 3, 5 en 6.

#inclusief servo-servo[6]; void setup () { pinMode (A0, INPUT); pinMode (A1, INGANG); pinMode (A2, INGANG); servo[0].attach (9); servo[1].bevestigen (10); servo[2].bevestigen (11); servo[3].bevestigen (3); servo[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] = analoog lezen (A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180)); servo[4].write(map(tempADC[1], 0, 1023, 0, 180)); tempADC[2] = analoog lezen (A2); servo[2].write(map(tempADC[2], 0, 1023, 0, 180)); servo[5].write(map(tempADC[2], 0, 1023, 0, 180));}

Stap 26: Klaar

Gedaan!
Gedaan!
Gedaan!
Gedaan!
Gedaan!
Gedaan!

Als je een vraag hebt, laat het dan gerust achter:)

Microcontroller-wedstrijd
Microcontroller-wedstrijd
Microcontroller-wedstrijd
Microcontroller-wedstrijd

Tweede plaats in de Microcontroller-wedstrijd

Aanbevolen: