• 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
Kod dla początkującego
#1
Question 
Witam.
Tworząc swojego pierwszego robota na platformie arduino natrafiłem na pewien błąd.Otóż kiedy chcę aby serwomechanizm z czujnikiem obracał się niezależnie od komend które wykonują silniki po prostu się to nie udaję.Serwo się rusza ale już silniki nie reagują.Próbowałem wielu wersji kodu ale nadal nie umiem rozwiązać tego problemu.Może ktoś pomoże :Smile ?

Kod:
int Motor1 = 8;
int Motor2 = 9;
int Motor3 = 10;
int Motor4 = 11;


char command = 'S';
int velocity = 0;

#include "Servo.h" //Biblioteka służąca do obsługi serwomechanizmu

Servo myservo;  // Utworzenie obiektu myservo
int pos = 0; //Początkowa pozycja serwa

void setup()
{      
 Serial.begin(9600);              
 pinMode(Motor1, OUTPUT);
 pinMode(Motor2, OUTPUT);
 pinMode(Motor3, OUTPUT);
 pinMode(Motor4, OUTPUT);
 
 myservo.attach(12);  //Przyłaczenie serwomechanizmu do pinu 9 w Arduino

}

void loop(){

 //Analogiczne odejmowanie pozycji po osiągnięciu maksumum
 for(pos = 180; pos>=0; pos-=1)    
 {                                
  myservo.write(pos);              
  delay(20);                      
 }
 for(pos = 0; pos <= 180; pos += 1) //Zmiana pozycji (dodawanie) do 180 stopni
 {                                  
  myservo.write(pos); //ustawienie zadanej pozycji            
  delay(20); //Czas na zmiane pozycji                
 }

 if(Serial.available() > 0){
   command = Serial.read();
   
   /* Wraz z wciśnięciem konkretnego przycisku w aplikacji na smartphone,
      wysyłany jest dany sygnał do arduino przez moguł BT. W ustawieniach
      aplikacji wypisany jest opis wartości konkretnych liter.
  */
 
   switch(command){
   case 'R':  
   digitalWrite(Motor1, HIGH);    
   digitalWrite(Motor4, HIGH);
      break;
   case 'L':  
      digitalWrite(Motor2, HIGH);
      digitalWrite(Motor3, HIGH);
     break;
   case 'B':  
      digitalWrite(Motor2, HIGH);
      digitalWrite(Motor4, HIGH);
     break;
   case 'F':
      digitalWrite(Motor1, HIGH);
      digitalWrite(Motor3, HIGH);
     break;
   case 'S':  
      digitalWrite(Motor1, LOW);
      digitalWrite(Motor2, LOW);
      digitalWrite(Motor3, LOW);
      digitalWrite(Motor4, LOW);
     break;
     
      }
 }
}

   
  I schemat w załączniku


Załączone pliki Miniatury
   
 
Odpowiedź
  


Wiadomości w tym wątku
Kod dla początkującego - przez Bator11 - 09-05-2016, 21:12
RE: Kod dla początkującego - przez JasQ - 09-05-2016, 23:47
RE: Kod dla początkującego - przez Bator11 - 10-05-2016, 19:57
RE: Kod dla początkującego - przez JasQ - 10-05-2016, 23:15
RE: Kod dla początkującego - przez Bator11 - 15-05-2016, 17:38
RE: Kod dla początkującego - przez JasQ - 15-05-2016, 19:29
RE: Kod dla początkującego - przez Bator11 - 18-05-2016, 15:40
RE: Kod dla początkującego - przez JasQ - 18-05-2016, 16:20
RE: Kod dla początkującego - przez Bator11 - 18-05-2016, 20:33
RE: Kod dla początkującego - przez JasQ - 18-05-2016, 20:43
RE: Kod dla początkującego - przez Bator11 - 19-05-2016, 16:36
RE: Kod dla początkującego - przez JasQ - 19-05-2016, 20:28

Skocz do:


Przeglądający: 1 gości