Projekte und Tutorials für Arduino › Foren › StartHardware-Forum › Steppermotor um eine bestimmte Gradzahl drehen › Antwort auf: Steppermotor um eine bestimmte Gradzahl drehen
3. April 2020 um 18:00 Uhr
#7122
Thorsten
Teilnehmer
so…mit diesem Sketch hab ich jetzt den 2ten Taster auch dabei und der Motor fährt auch wieder hoch
#include <Stepper.h>
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define BRIGHTNESS 50
int button = 5;
int button2 = 3;
const int steps = 500;
Stepper stepper(steps, 8,9,10,11);
Adafruit_NeoPixel strip = Adafruit_NeoPixel (18, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
// put your setup code here, to run once:
strip.begin();
strip.show();
strip.setBrightness(BRIGHTNESS);
stepper.setSpeed(30);
pinMode(button, INPUT);
pinMode(button2, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(button)==HIGH){
redfade();
motordown();
for(int i = 0; i<strip.numPixels();i++){
strip.setPixelColor(i,strip.Color(255,0,0));
strip.show();
}
}else{
}
if(digitalRead(button2)==HIGH){
redfade();
motorup();
for(int i = 0; i<strip.numPixels();i++){
strip.setPixelColor(i,strip.Color(0,0,0));
strip.show();
}
}else{
}
}
void motordown(){
stepper.step(-steps);
}
void motorup(){
stepper.step(steps);
}
void redfade(){
uint16_t i,j;
for (j=15;j<255;j++){
for(i=0;i <strip.numPixels(); i++){
strip.setPixelColor(i,j,0,0);
}
strip.show();
delay(10);
}
delay(500);
for(j=255;j>15;j--){
for(i=0;i<strip.numPixels(); i++){
strip.setPixelColor(i,j,0,0);
}
strip.show();
delay(10);
}
delay(500);
}
Videolink folgt