Controllo coppia servomotore con pulsante

Buongiorno a tutti, avrei delle problematiche relative al codice sottostante, relative in particolar modo ai due servomotori. La problematica principale riguarda la posizione che i due servomotori hanno una volta acceso il sistema, diversa da quella indicata dallo sketche. Questa situazione, una volta premuto un interruttore, si risolve autonomamente.

esempio (Servomotore con angolazione 0-150°, inizia a ruotare da 80° una volta acceso il sistema, va a 150° e ritorna a 0)

Sarebbe possibile iniziare da 0°?`

#include <Servo.h>
int button1 = 4; //button pin, connect to ground to move servo
int press1 = 0;
int button2 = 5; //button pin, connect to ground to move servo
int press2 = 0;

Servo servo1;
Servo servo2;
int pos = 0;

void setup()
{
  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  servo1.attach(7);
  servo2.attach(7);
  digitalWrite(4, HIGH); //enable pullups to make pin high
  digitalWrite(5, HIGH); //enable pullups to make pin high
  
}

void loop()
{
  press1 = digitalRead(button1);
  if (press1 == LOW)
  {
    servo1.write(150);
  }    
  
  press2 = digitalRead(button2);
  if (press2 == LOW)
  {
    servo1.write(0);
    servo2.write(0);
  }

... perché non fai il posizionamento "iniziale" nel setup() ? Prima di terminare il setup() fai le servox.write() che ti servono e decidi in quale posizione sono i servo ad inizio programma.

Guglielmo

Funziona tutto perfettamente, mi sono dimenticato di ringraziarla. La ringrazio per il supporto fornitomi

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.