• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Silnik i pilot
#1
Lightbulb 
Witam, dysponuje arduino UNO i chciałbym za pomocą pilota radiowego z zestawu (takiego z czterema przyciskami) sterować silnikiem krokowym. Jednak jest problem, gdyż program "nie chce" jednocześnie sprawdzać czy wysłana jest nowa dana dt. silnika i poruszać silnikiem. Próbowałem  ruszać kawałek i czekać chwilę lecz takie rozwiązanie mnie nie satysfakcjonuje. Trwa to zbyt długo. Poniżej załączam kod.
Kod:
#include <StepperMotor.h>

StepperMotor motor(8,9,10,11);
void setup(){
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);//piny od pilota
Serial.begin(9600);
}
 int bieg = 4;
 int tempo;
 int krok;


void loop(){

 
 while (digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW && digitalRead(6) == LOW) {

 }  
 while (digitalRead(3) == HIGH) {  // Button 1 pressed
   if (bieg<7)
   {bieg++;
    break;
   }
 
 }
 
 while (digitalRead(4) == HIGH) {  // Button 2 pressed
 if (bieg>1)
   {bieg--;
    break;
   }
 }  
 
 while (digitalRead(5) == HIGH) {  // Button 3 pressed
 
 }
 
 while (digitalRead(6) == HIGH) {  // Button 4 pressed

 }
 

 while (bieg>0)
 {
 
   if(bieg==1)
     {
     tempo=1;
     krok=-100;
     break;
     }else if(bieg==2)
     {
     tempo=2;
     krok=-100;
     break;  
     }else if(bieg==3)
     {
     tempo=3;
     krok=-100;
     break;  
     }else if(bieg==4)
     {
      Serial.println("muj beg jest 4");
     tempo=0;
     krok=0;
     return;
     
     }else if(bieg==5)
     {
     tempo=3;
     krok=1oo;
     break;  
     }else if(bieg==6)
     {
     tempo=2;
     krok=100;
     break;  
     }else if(bieg==7)
     {
     tempo=1;
     krok=100;
     break;  
     }

 }
 Serial.println(bieg);
 Serial.println(krok);
 Serial.println(tempo);
 Serial.println("|/\/\/\/\/\/\/\/\/\|");
motor.setStepDuration(tempo);
motor.step(krok);
 

}
 
Odpowiedź
  


Wiadomości w tym wątku
Silnik i pilot - przez Janusz - 01-02-2017, 17:59
RE: Silnik i pilot - przez namok - 01-02-2017, 20:01
RE: Silnik i pilot - przez Smaczek - 02-02-2017, 12:30

Skocz do:


Przeglądający: 2 gości