Stap 5: Code
http://Electronics-DIY.com/Electronics/stepper_motors.php
http://Arduino.CC/en/tutorial/StepperUnipolar
Zodra u dat hebt, gelden de volgende code aan uw arduino, en testen. Ik heb //notes om u een idee van wat ik dacht toen ik schreef het gegeven.
int buttonPin = 3; etiketten pinnen voor het gemak later
int motorPin1 = 8;
int motorPin2 = 11;
int motorPin3 = 10;
int motorPin4 = 9;
int ledPin = 13;
int delayTime = 20; Hiermee stelt u een basis vertraging, mijn stappenmotor omkeek
Als ik minder dan 20ms gebruikt
VOID Setup {}
pinMode (motorPin1, OUTPUT); laat weten hoe te behandelen elke pin arduino
pinMode (motorPin2, OUTPUT);
pinMode (motorPin3, OUTPUT);
pinMode (motorPin4, OUTPUT);
pinMode (ledPin, OUTPUT);
beginSerial(9600);
pinMode (buttonPin, INPUT); uw trigger/switch
}
void loop {//sets een lus
Als (digitalRead(buttonPin) == HIGH) //will alleen lagere spin als voorwaarde is voldaan
{
voor (int i = 0; ik < = 120; i ++) //will herhalen volgende code 120 keer
{
digitalWrite (motorPin1, hoge); code biedt één stap
digitalWrite (motorPin2, laag); 120 keer verlaagt herhalen
digitalWrite (motorPin3, laag); spin rond 2 voeten
digitalWrite (motorPin4, hoge);
delay(delayTime);
digitalWrite (motorPin1, laag);
digitalWrite (motorPin2, laag);
digitalWrite (motorPin3, hoge);
digitalWrite (motorPin4, hoge);
delay(delayTime);
digitalWrite (motorPin1, laag);
digitalWrite (motorPin2, hoge);
digitalWrite (motorPin3, hoge);
digitalWrite (motorPin4, laag);
delay(delayTime);
digitalWrite (motorPin1, hoge);
digitalWrite (motorPin2, hoge);
digitalWrite (motorPin3, laag);
digitalWrite (motorPin4, laag);
delay(delayTime);
}
delay(480); 480 + 20 = 500ms of 1/2 seconden vertraging
digitalWrite (ledPin, hoge); voordat licht activeert
delay(2000); blijft branden twee seconden
digitalWrite (ledPin, laag); wordt uitgeschakeld
delay(500); wacht een andere halve seconde
voor (int i = 0; ik < = 120; i ++) //repeats boven code in omgekeerde
{
digitalWrite (motorPin1, hoge); verhogen van spin back-up
digitalWrite (motorPin2, hoge);
digitalWrite (motorPin3, laag);
digitalWrite (motorPin4, laag);
delay(delayTime);
digitalWrite (motorPin1, laag);
digitalWrite (motorPin2, hoge);
digitalWrite (motorPin3, hoge);
digitalWrite (motorPin4, laag);
delay(delayTime);
digitalWrite (motorPin1, laag);
digitalWrite (motorPin2, laag);
digitalWrite (motorPin3, hoge);
digitalWrite (motorPin4, hoge);
delay(delayTime);
digitalWrite (motorPin1, hoge);
digitalWrite (motorPin2, laag);
digitalWrite (motorPin3, laag);
digitalWrite (motorPin4, hoge);
delay(delayTime);
}
}
anders //if voorwaarden niet zijn vervuld (geen hoog)
{
}
delay(1000); Wacht één seconde en probeer opnieuw