Go Down

Topic: Circuito eléctrico y conexiones para servo y pulsadores (Read 304 times) previous topic - next topic

adriasp18

Buenas, me gustaría saber las conexiones y el circuito eléctrico para 3 servos y pulsadores de la siguiente librería:


Code: [Select]
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
#include <SoftwareSerial.h>

Adafruit_PWMServoDriver servos = Adafruit_PWMServoDriver(0x40);

//unsigned int pos0=172; // ancho de pulso en cuentas para pocicion 0°
//unsigned int pos180=565; // ancho de pulso en cuentas para la pocicion 180°

//posx=Pulso_ms*(frecuencia_Hz/1000)*4096

int i=0,j=0,k=0;
int cont_S1=0,cont_S2=0,cont_S3=0;

unsigned int pos0=102; // ancho de pulso (0,5ms) en posx para pocicion 0° 

//unsigned int pos180=471; // ancho de pulso (2300 ms) en posx para la pocicion 180°

unsigned int pos180=470;

int P11=2;
int P12=3;
int P21=4;
int P22=5;
int P31=6;
int P32=7;

void setup()

{
 
  Serial.begin(9600);
 
  servos.begin(); 
 
 //servos.setPWMFreq(60); //Frecuecia PWM de 60Hz o T=16,66ms
  servos.setPWMFreq(50); //Frecuecia PWM de 50Hz o T=20ms
 
  pinMode(P11,INPUT);
  pinMode(P12,INPUT);
 
  pinMode(P21,INPUT);
  pinMode(P22,INPUT);
 
  pinMode(P31,INPUT);
  pinMode(P32,INPUT);
 
  setServo(0,0);
   
}

void setServo(uint8_t n_servo, int angulo)

{
 
  int duty;
  duty=map(angulo,0,180,pos0, pos180);
  servos.setPWM(n_servo, 0, duty);
 
}

void loop()

{
 
 
 
                                                                    /* Control Manual  */
                                           
 
                                                     
                                                     /* Servo 1  */
   
 
   if ((digitalRead (P11)==HIGH) & (i<180))
 
    {           
         
         
          if (cont_S1!=0) {cont_S1=0;}
          i=i+1;
          setServo(0,i);
          delay(12);
         // Serial.println("S1");         
    }
   
    if ((digitalRead (P12)==HIGH) & (i>0))
 
    {           
         
         
          if (cont_S1!=0) {cont_S1=0;}
          i=i-1;
          setServo(0,i);
          delay(12);
          //Serial.println("S1");         
    }
   
   if ((digitalRead (P11)==LOW) & (digitalRead (P12)==LOW) & (cont_S1==0))   { Serial.print("Cont_S1=");Serial.println(i);cont_S1=cont_S1+1;}
   
   
                                                                                    /* Servo 2  */
   
 
 
 
 
 
 
 
   if ((digitalRead (P21)==HIGH) & (j<180) )
 
    {           
          Serial.println("Servo21");
         
         
          if (cont_S2!=0) {cont_S2=0;}
          j=j+1;
          setServo(1,j);
          delay(5);
                   
    }
   
 
 
    if ((digitalRead (P22)==HIGH) & (j>0))
 
    {           
          Serial.println("Servo22");
         
         
         
          if (cont_S2!=0) {cont_S2=0;}
          j=j-1;
          setServo(1,j);
          delay(5);
         
         
             
    }
 
 
 
 
   
   if ((digitalRead (P21)==LOW) & (digitalRead (P22)==LOW) & (cont_S2==0))   { Serial.print("Cont_S2=");Serial.println(j);cont_S2=cont_S2+1;}
   
   
   
     
 
 
                                                                                         /* Servo 3  */
   
 
 
 
 
 
 
 
   if ((digitalRead (P31)==HIGH) & (k<180) )
 
    {           
          Serial.println("Servo31");
         
         
          if (cont_S3!=0) {cont_S3=0;}
          k=k+1;
          setServo(1,k);
          delay(12);
                   
    }
   
 
 
    if ((digitalRead (P32)==HIGH) & (k>0) )
 
    {           
          Serial.println("Servo32");
         
         
         
          if (cont_S3!=0) {cont_S3=0;}
          k=k-1;
          setServo(1,k);
          delay(12);
         
         
             
    }
 
 
 
 
 
   if ((digitalRead (P31)==LOW) & (digitalRead (P32)==LOW) & (cont_S3==0))   { Serial.print("Cont_S3=");Serial.println(k);cont_S3=cont_S3+1;}

surbyte

Google: Arduino servo, luego click en imagenes
Google: Arduino pulsadores o Arduino botones o Arduino pull-up pull-down y luego imagenes

o busca Luis Llamas servos o Luis Llamas pulsadores si no lo viste en las búsquedas anteriores.

Go Up