Stap 4: Arduino Code
Dit project vereist stukjes code. 'Firmware' die in de Arduino microcontroller is geladen. En 'Software' die wordt uitgevoerd door de Processing programma op de PC.
De bevelsketen gaat als volgt - Processing -> Ardcuino Board -> Steppr -> chauffeurs stappenmotoren -> X-Y stadia.
Hier is een beetje meer detail van de mededeling dat gebeuren zal, op basis van mijn begrip van de manier waarop dingen werken...
De Processing software stuurt commando's naar de Arduino board via de USB-kabel. T The Arduino board zal nemen van de opdracht en de opgegeven output pinnen te hoge of lage logica Staten (5V of 0V). De stepper-stuurprogramma's zijn aangesloten op de Arduino board uitgangen. Dus wanneer de stuurprogramma's de boven- en onderlimieten signalen ziet, sturen ze macht naar de formulierbibliotheek spoelen in de stappenmotoren, waardoor ze gaan.
De onderstaande code is ingesteld van de Arduino board te luisteren naar de opdrachten verzonden door verwerking en vervolgens actie ondernemen.
U kunt knippen en plakken van de code in de Arduino IDE. Controleer vervolgens of de code door te klikken op de "Play" knop. Als er staan geen fouten die u vervolgens naar de Raad van bestuur uploaden kunt door te drukken op de upload-knop - die eruit als een pijl naar rechts ziet.
Arduino code:
Gegevens lezen van de serie en turn ON of OFF van een licht afhankelijk van de waarde
encontrole stappenmotor op RepStrap
char val; Gegevens ontvangen van de seriële poort
int ledPin = 13; De PIN-code ingesteld op digitale i/o-13
#define XstepPin 10
#define XdirPin 7
#define YstepPin 2
#define YdirPin 3
VOID Setup {}
pinMode (ledPin, OUTPUT); Set pin als OUTPUT
pinMode (XstepPin, uitvoer);
pinMode (XdirPin, uitvoer);
pinMode (YstepPin, uitvoer);
pinMode (YdirPin, uitvoer);
Serial.begin(9600); De seriële communicatie start 9600 bps
}
void loop {}
Als (Serial.available()) {/ / indien gegevens beschikbaar om te lezen,
Val = Serial.read(); Lees het en sla het in de val
}
Als (val == 'H') {/ / als H werd ontvangen
digitalWrite (ledPin, hoge); de LED inschakelen
digitalWrite(XdirPin,HIGH);
digitalWrite(XstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(XstepPin,LOW);
delayMicroseconds(2);
}
Als (val == 'h') {}
digitalWrite (ledPin, hoge); de LED inschakelen
digitalWrite(YdirPin,HIGH);
digitalWrite(YstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(YstepPin,LOW);
delayMicroseconds(2);
}
Als (val == 'L') {}
digitalWrite (ledPin, laag); Anders zwenking op vandoor
digitalWrite(XdirPin,LOW);
digitalWrite(XstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(XstepPin,LOW);
delayMicroseconds(2);
}
Als (val == 'l') {}
digitalWrite (ledPin, laag); Anders zwenking op vandoor
digitalWrite(YdirPin,LOW);
digitalWrite(YstepPin,HIGH);
delayMicroseconds(2);
digitalWrite(YstepPin,LOW);
delayMicroseconds(2);
}
delayMicroseconds(1000); <<<<<< Gebruik CHANGE SPEED <<<<<<<<
}