Synkronisera robotarm handledning (17 / 17 steg)

Steg 17:



Koden

#include

Servo bas;

Servo Joint1;

Servo Joint2;

Servo gripet;

CONST int analogInPin1 = A1; Analog ingång pin som potentiometern är kopplad till

CONST int analogInPin2 = A2; Analog ingång pin som potentiometern är kopplad till

CONST int analogInPin3 = A3; Analog ingång pin som potentiometern är kopplad till

CONST int analogInPin4 = A4; Analog ingång pin som potentiometern är kopplad till

int sensorValue1 = 0; värdet läsa från potten

int sensorValue2 = 0; värdet läsa från potten

int sensorValue3 = 0; värdet läsa från potten

int sensorValue4 = 0; värdet läsa från potten

void setup() {

initiera seriell kommunikation på 9600 bps:

Serial.BEGIN(9600);

Base.attach(3);

Joint1.attach(4);

Joint2.attach(5);

Grabber.attach(6);

}

void loop() {

Läs analogt värde:

sensorValue1 = analogRead(analogInPin1);

sensorValue2 = analogRead(analogInPin2);

sensorValue3 = analogRead(analogInPin3);

sensorValue4 = analogRead(analogInPin4);

skriva ut resultatet till seriell bildskärmen:

Serial.Print ("\nBase Joint:");

Serial.Print(sensorValue1);

Serial.Print ("botten gemensamma =");

Serial.Print(sensorValue2);

Serial.Print ("övre gemensamma =");

Serial.Print(sensorValue3);

Serial.Print ("gripet =");

Serial.Print(sensorValue4);

Mappa resultaten till servo kontroll parameter

Base.write (karta (sensorValue1, 200, 500, 45, 150));

Joint1.write (karta (sensorValue2, 680, 300, 130, 50));

Joint2.write (karta (sensorValue3, 800, 400, 30, 140));

Grabber.write (karta (sensorValue4, 250, 320, 180, 80));

}

Servo kontroll biblioteket Servo.h ingår i vår kod. Eftersom vår kod omfattar endast enkla funktioner, kommer vi inte gå alltför djupt i grundläggande av språket.

Motion-mappning mekanism

Dess rörelse kartläggning mekanismen involverar 3 steg:

1. Läs spänningen över motståndet från det analoga ingångsstiftet. Behandlingen varierar från 0-1023, som anger 0-5v spänning proportionellt.

Kod:

sensorValue1 = analogRead(analogInPin1);

sensorValue2 = analogRead(analogInPin2);

sensorValue3 = analogRead(analogInPin3);

sensorValue4 = analogRead(analogInPin4);

2. baserat på den ursprungliga orienteringen av servo, mappa indatavärdet för att matcha den önskade positionen för servo på motsvarande sätt.

3. skicka parametern position till det digitala utgångsstiftet till förflyttningar av servo.

Kod:

Base.write (karta (sensorValue1, 200, 500, 45, 150));

Joint1.write (karta (sensorValue2, 680, 300, 130, 50));

Joint2.write (karta (sensorValue3, 800, 400, 30, 140));

Grabber.write (karta (sensorValue4, 250, 320, 180, 80));

Funktionen map() i koden ovan används för att mappa Läs till parametern vinkel av servo. XXX.write() funktion används för att skicka de mappade värdena till servo.

Kalibrering

Som ställning spänning förhållandet kan vara ungefär anses vara linjär, ett enkelt sätt att ställa in parametern kartläggning är att ta ner de analoga ingången avläsningarna på 2 olika positioner (här rekommenderar vi mittpunkt eller slutpunkter) och mappa dem till parametern servo position.

Därför är vårt första steg att koppla upp den kontrollerande arm till mikrokontroller genom en USB-kabel, öppna programmet Arduino IDE, kopiera koden ovan till fönstret och ladda upp den till chipet. Kontrollera att rätt chip typ och COM-port har valts.

Om allt går bra, kan spänningen i varje motstånd läsas från seriella monitor. Se till att den seriella är valt för uppgå rätt band (9600 i vårt fall).

Då, flytta var och en av gemensamt till några vissa positioner och läsa
analog input värden från seriella övervaka och vit dem ned. Sedan justera servo armen till dessa positioner och ta ner position parametrar. Slutligen, mappa indatavärdena servo ståndpunkter och skicka dessa värden via digital utgångsstift.

Spela runt kartläggning parametrarna ger dig ett bättre resultat av synkronisering rörelse.

För att ytterligare förbättra dess riktighet, kan vi även lägga till fler positioner som referens och mappa dem piecewise.

Se Steg
Relaterade Ämnen

Arduino robotarm

i detta instructurable jag kommer att visa dig hur man gör en enkel robotarm som kontrolleras av 4 servon, 2 analoga styrspakar och en Arduino UNO. Det är mycket lik min "2 servon + Thumbstick" instructurable. Denna handledning är framför allt a...

Läpp synkronisera i flash

Hej,Läppen synkronisering är en viktig del av att göra en bra flash-animation, eller någon film egentligen, om inte din att göra vissa känslomässigt djup stumfilm, eller hög åtgärder slåss film som killbunny. Det ganska viktigt att ha en dialog i en...

Robotarm för autonoma Tank

Jag har nyligen köpt en robotarm att montera på min autonoma tank projekt. Jag kunde inte hitta några riktiga tutorials om hur man bygger armen så jag beslöt att göra en själv.Ramen för armen kan hittas på eBay och skickas från Kina. Det tog ungefär...

Gör fast robotarm kanten till "Trådlös" med DIY Arduino + XBee

Uppdatering: Schematisk, Top Layer PCB, botten Layer PCB och både toppen, botten PCB bilderNär jag slutade "RevIO" - en Arduino klon som har olika sätt att exponera pins användning. Jag beslutat att gå vidare till nästa projekt. Att testa min &q...

AVR Assembler handledning 6

Välkommen till Tutorial 6!Dagens handledning kommer att vara kort där vi kommer att utveckla en enkel metod att kommunicera data mellan en atmega328p och en med två portar ansluta dem. Vi kommer ta sedan tärningarna rullen från läraren 4 och registre...

Använda BitTorrent Sync för att synkronisera dina filer

Låt oss säga att du vill ha snabb fildelning mellan din kontorsdator och din personlig bärbar dator, men du har några frågor om cloud-sharing system. Kanske behöver din filstorlek kräver flexibilitet som ett långa abonnemang inte har råd, eller du är...

Proof-of-concept robotarm och kontroller (Lego nxt)

här är ett litet proof-of-concept projekt jag gjorde. Tanken är att ha en robot som kan härma användarens rörelser.För nu roboten och kontroll endast bestå av armen. Arm och kontroller är byggt med Lego NXT och programmering gjort i NXT-G.Jag verklig...

Bygga en robotarm för Science Olympiad

för dem som kämpar för att hitta rätt delar, försöker lista ut hur man sätter dem tillsammans, eller har problem med kod, detta rätt plats! Detta instructable är en fullständig dokumentation av Newton söder High School vetenskap Team 2012 robotarm in...

Bygga din egen Butler Robot! -Handledning, foton och Video

redigera: mer information om mina projekt kolla min nJag gör även konsulttjänster för robotics, mekatronik och specialeffekter projekt/produkter. Kolla in min hemsida - narobo.com för mer information.Någonsin ville ha en butler robot som talar till d...

Skriva ut en robotarm

tillbaka i 2006, en kund till mig ville göra en robotarm att spela Go. Tanken var att tillåta remote play på verkliga styrelser med robotarm flytta stenarna för remote spelare. Två armar skulle användas för att synkronisera två fysiska brädor med var...

Robotarm med transportband, kunna monteringsarbete stycken pågår

Hej alla,Detta är ett projekt där jag utformat och byggt en arbetsplats till en sex grad av frihet robotarm. Det är ett vanligt exempel från en produktionslinje som arbetsstycket reser på en bandtransportör eller palett till arbete stationen, där det...

Autonoma Tank med robotarm (Arduino, Bluetooth)

Detta Instructables kommer att förklara processen att bygga en autonom Arduino tank med en bifogad robotarm kontrolleras via bluetooth med programmet Ardudroid Android.Riktning styrs via knappar medan servon av armen styrs av reglagen i ansökan som ä...

6 Dof robotarm som kontrolleras av 1Sheeled

I detta instructable kommer jag försöka visa dig hur för att styra Dagu 6 servo Robot Arm med hjälp av arduino och 1 Sheeled ombord och använda android mobiltelefon program som spel-pad för att förflyttningar armSteg 1: Steg 1: bygga armenJag började...

Rörlig robotarm med PHIRO + Arduino

Vi är tillbaka med en annan tutorial att visa dig hur du sätter PHIRO Pro till en cool mobil robotarm som kan plocka och placera saker! Liknar våra tidigare PHIRO Arduino färgsensor instructable, vi kommer att använda Pocket koden på en Android-telef...

3D tryckt robotarm

Denna robotarm består nästan helt av 3D tryckta delar som snap tillsammans. Den har tre servo-kontrollerade leder, plus en roterande bas och gripare. Armen styrs av ett antal knappar som ansluter till en Arduino Uno gömd i basen. En enkel krets gör a...

Batch + CMD liten handledning

Hej Välkommen killar tillbaka till en annan sats Instructable.I detta är Instructable I'am ska visa er några av grunderna i att använda båda Batch-filer och CMD....Så veta killar om du gillade denna lilla handledning och vill mig att göra mer eller d...

Krock mellan klaner GOLEM illustration handledning

Hej alla,I denna tutorial kommer jag att täcka hur man drar en sammandrabbning av klaner GOLEM trupp med hjälp av Google bilder söka och Adobe Illustrator CS6.Denna handledning kan du skala GOLEM till oavsett vilken storlek du vill utan rädsla för di...

65xx teknik-församlingen språk programmering med W65C02SXB-handledning 1

Western Design Center (WDC) har beslutat att skriva en serie tutorials på hur du kommer igång med vår 65xx teknik och hur man skriver assembler program för 65xx familjen för ICs. Denna handledning kommer att baseras på använda det Standard W65C02 chi...

7-Key reglaget/hjul handledning med synt

Detta är en handledning för att använda den 7-Key reglaget/hjul Breakout från Rakels elektronik.Jag ska visa dig hur man löda in header stiften för maximal användarvänlighet. Rakels har QT1106 datablad på deras webbplats, och en stor arduino bibliote...