Styra en RepStrap bearbetning (9 / 25 steg)

Steg 9: Att göra det lite bättre


Jag gör förbättringar som jag kommer att lägga till steg i slutet av detta instructable.

10-11-09

Den tidigare koden spår bollen ganska bra men steppers drivs i en mycket stenig väg.

I denna uppdaterade kod signal bearbetning skiss bara en till Arduino när det sker en förändring i riktning. Så stegmotorer bara köra i vilken riktning var de senast fastställda till, tills de blir tillsagda att ändra. Detta gör att motorerna att köra en mycket snabbare och smidigare.

Men det är fortfarande något en bit bort. Arduinoen verkar missa några av signaler, så RepStrap som slutar med X-Y-steget skjuts hela vägen till ena sidan.

Jag ska försöka fixa detta.

Arduino och bearbetning koden är nedan. Jag har lagt till fler kommentarer för att hålla saker klart.

/////////////////////////////////////////////////
Arduino kod:

Läsa data från seriella
Använda data för att avgöra riktningen av X och Y steppers

#define XstepPin 10
#define XdirPin 7

#define YstepPin 2
#define YdirPin 3

int val; Uppgifterna från den seriella porten

void setup() {

pinMode (XstepPin, OUTPUT);
pinMode (XdirPin, OUTPUT);
pinMode (YstepPin, OUTPUT);
pinMode (YdirPin, OUTPUT);
Serial.BEGIN(9600); Starta seriell kommunikation på 9600 bps
}

void loop() {
int dirX;
int dirY;
om (Serial.available()) {/ / om data är tillgängliga att läsa,
Val = Serial.read(); sedan läsa den och lagra värdet i val
}

om (val == "H") {//set ledning av X och Y baserat på data som skickas från bearbetning
dirX = hög;
}
om (val == "L") {
dirX = låg;
}

om (val == "h") {
dirY = hög;
}
om (val == "l") {
dirY = låg;
}

digitalWrite(XdirPin,dirX); Set X riktning
digitalWrite(YdirPin,dirY); Ange Y-led
digitalWrite(XstepPin,HIGH); vidta åtgärder
digitalWrite(YstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(XstepPin,LOW);
digitalWrite(YstepPin,LOW);
delayMicroseconds(2);

delayMicroseconds(1000); <<<<<< Används för att ändra hastighet <<<<<<<<
}

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

///////////////////////////////////////////////////////////////////////////
Bearbetar koden:
Detta utgångar rörelse i den studsande bollen med RepRap X- och Y-axeln

import processing.serial.*;

Seriella myPort; Skapa objekt från seriella klass
int val;

float x = 50,0;
float y = 50,0;
flyta speedX = 1,0;
float speedY =. 4;
float radie = 15,0;
int directionX = 1;
int directionY = 1;
int old_directionX = 1;
int old_directionY = 1;

void setup() {
storlek (100, 100);
Smooth();
noStroke();
ellipseMode(RADIUS);

Sträng portName = Serial.list() [0];
myPort = ny följetong (här, portName, 9600);
}

void draw() {
Fill(0,12);
rect (0,0, bredd, höjd);
Fill(255);
ellips (x, y, radius, radie);

x += speedX * directionX;
om ((x > bredd-radius) || (x < RADIUS)) {//change X riktning om bollen träffar sidan av rutan
directionX = - directionX;
}

y + = snabb * directionY;
om ((y > höjd-radius) || (y < RADIUS)) {//change Y riktning om bollen träffar sidan av rutan
directionY = - directionY;
}

om ((directionX! = old_directionX) & & (directionX == 1)) {//if X riktning ändras ut H
myPort.write('H');
Print('H');
Delay(100);
}

om ((directionX! = old_directionX) & & (directionX == -1)) {//if X riktning ändras ut h
myPort.write('h');
Print('h');
Delay(100);
}

om ((directionY! = old_directionY) & & (directionY == 1)) {//if Y riktning ändras ut L
myPort.write('L');
Print('L');
Delay(100);
}

om ((directionY! = old_directionY) & & (directionY == -1)) {//if Y riktning ändras ut l
myPort.write('l');
Print('l');
Delay(100);
}

old_directionX = directionX; lagrar de riktningar vi bara använde, som gamla mot
old_directionY = directionY;

Delay(100); ta bort kommentar för att bromsa hela för felsökning
}

Se Steg
Relaterade Ämnen

Hur man styr en enkel bearbetning spel med Arduino

Hej allaI detta Instructable, får vi se hur att skapa en "länk" mellan en bearbetning skiss och en Arduino kort. I det här exemplet används en Ultraljuds modul att styra ett plan i ett enkelt spel. Igen, den här läraren är bara ett exempel, du k...

Första stegen med bearbetning och Arduino (styra skiftregister från dator)

Hej igen! Jag har få delar, så jag beslöt att börja bygga virtuella! Jag hade bearbetning på min dator, men jag hade aldrig använt det, eftersom i´m bara en student och jag don´t vet Java alls. Först bestämde jag mig att rita kvadrat. Jag hade så myc...

Musik synkroniserad LED Pumpkin

*** kom ihåg att rösta på min Instructable ***I år bestämde jag mig att göra min pumpa lite mer spännande. Jag tänkte och tänkte på det, och då jag kom över LED dansen rum. Jag tänkte "Jag kunde göra det", och projektet föddes.Det finns två modu...

CoaTracker

har det någonsin hänt dig? Du vaknar på morgonen och inser att du är fruktansvärt sent för arbete/klass/din weekly pedikyr / vadsomhelst. Du kastar på en t-shirt och flip flops, sprint runt ditt varma, uppvärmda hus greppa din tillhörigheter, och täv...

R/C LEGO® bil Redux

efter att jag byggt R/C Lego bil, som används för hackade motorer och motor höljen från leksak bil och toy R/C bilar. Jag insåg de flesta delar från det leksak R/C bil som jag tog motorn av blev slösas bort.Detta sätt var inte mycket praktiska eller...

Leksak pistol kul

I detta Svårbemästrade vi kommer att ta isär en leksakspistol och att ljud utlösaren med bearbetning och Arduino. Med lite skicklighet och patiences, kan du använda dessa tekniker på bara om någon leksak.DelarProtoSnap eller ArduinoUSB-kabelElektroni...

Kinect 2-spelare skjutspel

Har du någonsin velat göra egna Kinect spel?Eller kanske du har ännu inte hört av Microsofts mångsidig djup kamera?Tack och lov, har du kommit till rätt ställe. Vi kommer att gå steg för steg genom att skapa en datorstyrd 2 Kinect spelare.Steg 1: Pro...

Hur man styr en bearbetning skiss med två Arduino ingångar

Denna tutorial ska show dig hur man bygger en grundläggande Arduino krets som kan styra en rolig färgade bollen skiss bearbetning.Du behöver:1 x Arduino ombord (jag använder en Uno)1 x skärbräda1 x foto-motstånd1 x 10 k Ohm motstånd (brun-svart-Orang...

Ball anhängare använder vision bearbetning

Video processing har alltid en utmaning att robot byggare som kodningen är komplexa och människor som inte har kunskapen i MATLAB kan inte göra mycket, men i den här guiden vi kommer att lära att programmera en robot att följa en gul färgad boll, med...

Styra ppt med bluetooth-modulen.

Jag vill göra ppt domänkontrollant utan USB-port-styrenheten.Jag har sett någon göra den ppt registeransvarige med flex sensorn.Flex sensorn mycket dyrt. Så jag bestämde mig att använda bluetooth för att göra ppt controller.Steg 1: delar-WIZwiki-W750...

Accelerometer baserad gestigenkänning för att styra en LED

Dessa material och den information som finns i detta instructable är från studenter på programvara för platser (www.softwareofplaces.com)Klass vid PUC-Rio universitet. Innehållet representerade här är studentens sista projekt för klass utvärdering tu...

Med MikroTik Router styrelsen 433 & Arduino att styra två lysdioder

I denna tutorial kommer jag förklara hur man styr två lysdioder med MikroTik router styrelsen och Arduino.MikroTik 433 är en router styrelsen baserat på Linux-kärnan, det innehåller 3 Ethernetport och 3 mini PCI-port som används för att ansluta trådl...

Bearbetning kontroller R/C bil med XBee moduler

detta instructable är en modifiering av min presentation till Bearbetning Chicago gemenskapen vid (EVL) elektroniska visualisering Laboratory, University of Illinois i Chicago den 1 okt 2012. I ämnetBearbetning bibliotek serienBearbetning och trådlös...

Hur man styr en Arduino styrda robotarm av Dobot teamet

Vi säger alltid, Dobot är en hög precision, flera control desktop robotarm. I senaste instructables, har vi visat dig hög precision och funktionen desktop genom att bygga en laser cut och lödning Dobot arm. Detta instructable, vi kommer att försöka v...

Hur man bygger en 8 x 8 x 8 LED cube och styra med en Arduino

det finns en hel del LED kuber på Instructables, så varför göra en annan? De flesta är för små kuber som består av 27 eller 64 lysdioder, sällan större eftersom de är begränsade till antalet utgångar på mikrokontroller. Denna kub blir 512 lysdioder,...

Hur man kontrollerar GizDuino med bearbetning *

För några veckor sedan, har jag publicerat en Instructable om "Hur du styr GizDuino med Visual Basic" -.Jag kommer nu dokument ett annat sätt att kontrollera GizDuino med hjälp av open source bearbetning program som kan laddas ner från denna län...

Använda en PIC mikrokontroller för att styra en Hobby Servo

detta instructable beskriver hur man integrerar hobby servon (den typ som används i RC flygplan, bilar, etc.) i dina microcontroller projekt.Steg 1: Hur servon är skiljer sig från vanliga motorer i en vanlig DC motor, vridmoment motorn utövar på axel...

Styra en Arduino med telefonen.

I detta Instructable jag ska visa hur du styr dina saker med telefonen och arduino styrelsen. Jag har kontrollerat allt från rökmaskiner för jul ljus är med detta program.Video:ledsen videon är ganska märkligt eftersom min kamera försöker justera lju...

CNC G-kod tolk med bearbetning

Hej killar, jag försöker göra mitt eget CNC router så jag kan underlätta PCB i åratal.Vad jag försöker göra är en G-kod tolk som kan skickar signaler till en arduino ombord. Så kan arduino styrelsen styra en enkel CNC router för att rita en krets öve...