mirror of
https://github.com/KevinMidboe/Arduino.git
synced 2026-01-29 04:15:36 +00:00
Init commit with many years of arduino sketches and projects. I dont know if the esp8266 includes much, but there are also libraries. I hope they dont have crazy automatic versioning through the Arduino IDE.
This commit is contained in:
93
Projects/StepMotor/StepMotor.ino
Executable file
93
Projects/StepMotor/StepMotor.ino
Executable file
@@ -0,0 +1,93 @@
|
||||
/* -----------------------------------------------------------
|
||||
* | Arduino Experimentation Kit Example Code |
|
||||
* | CIRC-03 .: Spin Motor Spin :. (Transistor and Motor) |
|
||||
* -----------------------------------------------------------
|
||||
*
|
||||
* The Arduinos pins are great for driving LEDs however if you hook
|
||||
* up something that requires more power you will quickly break them.
|
||||
* To control bigger items we need the help of a transistor.
|
||||
* Here we will use a transistor to control a small toy motor
|
||||
*
|
||||
* http://tinyurl.com/d4wht7
|
||||
*
|
||||
*/
|
||||
|
||||
int motorPin = 9; // define the pin the motor is connected to
|
||||
// (if you use pin 9,10,11 or 3you can also control speed)
|
||||
|
||||
/*
|
||||
* setup() - this function runs once when you turn your Arduino on
|
||||
* We set the motors pin to be an output (turning the pin high (+5v) or low (ground) (-))
|
||||
* rather than an input (checking whether a pin is high or low)
|
||||
*/
|
||||
void setup()
|
||||
{
|
||||
pinMode(motorPin, OUTPUT);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* loop() - this function will start after setup finishes and then repeat
|
||||
* we call a function called motorOnThenOff()
|
||||
*/
|
||||
|
||||
void loop() // run over and over again
|
||||
{
|
||||
motorOnThenOff();
|
||||
//motorOnThenOffWithSpeed();
|
||||
//motorAcceleration();
|
||||
}
|
||||
|
||||
/*
|
||||
* motorOnThenOff() - turns motor on then off
|
||||
* (notice this code is identical to the code we used for
|
||||
* the blinking LED)
|
||||
*/
|
||||
void motorOnThenOff(){
|
||||
int onTime = 2500; //the number of milliseconds for the motor to turn on for
|
||||
int offTime = 1000; //the number of milliseconds for the motor to turn off for
|
||||
|
||||
digitalWrite(motorPin, HIGH); // turns the motor On
|
||||
delay(onTime); // waits for onTime milliseconds
|
||||
digitalWrite(motorPin, LOW); // turns the motor Off
|
||||
delay(offTime); // waits for offTime milliseconds
|
||||
}
|
||||
|
||||
/*
|
||||
* motorOnThenOffWithSpeed() - turns motor on then off but uses speed values as well
|
||||
* (notice this code is identical to the code we used for
|
||||
* the blinking LED)
|
||||
*/
|
||||
void motorOnThenOffWithSpeed(){
|
||||
|
||||
int onSpeed = 200; // a number between 0 (stopped) and 255 (full speed)
|
||||
int onTime = 2500; //the number of milliseconds for the motor to turn on for
|
||||
|
||||
int offSpeed = 50; // a number between 0 (stopped) and 255 (full speed)
|
||||
int offTime = 1000; //the number of milliseconds for the motor to turn off for
|
||||
|
||||
analogWrite(motorPin, onSpeed); // turns the motor On
|
||||
delay(onTime); // waits for onTime milliseconds
|
||||
analogWrite(motorPin, offSpeed); // turns the motor Off
|
||||
delay(offTime); // waits for offTime milliseconds
|
||||
}
|
||||
|
||||
/*
|
||||
* motorAcceleration() - accelerates the motor to full speed then
|
||||
* back down to zero
|
||||
*/
|
||||
void motorAcceleration(){
|
||||
int delayTime = 50; //milliseconds between each speed step
|
||||
|
||||
//Accelerates the motor
|
||||
for(int i = 0; i < 256; i++){ //goes through each speed from 0 to 255
|
||||
analogWrite(motorPin, i); //sets the new speed
|
||||
delay(delayTime); // waits for delayTime milliseconds
|
||||
}
|
||||
|
||||
//Decelerates the motor
|
||||
for(int i = 255; i >= 0; i--){ //goes through each speed from 255 to 0
|
||||
analogWrite(motorPin, i); //sets the new speed
|
||||
delay(delayTime); // waits for delayTime milliseconds
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user