Schritt 4: Arduino Code
Dieses Projekt erfordert, Teile des Codes. "Firmware", die auf den Arduino-Mikrocontroller geladen wird. Und "Software", die durch das Verarbeitungsprogramm auf dem PC läuft.
Die Befehlskette geht so - Verarbeitung -> Ardcuino-Board-Treiber -> Steppr > Schrittmotoren -> XY-Stufen.
Hier ist ein wenig mehr Details der Kommunikation, die passiert werden, basierend auf mein Verständnis für die Art, wie Dinge funktionieren...
Processing-Software sendet Befehle an das Arduino-Board über das USB-Kabel. T das Arduino-Board nimmt den Befehl und legen Sie die angegebene Output-Pins zu hoch oder niedrig Logikzustände (5V oder 0V). Die Schrittmotor-Treiber sind mit der Arduino Board Ausgänge verdrahtet. Wenn der Treiber die hohen und niedrigen Signale sehen, senden sie Energie an den passenden Spulen in den Schrittmotoren, so dass sie gehen.
Der folgende Code stellt das Arduino-Board zu hören für die Befehle, die von der Verarbeitung gesendet und dann Maßnahmen ergreifen.
Sie können Ausschneiden und Einfügen des Codes in der Arduino IDE. Dann überprüfen Sie den Code, indem Sie auf den "Play" Taste. Wenn es keine Fehler gibt dann laden Sie es an den Vorstand per Knopfdruck Upload - die aussieht wie ein Pfeil nach rechts.
Arduino Code:
Lesen Sie Daten von der seriellen und schalten Sie oder aus einem Licht je nach dem Wert
und Steuerung Schrittmotor auf RepStrap
Char Val; Daten von der seriellen Schnittstelle
Int-LedPin = 13; Legen Sie die Pin auf digitale e/a-13
#define XstepPin 10
#define XdirPin 7
#define YstepPin 2
#define YdirPin 3
void setup() {}
PinMode (OUTPUT-LedPin,); Festgelegten Pin als Ausgang
PinMode (XstepPin, OUTPUT);
PinMode (XdirPin, OUTPUT);
PinMode (YstepPin, OUTPUT);
PinMode (YdirPin, OUTPUT);
Serial.Begin(9600); Starten Sie die serielle Kommunikation bei 9600 Bit/s
}
void loop() {}
Wenn (Serial.available()) {/ / wenn Daten zu lesen,
Val = Serial.read(); Lesen Sie es und bewahren Sie es an val
}
Wenn (Val == 'H') {/ / wenn H empfangen wurde
DigitalWrite (LedPin, HIGH); Schalten Sie die LED
digitalWrite(XdirPin,HIGH);
digitalWrite(XstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(XstepPin,LOW);
delayMicroseconds(2);
}
Wenn (Val == 'h') {}
DigitalWrite (LedPin, HIGH); Schalten Sie die LED
digitalWrite(YdirPin,HIGH);
digitalWrite(YstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(YstepPin,LOW);
delayMicroseconds(2);
}
Wenn (Val == 'L') {}
DigitalWrite (LedPin, LOW); Andernfalls deaktivieren
digitalWrite(XdirPin,LOW);
digitalWrite(XstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(XstepPin,LOW);
delayMicroseconds(2);
}
Wenn (Val == 'l') {}
DigitalWrite (LedPin, LOW); Andernfalls deaktivieren
digitalWrite(YdirPin,LOW);
digitalWrite(YstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(YstepPin,LOW);
delayMicroseconds(2);
}
delayMicroseconds(1000); <<<<<< Mit ÄNDERUNGSGESCHWINDIGKEIT <<<<<<<<
}