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

Stap 11: correctie op firmata...

Het lijkt erop dat er iets mis in stap 10, die maakt het is dus de stappenmotor niet wordt uitgevoerd.

De onderstaande code werkt - maar niet zo vele commentaren.

//////////////////////////Arduino//////////////////////////

Bedrading/Arduino code: / / simmple digitale firmata
Ondersteunt zo veel digitale ingangen en uitgangen mogelijk.

Deze voorbeeldcode is in het publieke domein.

#include < Firmata.h >

#define XstepPin 10
#define XdirPin 7

#define YstepPin 2
#define YdirPin 3

byte previousPIN [2];  PIN betekent poort voor invoer
byte previousPORT [2];

VOID outputPort (byte portNumber, byte portValue)
{
alleen gegevens verzenden als deze verandert, anders krijg je te veel berichten!
Als (previousPIN [portNumber]! = portValue) {}
Firmata.sendDigitalPort (portNumber, portValue);
previousPIN [portNumber] = portValue;
Firmata.sendDigitalPort (portNumber, portValue);
}
}

VOID setPinModeCallback (byte pin, int modus) {}
if(PIN > 1) {/ / don't touch RxTx pinnen (0,1)
pinMode (pin, modus);
}
}

VOID digitalWriteCallback (byte poort, int value)
{
byte i;
byte currentPinValue, previousPinValue;

Als (waarde! = previousPORT[port]) {}
voor (ik = 0; ik < 8; i ++) {}
currentPinValue = (byte) waarde & (1 << ik);
previousPinValue = previousPORT [poort] & (1 << ik);
Als (currentPinValue! = previousPinValue) {}
digitalWrite (i + (poort * 8), currentPinValue);
}
}
previousPORT [poort] = waarde;
}
}

VOID Setup
{
Firmata.setFirmwareVersion (0, 1);
Firmata.attach (DIGITAL_MESSAGE, digitalWriteCallback);
Firmata.attach (SET_PIN_MODE, setPinModeCallback);
Firmata.begin(57600);
}

void loop
{
outputPort (0, PIND & ~ B00000011); pinnen 0-7, het negeren van de Rx/Tx pinnen (0/1)
outputPort (1, PINB); pinnen 8-13
while(firmata.available()) {}
Firmata.processInput();
}

toegevoegde stepper reeks firmata code
digitalWrite(XstepPin,HIGH);    stappen ondernemen
digitalWrite(YstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(XstepPin,LOW);
digitalWrite(YstepPin,LOW);
delayMicroseconds(2);
delayMicroseconds(1000); <<<<<< Gebruik CHANGE STEPPER SPEED??? <<<<<<<<

}

/////////////////////////////PROCESSING//////////////////////////////////////

/**
* Eenvoudig schrijven.
*
* Controleer of de muis over een rechthoek is en de status op de seriële poort schrijft.
* Dit voorbeeld werkt met de bedrading / Arduino programma dat volgt hieronder.
*/

importeren van processing.serial.*;
importeren van cc.arduino.*;

Arduino arduino;

Seriële myPort;  Object maakt van seriële klasse
Gegevens ontvangen van de seriële poort
int ledPin = 13;
int XstepPin = 10;
int XdirPin = 7;

VOID Setup
{
grootte (200, 200);
Ik weet dat de eerste poort in de seriële lijst op mijn mac
is altijd mijn FTDI adapter, dus ik Serial.list() [0 open].
Op Windows-computers wordt dit over het algemeen geopend COM1.
Open welke poort is degene die u gebruikt.
String portName = Serial.list() [0];
myPort = nieuwe Serial (deze, portName, 9600);
Arduino = nieuwe Arduino (dit, Arduino.list() [0], 57600); v1
arduino.pinMode (ledPin, Arduino.OUTPUT);
arduino.pinMode (XstepPin, Arduino.OUTPUT);
arduino.pinMode (XdirPin, Arduino.OUTPUT);

}

VOID draw() {}
Background(255);
Als (mouseOverRect() == true) {/ / als de muisaanwijzer zich boven het vierkant,
Fill(204);                    kleur wijzigen en
arduino.digitalWrite (ledPin, Arduino.HIGH);              Stuur een H om aan te geven van de muisaanwijzer zich boven het vierkant
arduino.digitalWrite (XdirPin, Arduino.HIGH);
arduino.digitalWrite (XstepPin, Arduino.HIGH);
delay(1);
arduino.digitalWrite (XstepPin, Arduino.LOW);
delay(1);

}
else {/ / als de muis is nog niet voorbij het plein,
Fill(0);                      kleur wijzigen en
arduino.digitalWrite (ledPin, Arduino.LOW);      Stuur anders een L
arduino.digitalWrite (XdirPin, Arduino.LOW);
arduino.digitalWrite (XstepPin, Arduino.HIGH);
delay(1);
arduino.digitalWrite(XstepPin,Arduino.LOW);
delay(1);

}
rect (50, 50, 100, 100);         Teken een vierkant
}

Booleaanse mouseOverRect() {/ / Test als de muisaanwijzer zich boven het vierkant
retourneren ((mouseX > = 50) & & (mouseX < = 150) & & (mouseY > = 50) & & (mouseY < = 150));
}

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