



Code: Select all
void digital::loop(int motor_pin_1, int motor_pin_2, char key) {
time_t now,after;
time_t second=10;
printf("press 'd (<--open-->)' or 'a (-->close<--)' key OR 'e' to stop and change mode:\n");
do {
key = getchar();
now = time(NULL);
after= now+ second;
if (key == 'd') {
printf("<--open-->\n");
digitalWrite(motor_pin_1, HIGH);
digitalWrite(motor_pin_2, LOW);
}
else if (key == 'a') {
printf("-->close<--\n");
digitalWrite(motor_pin_2, HIGH);
digitalWrite(motor_pin_1, LOW);
//delayMicroseconds(200);
// digitalWrite(motor_pin_1, LOW);
// digitalWrite(motor_pin_2, LOW);
}
} while (key != 'e' || now<after);
}
Code: Select all
void digital::loop(int motor_pin_1, int motor_pin_2, char key) {
unsigned long startTime;
printf("press 'd (<--open-->)' or 'a (-->close<--)' key OR 'e' to stop and change mode:\n");
do{
key = getchar();
startTime = millis();
if (key == 'd') {
printf("<--open-->\n");
digitalWrite(motor_pin_1, HIGH);
digitalWrite(motor_pin_2, LOW);
}
else if (key == 'a') {
printf("-->close<--\n");
digitalWrite(motor_pin_2, HIGH);
digitalWrite(motor_pin_1, LOW);
}
else if (key == 'e') {
break;
}
}while (millis() - startTime <= 5000);