• 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
Jak poprawić kod
#11
(05-01-2020, 13:32)Jarewa0606 napisał(a): Program tak działa, twój problem to brak czujnika pozycji.
To akurat wiem ale tak jak pisałem tak na piechotę to dobierając czasy można by to oszukać choć trochę bo jeśli ustawię huśtawkę nazwijmy to "poziomo" gdy jest w połowie swojego ruchu działa wg mojego założenia.
 
Odpowiedź
#12
No można sie pobawić czasami i synchronizacją ale to juz całkiem inaczej musisz pisać dla kazdego pinu osobno i tylko synchronizować.

Czyli wrucić do pierwszego kodu i dać synchronizację moze to być nawet flaga
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#13
Może to spróbuj:
Kod:
unsigned long miganie2 = 1000;
unsigned long miganie3 = 2000;


unsigned long zapamietanyCzas2 = 0;
unsigned long zapamietanyCzas3 = 0;
byte stan = 0;

void setup()
{
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
}

void loop()
{
  if (millis() - zapamietanyCzas2 >= miganie2 && stan == 0)
  {
    digitalWrite(2, LOW);
    digitalWrite(3, HIGH);
    stan = 1;
    zapamietanyCzas3 = millis();
  }
 
  if (millis() - zapamietanyCzas3 >= miganie3 && stan == 1 )
  {
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
    stan = 0;
    zapamietanyCzas2 = millis();
  }

}

Nie wiem czym sterujesz stanem niskim czy wysokim, tu jest jakbyś sterował stanem LOW.
Czasy miganie2 i miganie3 też trzeba dobrać do huśtawki.
 
Odpowiedź
#14
Dzięki Agregacik działa tak jak chciałem pokusiłem się jeszcze o soft start żeby silnik nie szarpał przy starcie z diodą niby działa jutro się pochwalę czy będzie działał z silnikiem tylko muszę znaleźć tranzystor LOGIC LEVEL bo nie ogarniam jak to pchnąć ten PWM do sterowania mx 1508
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości