Skocz do zawartości

Arduino+Silnik dc + serwo


Pomocna odpowiedź

Napisano

Cześć

Mam mały problem z kodem ponieważ gdy steruje osobno silnikiem dc czy serwem przez potencjometry to wszystko działa, ale gdy spróbowałem połączyć te dwie rzeczy w jeden kod to silnik stoi w miejscu i trekocze z niską częstotliwością 50hz, a serwo ma podobnie tylko pierw ustawia się na 180" i trekocze z podobną częstotliwością. Na potencjometry nie reagują wcale. 

Jestem prawie pewny że winna jest tu biblioteka która wysyła sygnał PWM na częstotliwości 50 hz do serwa, ale nie mam pojęcia jak to obejść i nie znalazłem w internecie żadnej podpowiedzi więc liczę na was bardzo że wskażecie mi właściwą drogę i wyprowadzicie z błędu ❤️
Kod: 

#include <Servo.h>
Servo Serwo;
int silnik = 9;
int Pozycja = 0;
int lewo = 7;
int prawo = 8;                  
int obroty = 0;
                 
void setup()
{
    Serwo.attach(6);
    pinMode(lewo, OUTPUT);
    pinMode(prawo, OUTPUT);
    digitalWrite(lewo, LOW);
    digitalWrite(prawo, HIGH);

  }

void loop(){
  obroty = (analogRead(A5),0,1023,0,255);
  analogWrite(silnik, obroty);
  Pozycja = map(analogRead(A4),0,1023,0,180);
  Serwo.write(Pozycja);    
}

 

(edytowany)

Co ma Twoim zdaniem oznaczać linijka:

	obroty = (analogRead(A5),0,1023,0,255);
	

Coś się nie skopiowało?

Tak, oczywiście winna jest biblioteka którą wszyscy stosują bez problemu...  I jeszcze front atmosferyczny w Pernambuco, i sytuacja polityczna w Gabonie.

 

Tak przy okazji - map to makro a nie funkcja i nie należy wstawiać tu bezpośrednio wywołań analogRead.

Edytowano przez ethanak
  • Pomogłeś! 1

@ethanak

No nie skopiowało się.

Widzisz winna była biblioteka 🙂

2 godziny temu, ethanak napisał:

Tak przy okazji - map to makro a nie funkcja i nie należy wstawiać tu bezpośrednio wywołań analogRead.

Dobrze i dziękuje 😄

@grg0

Strzał w 10, dziękuje Ci bardzo 😄

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...