Controle van een RepStrap met verwerking (9 / 25 stap)

Stap 9: Waardoor het een beetje beter


Als I 'm gonna stappen toevoegen aan het einde van dit instructable verbeteringen maken

10-11-09

De code sjabloonwaarden houdt de bal vrij goed maar de steppers in een zeer rotsachtig manier worden aangestuurd.

In deze geactualiseerde code signaal de verwerking schets slechts een naar de Arduino wanneer er een wijziging in de richting.  Dus uitsluitend stormloop naar de stappenmotoren in welke richting waren ze laatst ingesteld op, totdat ze worden verteld om te wijzigen.    Hierdoor kunnen de motoren te lopen een stuk sneller en soepeler.

Maar er is nog iets een beetje af.  De Arduino lijkt te missen sommige van de signalen, zodat de RepStrap met de X-en Y-fase geduwd helemaal aan één kant eindigt.

Ik zal proberen om dit te bevestigen.

De Arduino en Processing code is hieronder.  Ik heb meer reacties te helpen houden van duidelijkheid.

/////////////////////////////////////////////////
Arduino code:

Gegevens lezen uit de serie
Gebruik van gegevens om te bepalen van de richting van de X en Y stepper

#define XstepPin 10
#define XdirPin 7

#define YstepPin 2
#define YdirPin 3

int val; Gegevens ontvangen van de seriële poort

VOID Setup {}

pinMode (XstepPin, uitvoer);
pinMode (XdirPin, uitvoer);
pinMode (YstepPin, uitvoer);
pinMode (YdirPin, uitvoer);
Serial.begin(9600); De seriële communicatie start 9600 bps
}

void loop {}
int dirX;
int dirY;
Als (Serial.available()) {/ / indien gegevens beschikbaar om te lezen,
Val = Serial.read(); vervolgens lezen en opslaan van de waarde in de val
}

Als (val == 'H') {//set de richting van de X en Y op basis van gegevens die worden verzonden door verwerking
dirX = hoog;
}
Als (val == 'L') {}
dirX = laag;
}

Als (val == 'h') {}
dirY = hoog;
}
Als (val == 'l') {}
dirY = laag;
}

digitalWrite(XdirPin,dirX);    verzameling X richting
digitalWrite(YdirPin,dirY);    Y-richting instellen
digitalWrite(XstepPin,HIGH);      stappen ondernemen
digitalWrite(YstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(XstepPin,LOW);
digitalWrite(YstepPin,LOW);
delayMicroseconds(2);

delayMicroseconds(1000); <<<<<< Gebruik CHANGE SPEED <<<<<<<<
}

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

///////////////////////////////////////////////////////////////////////////
Verwerking van Code:
Deze uitgangen de motie van de stuiterende bal aan de RepRap X- en Y-as

importeren van processing.serial.*;

Seriële myPort; Object maakt van seriële klasse
int val;

float x = 50,0;
float y = 50,0;
zweven mifluz = 1,0;
float snelle =. 4;
float straal = 15,0;
int directionX = 1;
int directionY = 1;
int old_directionX = 1;
int old_directionY = 1;

VOID Setup {}
grootte (100, 100);
Smooth();
noStroke();
ellipseMode(RADIUS);

String portName = Serial.list() [0];
myPort = nieuwe Serial (deze, portName, 9600);
}

VOID draw() {}
Fill(0,12);
rect (0,0, breedte, hoogte);
Fill(255);
ellips (x, y, straal, straal);

x += mifluz * directionX;
Als ((x > breedte-radius) || (x < RADIUS)) {//change X richting als de bal de kant van het vak raakt
directionX = - directionX;
}

y += snelle * directionY;
Als ((y > hoogte-radius) || (y < RADIUS)) {//change Y richting als de bal de kant van het vak raakt
directionY = - directionY;
}

Als ((directionX! = old_directionX) & & (directionX == 1)) {//if X richting veranderd print H
myPort.write('H');
Print('H');
delay(100);
}

Als ((directionX! = old_directionX) & & (directionX == -1)) {//if X richting veranderd print h
myPort.write('h');
Print('h');
delay(100);
}

Als ((directionY! = old_directionY) & & (directionY == 1)) {//if Y richting veranderd print L
myPort.write('L');
Print('L');
delay(100);
}

Als ((directionY! = old_directionY) & & (directionY == -1)) {//if Y richting veranderd print l
myPort.write('l');
Print('l');
delay(100);
}

old_directionX = directionX;  slaat de richtingen die we net, zoals de oude richting gebruikt
old_directionY = directionY;

delay(100); uncomment te vertragen het hele ding voor het oplossen van
}

Gerelateerde Artikelen

Controle van een magneetventiel met Scratch

Controle van een magneetventiel met Scratch

USB-controle van een magneetventiel met behulp van Lego Wedo robotica en "Scratch" programmeringR. D. Goodwin, W. Lecorchick, O. Ouatarra, Siderits, P. Mazari, C. RimmerMagneetafsluiters openen en sluiten met lage spanning RelaisWe illustreren h
Controle van een Computer met je gedachten!

Controle van een Computer met je gedachten!

Controle van uw computer met uw geest zeker lijkt iets nog steeds uit een sci-fi film, maar controle van de mening is eigenlijk een relatief gemakkelijke en goedkope iets te bereiken. Een goedkoop speelgoed van de EEG, laten we gebruiken de kracht va
Controle van een Arduino met PHP

Controle van een Arduino met PHP

hier is hoe te maken van je Arduino doen meer dan het internet zonder een ethernet of wifi schild. Dit is een eenvoudige manier om uw project bestuurbaar overal in de wereld!Stap 1: Platform CompatabilityDeze methode werkt niet onder Windows. Ik kan
Controle van een Arduino met uw iPhone

Controle van een Arduino met uw iPhone

Hey!Dit Instructable toont je hoe om te controleren van een Arduino met een iPhone zonder te programmeren van uw eigen applicatie van iOS. We gonna een LED flash maar u kunt ook een heleboel andere dingen mee doen!We zullen met behulp van een Arduino
Controle van een Arduino met uw telefoon.

Controle van een Arduino met uw telefoon.

In dit Instructable zal ik laten zien hoe om te controleren uw spullen met uw telefoon en de arduino board. Ik heb alles gecontroleerd uit rookmachines ook Kerstmis licht is met dit programma.Video:Sorry dat de video is nogal vreemd, want mijn camera
Controle van een Circuit met een TV-afstandsbediening (en een Arduino)

Controle van een Circuit met een TV-afstandsbediening (en een Arduino)

De meeste van de knoppen op de afstandsbediening worden nooit gebruikt. Dus waarom niet gebruiken om te bepalen van apparaten en andere elektronica rond uw huis. In dit project ga ik u tonen hoe te gebruiken een Arduino decoderen van het signaal van
Controle van een Camera met een Arduino en RS232 Shield

Controle van een Camera met een Arduino en RS232 Shield

Dit leerprogramma zal u tonen hoe u kunt controleren vele verschillende aspecten van de werking van een camera's met een Arduino. Deze bewerking kan worden de pan en tilt camera, zoom en focus van de lens, en RGB kenmerken. De Arduino zal gebruik mak
Controle van een Furby met Arduino (of andere microcontroller)

Controle van een Furby met Arduino (of andere microcontroller)

De Million Dollar Furby: We kunnen hem herstellen. We hebben de technologie.Vervolg van de vorige Instructable waar we weggesneden Furby van primitieve hersenen, is het nu tijd om het te vervangen met iets groter.Dit Instructable zal detailleren hoe
Controle van een kakkerlak met Arduino voor onder $30

Controle van een kakkerlak met Arduino voor onder $30

Een paar jaar geleden zag ik achtertuin hersenen smartphone gecontroleerde kakkerlak, en het net blies mijn gedachten! Ik heb geprobeerd om mijn moeder om me kopen te laten, maar de vermelding van kakkerlakken overtuigde haar anders. :) Ik begon met
Controle van een LED met PWM-uitgang

Controle van een LED met PWM-uitgang

Zoals u wellicht heeft gemerkt in de Arduino board (Uno, Mega-etc.) Huidige aantal PIN die zijn hebben vervolgens een symbool als een golf.Dit symbool geeft aan dat de uitvoer kan ook worden gebruikt in "PWM" of "Pulsbreedtemodulatie".
Controle van een massage met een beroerte Sensor

Controle van een massage met een beroerte Sensor

Fabriceren van de Sensor van een beroerteDe Sensor van een beroerte is een apparaat dat op je touch, met de mooie zachte gevoel van weefsel en garen reageert. U kunt het pluche besturingselementen toevoegen voor uw Mod die kan worden ingesloten in uw
Controle van een Arduino met een horloge (TI eZ430 Chronos)

Controle van een Arduino met een horloge (TI eZ430 Chronos)

het horlogeDe Texas Instruments eZ430 Chronos is een coole gadget. Het heeft bidirectionele radiocommunicatie, en een gehele bos van sensoren: temperatuur, druk, versnelling.Het is in feite een development kit voor de MSP-430 (een low-power microcont
Home Automation / controle van een relais met uw parallelle poort

Home Automation / controle van een relais met uw parallelle poort

dit is mijn versie van externe apparaten met uw computer besturen. Namelijk met de LPT- of parallelle poort.De software is van Lalim, versie 3.0.6. Het octrooi was niet langer geldig scènes 2009 en de directe link naar deze controller zit niet langer
Basis Set van en de controle van een Robot met vaste as

Basis Set van en de controle van een Robot met vaste as

Dit is hoe we waren in staat om een robot met een fix as bewegen rond een vierkant met 2 x 2 en toont ook hoe we het instellen.Stap 1: De Items die u nodig hebtItemsEen 9v batterijEen 9v batterij connector0.0 Philips hoofd schroevendraaier4 DC-motore