Skocz do zawartości

12 serw kontrolowanych przez Arduino Nano


Pomocna odpowiedź

Napisano (edytowany)

Znalazłem projekt robota pająka gdzie wykorzystywane jest 12 serw podłączonych do pinów Nano on 2 do 13pinu . A przecież połowa tych pinów nie jest PWM. programowo tez nie widzę sztuczek żadnych. Jakieś pomysły? Będzie to działać?

// Locate the initial position of legs 
// RegisHsu 2015-09-09

#include <Servo.h>   

Servo servo[4][3];

//define servos' ports
const int servo_pin[4][3] = { {2, 3, 4}, {5, 6, 7}, {8, 9, 10}, {11, 12, 13} };

void setup()
{
  //initialize all servos
  for (int i = 0; i < 4; i++)
  {
    for (int j = 0; j < 3; j++)
    {
      servo[i][j].attach(servo_pin[i][j]);
      delay(20);
    }
  }
}

void loop(void)
{
  for (int i = 0; i < 4; i++)
  {
    for (int j = 0; j < 3; j++)
    {
      servo[i][j].write(90);
      delay(20);
    }
  }
}

 

Edytowano przez bst1979
(edytowany)

Bo ta biblioteka chyba nawet nie opiera sie na zadnym z trybow pwm...a programowo da sie ogarnac, ale trzeba kombinowac zeby jakos to ambitnie dzialalo..

Aha...no i powinna ta biblioteka uciagnac 12 serw...

Edytowano przez farmaceuta
(edytowany)

Jest w necie sposób jak kontrolować 20 serw bez większych drgań mechanizmu (uno Control 20 servos without jitter czy jakoś tak to trzeba było szukać) ja próbowałem zrobić z 18 i niby spoko, ale lepszy efekt to jakieś sterowniki pem na i2c czy coś innego

A tamta biblioteka po kolei używając timera sprzętowego włącza i wyłącza poszczególne wyjścia (do 12 zdąży bez problemu w 1 okresie dla sygnału sterującego)

Edytowano przez BananWszyscy

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