mecanica de materiales
//Manejo de ejes x ycon dos joystick analogicos
#define motor1_enableA 10 //define los pines del puente H
#define motor2_enableB 11 // por enable A y B se envia el pulso
#define motor1_in1 22 //PWM para variar lavelocidad de los
#define motor1_in2 23 //motores, y por los pines in1-in4
#define motor2_in3 24 //activa el sentido de la marcha
#define motor2_in4 25 //de los motores
#define joy1ejex2
#define joy1ejey 3
#define joy2ejex 0
#define joy2ejey 1
int valorjoy1ejex, valorjoy1ejey, valorjoy2ejex, valorjoy2ejey;
void setup ()
{
Serial.begin (9600);
pinMode (motor1_enableA,OUTPUT);
pinMode (motor2_enableB, OUTPUT);
pinMode (motor1_in1, OUTPUT);
pinMode (motor1_in2, OUTPUT);
pinMode (motor2_in3, OUTPUT);
pinMode (motor2_in4, OUTPUT);
}
void loop ()
{ valorjoy1ejex = analogRead(joy1ejex);//lee los estados de los
valorjoy1ejey = analogRead(joy1ejey);//potenciometro
valorjoy2ejex = analogRead(joy2ejex);
valorjoy2ejey = analogRead(joy2ejey);
//---------------------eje x----------------------------
if (valorjoy1ejex > 500)//mueve a la izquierda cabezal, 500 es
{ //el centro del joystick
Serial.println(valorjoy1ejex);
valorjoy1ejex = map (valorjoy1ejex, 1023, 500, 255, 0);
Serial.println (valorjoy1ejex);
analogWrite (motor1_enableA, valorjoy1ejex);
digitalWrite (motor1_in1, HIGH);
digitalWrite (motor1_in2, LOW);
}
else
{
if (valorjoy1ejex < 490)//mueve a la derecha cabezal, 490 es
{ //el centro del joystick
valorjoy1ejex = map(valorjoy1ejex, 490, 0, 0, 255);
Serial.println (valorjoy1ejex);
analogWrite (motor1_enableA, valorjoy1ejex);
digitalWrite (motor1_in1, LOW);
digitalWrite (motor1_in2, HIGH);
}...
Regístrate para leer el documento completo.