Projeto 32

Grua simples

Projeto 32 - Grua simples

Código (download)

/*

Projeto 32 - Grua Simples

Física na Lixa

https://fisicanalixa.blogspot.com/

https://sites.google.com/aelixa.pt/fisicaearduino

*/


#include <Servo.h>

Servo servoMotor_x;

Servo servoMotor_y;

#define pin_servoMotor_x 5

#define pin_servoMotor_y 6

#define pin_joystick_x A0

#define pin_joystick_y A1

int eixo_x = 90;  // Posição inicial do eixo x

int eixo_y = 90;  // Posição inicial do eixo y

int limite_joystick_min = 200; // Limite mínimo do potenciometro do joystick

int limite_joystick_max = 700; // Limite máximo do potenciometro do joystick

int atraso = 15; // Permite alterar a velocidade do Servo Motor


void setup()

{

  servoMotor_x.attach(pin_servoMotor_x);

  servoMotor_y.attach(pin_servoMotor_y);

  servoMotor_x.write(eixo_x);

  servoMotor_y.write(eixo_y);

}


void loop()

{

  //Servo 1

  if(analogRead(pin_joystick_x) < limite_joystick_min && eixo_x < 180)

  {

    eixo_x++;

    servoMotor_x.write(eixo_x);

  }

  if(analogRead(pin_joystick_x) > limite_joystick_max && eixo_x > 0)

  {

    eixo_x--;

    servoMotor_x.write(eixo_x);

  }

  //Servo 2

  if(analogRead(pin_joystick_y) < limite_joystick_min && eixo_y < 180)

  {

    eixo_y++;

    servoMotor_y.write(eixo_y);

  }

  if(analogRead(pin_joystick_y) > limite_joystick_max && eixo_y > 0)

  {

    eixo_y--;

    servoMotor_y.write(eixo_y);

  }

  delay(atraso);

}