• 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
Sterowanie serwo - czujnik przeszkód
#1
Witam, 

Próbuję sterować ruchami silnika serwo przy wykorzystaniu czujnika przeszkód do sterowania drzwiami. Napisałem krótki program w tym celu: gdy czujnik nie wykrywa przeszkody serwo wykonuje ruch, natomiast jeżeli na czujniku pojawia się przeszkoda to serwo powinno się zatrzymać. Program działa poprawnie, ale niestety nie tak jak chciałbym. Nie działa on gdy przeszkoda zostaje wykryta w trakcie ruchu - wtedy serwo powinno zatrzymać się w pewnym punkcie - jak najszybciej, ale w moim przypadku zatrzymuje się ono dopiero na końcu zakresu swojego ruchu. 

Kod:
#include <Servo.h>
Servo myservo;
int PrzeszkodaPin = 8;  
int przeszkoda = HIGH;  
int pos = 0;
void setup() {
pinMode(2,OUTPUT);
myservo.attach(3);
pinMode(PrzeszkodaPin, INPUT_PULLUP);
Serial.begin(9600);
 
}

void loop() {
         
 przeszkoda = digitalRead(PrzeszkodaPin);
 if (przeszkoda== LOW)
 {
   Serial.println("obecny");
 }
 else
 {
  Serial.println("nieobecny");
          myservo.write(0);
          delay(1000);
          myservo.write(90);  
          delay(1000);
 }
}

Mógłbym liczyć na jakieś wskazówki z Waszej strony? Chciałbym, aby nastąpiła reakcja serwa w czasie rzeczywistym i gdy przeszkoda znika z pola czujnika, to serwo ruszałoby dalej.
 
Odpowiedź
  


Wiadomości w tym wątku
Sterowanie serwo - czujnik przeszkód - przez totot3 - 26-05-2016, 18:05

Skocz do:


Przeglądający: 1 gości