27-12-2019, 23:14
(Ten post był ostatnio modyfikowany: 27-12-2019, 23:15 przez Jarewa0606.)
Kod:
#include <Stepper.h>
//ustawienia dla silnika
const int stepsPerRevolution = 64;
signed int direction = -1;
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
long motorSpeed = 256;
//--------------------------
boolean level = 0; // poziom początkowy oswietlenia i pracy silnika
uint32_t Tims =0;
uint8_t ostatni_odczyt =0;
uint8_t stan_sw =0;
void setup() {
myStepper.setSpeed(motorSpeed);
pinMode(3,OUTPUT); //oswietlenie przycisku
pinMode(2,INPUT_PULLUP); // przycisk
digitalWrite(3,level);
}
void loop() {
//włączenie silnika w zależnosci od poziomu
if(level){
myStepper.step(direction);
}
//----------------------------
//obsługa przycisku chwilowego
uint8_t odczyt = digitalRead(2);
if(odczyt != ostatni_odczyt){
Tims=millis();
}
if(millis()- Tims >= 100UL){
if(odczyt!=stan_sw){
stan_sw=odczyt;
if(stan_sw==LOW){
level = !level;
digitalWrite(3,level);
}
}
}
}
Jak zadziała to pomyśl co zrobiłem...
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą.