hrmnk zagreb
Član broj: 320297 Poruke: 76 *.adsl.net.t-com.hr.
|
Moji prvi pokušaji. uspio sam pokrenuti koračni motor pomoću dvije tipke. prva tipka pokrene motor u jednom smijeru i vrti ga puni krug. Druga u suprotnom smijeru. e sada kad promjenim parametar u naredbi myStepper.step(stepsPerRevolution); i recimo stavim neku vrijednost na kraj naredbe npr. myStepper.step(stepsPerRevolution*2); mijenjam količinu rotacije motora. ( u ovom slučaju dva kruga) ( ako stavim /4) četvrtina kruga itd. Sljedeći korak je bio postava tipkovnice 4x4 tipke i pokušaj da preko nje mijenjam taj parametar, ali nism uspio drugo osim pokrenut motor sa istim parametrima kao što je isprogramirano.
Očito fali
1.Projekt
// projekt upravljanj koračnim motorom pomoću dviju tipki
#include <Stepper.h>
int stepIN1Pin = 11;
int stepIN2Pin = 10;
int stepIN3Pin = 13;
int stepIN4Pin = 12;
int stepsPerRevolution = 1440; // broj koraka za jedan puni krug motora
const int button1Pin = 2; // tipka ljevo na pinu 2
const int button2Pin = 3; // tipka desno na pinu 3
Stepper myStepper(stepsPerRevolution, stepIN1Pin, stepIN3Pin, stepIN2Pin, stepIN4Pin);
void setup() {
// postava tipki na ulaz
pinMode(button1Pin, INPUT);
pinMode(button2Pin, INPUT);
myStepper.setSpeed(15);
}
void loop() {
int button1State, button2State;
button1State = digitalRead(button1Pin);
button2State = digitalRead(button2Pin);
if (((button1State == LOW) && !(button2State == LOW)))
myStepper.step(stepsPerRevolution);
if (((button2State == LOW) && !(button1State == LOW)))
myStepper.step(-stepsPerRevolution);
}
2. projekt
#include <Stepper.h>
#include <Wire.h>
#include <Keypad.h>
int stepIN1Pin = 11;
int stepIN2Pin = 10;
int stepIN3Pin = 13;
int stepIN4Pin = 12;
int stepsPerRevolution = 1440;
char customKey;
const byte ROWS = 4;
const byte COLS = 4;
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
Stepper myStepper(stepsPerRevolution, stepIN1Pin, stepIN3Pin, stepIN2Pin, stepIN4Pin);
void setup() {
myStepper.setSpeed(10);
}
void loop() {
char customKey = customKeypad.getKey();
if (customKey)
myStepper.step(stepsPerRevolution/4);
if (customKey)
myStepper.step(-stepsPerRevolution/4);
}
|