Styra en RepStrap bearbetning (4 / 25 steg)
Steg 4: Arduino kod
Detta projekt kräver att delar av koden. "Firmware" som är laddad på Arduino mikrokontroller. Och "Programvara" som körs i behandlingen programmet på datorn.
Befälsordningen går så här - bearbetning -> Ardcuino Board -> Steppr -> drivrutiner stegmotorer -> X-Y stadier.
Här är lite mer i detalj i meddelandet som kommer att hända, utifrån min förståelse av hur saker fungerar...
Bearbetning programvara skickar kommandon till Arduino styrelsen över USB-kabeln. T The Arduino styrelsen kommer att ta kommandot och ange den angivna utgångsstift till hög eller låg logik (5V eller 0V). Stepper drivrutinerna är anslutna till Arduino styrelsen utgångarna. Så när förarna ser de höga och låga signalerna, skicka de ström till approriate spolarna i stegmotorer, att göra dem gå.
Koden nedan ställer in Arduino styrelsen att lyssna efter de kommandon som skickas från bearbetning och sedan vidta åtgärder.
Du kan klippa och klistra in koden i Arduino IDE. Kontrollera koden genom att klicka på "Play" knappen. Om det finns inga fel du kan sedan överföra det till styrelsen genom att trycka på knappen överför - som ser ut som en högerpil.
Arduino kod:
Läsa data från seriella och slå eller av en ljus beroende på värdet
och kontroll stepper motor på RepStrap
char val; Uppgifterna från den seriella porten
int ledPin = 13. Ange PIN-koden till digital i/o-13
#define XstepPin 10
#define XdirPin 7
#define YstepPin 2
#define YdirPin 3
void setup() {
pinMode (ledPin, produktionen); Ställ in pinkodsskydd som utgång
pinMode (XstepPin, OUTPUT);
pinMode (XdirPin, OUTPUT);
pinMode (YstepPin, OUTPUT);
pinMode (YdirPin, OUTPUT);
Serial.BEGIN(9600); Starta seriell kommunikation på 9600 bps
}
void loop() {
om (Serial.available()) {/ / om data är tillgängliga att läsa,
Val = Serial.read(); läsa den och förvara den i val
}
om (val == "H") {/ / om H var fick
digitalWrite (ledPin, hög); Aktivera LED
digitalWrite(XdirPin,HIGH);
digitalWrite(XstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(XstepPin,LOW);
delayMicroseconds(2);
}
om (val == "h") {
digitalWrite (ledPin, hög); Aktivera LED
digitalWrite(YdirPin,HIGH);
digitalWrite(YstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(YstepPin,LOW);
delayMicroseconds(2);
}
om (val == "L") {
digitalWrite (ledPin, låg); Annars Stäng av
digitalWrite(XdirPin,LOW);
digitalWrite(XstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(XstepPin,LOW);
delayMicroseconds(2);
}
om (val == "l") {
digitalWrite (ledPin, låg); Annars Stäng av
digitalWrite(YdirPin,LOW);
digitalWrite(YstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(YstepPin,LOW);
delayMicroseconds(2);
}
delayMicroseconds(1000); <<<<<< Används för att ändra hastighet <<<<<<<<
}