Skocz do zawartości

gorzki

Użytkownicy
  • Zawartość

    1
  • Rejestracja

  • Ostatnio

Posty napisane przez gorzki

  1. #include <Servo.h> //Biblioteka odpowiedzialna za serwa
     
    Servo serwomechanizm;  //Tworzymy obiekt, dzięki któremu możemy odwołać się do serwa 
    int pozycja = 0; //Aktualna pozycja serwa 0-180
    int zmiana = 6; //Co ile ma się zmieniać pozycja serwa?
     
    void setup() 
    { 
      serwomechanizm.attach(9);  //Serwomechanizm podłączony do pinu 9
    } 
     
    void loop() 
    {  
      if (pozycja < 180) { //Jeśli pozycja mieści się w zakresie
        serwomechanizm.write(pozycja); //Wykonaj ruch
      } else { //Jeśli nie, to powrót na początek
        pozycja = 0;
      }    
      
      pozycja = pozycja + zmiana; //Zwiększenie aktualnej pozycji serwa
      delay(200); //Opóźnienie dla lepszego efektu                        
    }

     Witam, jest to mój pierwszy post na forum oraz pierwszy tydzień zabawy z Arduino, dlatego z góry dziękuję za pomoc i komentarze, nawet jeśli problem jest banalny. 

    Buduję model, w którym jednym z elementów jest rozdzielacz hydrauliczny z 3 serwami. Zadaniem serw jest pełne otwarcie zaworu oraz odczekanie zadanego czasu. Po jego upływie zawór      zamyka się i znowu czekamy, aż upłynie zadany czas. Powyższy kod to kod z kursu do Aruduino (lekcja z zastosowaniem PWM). Kod działa i serwo pracuję non stop, otwiera i zamyka zawór, bez przerwy. Kombinowałem z funkcją delay jednak nic to nie dało, albo zrobiłem to źle. Czytałem, że musi zostać zastosowana tutaj jedna z funkcji arduino - millis(), ponieważ w trakcie pracy rozdzielacza inne elementy będą działać równolegle. Z tym również próbowałem, ale nie wyszło 😕 

    Przejdźmy do sprawy: jak zmodyfikować kod, aby -

    1) Istniała możliwość pracy innych elementów w czasie pracy rozdzielacza

    2) Serwa robiły pauzę na określony czas po otwarciu i zamknięciu zaworu

     

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.