Skocz do zawartości

Problem ze sterowaniem serveromechanizmami poprzez bluetooth dzięki sterownikowi PCA9685.


DamianZiemba

Pomocna odpowiedź

Cześć, mam pewien problem mianowicie chciałbym w jakiś sposób połączyć 2 płytki arduino ( posiadam Hc-05 oraz Hc-06) tak aby 1 płytka wysyłała sygnał dzięki potencjometrowi, a 2 płytka odbierała go i następnie sterowała silnikem, który jest podłączony do PCA9685. Już niejednokrotnie pisałem kod, który wyglądał dobrze ale zazwyczaj coś mi nie grało, ostatecznie zmieniłem kompletnie cały kod ( ze względu na ogromną wadę jaką posiadał poprzedni) ,który działa bardzo dobrze gdy servo podłącze do jednej płytki arduino wraz ze sterownikiem ( nie ma żadnego zdalnego połączenia bluetooth). Podsyłam niżej kod, który działa tylko z 1 płytką i bezpośrednim podłączeniem. Z góry bardzo dziękuję za pomoc, wydaję mi się, że sprawa jest prosta i naprawdę nie widzę rozwiązania które jest trywialne, obstawiam, że w wyniku zmęczenia. 2 Kod (SLAVE), który ma odbierać sygnał i serować silnikiem niestety nie jestem w stanie załączyć gdyż próbowałem kilku opcji i żadna nie wydaję się najlepsza. Oczywiście w planach mam użyć kilkunastu servo, lecz podałem przykład z 1 aby kod był jak najbardziej przejrzysty. Miłego wieczoru!

 



#include "HCPCA9685.h"

#define  I2CAdd 0x40

#define JoyX 0


HCPCA9685 HCPCA9685(I2CAdd);
int ServoXforward;
int ServoXbackward;

const int servo_joint_L_parking_pos = 60;




void setup()
{



  HCPCA9685.Init(SERVO_MODE);


  HCPCA9685.Sleep(false);

  Serial.begin(38400);

  delay(3000);


}


void loop() {

int X = analogRead(JoyX); 



ServoXforward = map(X, 350, 1023, 420, 10);






HCPCA9685.Servo(0, ServoXforward); 


delay(1);

}

Link do komentarza
Share on other sites

@DamianZiemba przeczytałem post, ale zabrakło mi tam jakiegoś konkretnego pytania. Co dokładnie nie działa? Nic nie działa, silnik, komunikacja? Na czym dokładnie utknąłeś? Zachęcam również do tego aby zadbać trochę o formatowanie kodu (nawet za pomocą automatycznego narzędzia wbudowanego w Arduino IDE).

Link do komentarza
Share on other sites

Bardzo dziękuję za odpowiedz, cały program działa na 1 płytce, lecz chciałbym abym mógł sterować silnikiem zdalnie, gdzie 1 płytka odpowiadała by za odbieranie sygnału potencjometru i wysyłanie kodu aby ruszyć silnikami a 2 byłaby sterownikiem ( wszystko sterowane za pomocą hc-05 i hc-06), póki co udało mi się nawiązać taki kontakt lecz jedynie gdy samo servo wpinałem bezpośrednio do arduino gdzie mimowolnie przy większej ilości brakuje miejsc. Więc raczej samo stworzenie kodu jest jak najbardziej realne. Sam problem tkwi w stworzeniu kodu, dzięki któremu będzie można sterować zdalnie do 12 servo za pomocą pca9685.

1.JPG

2.JPG

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.