// Define los estados HIGH,LOW de cada led #define led1on digitalWrite(led1, HIGH); #define led2on digitalWrite(led2, HIGH); #define led3on digitalWrite(led3, HIGH); #define led1off digitalWrite(led1, LOW); #define led2off digitalWrite(led2, LOW); #define led3off digitalWrite(led3, LOW); //Declaracion de Pines const int led1 = 13; const int led2 = 12; const int sw1 = 8; //pulsador 1 const int in1a = 19; //direccion motor 1 derecha const int in2a = 4; //direccion motor 2 derecha const int in1b = 3; //direccion motor 1 izquierda const int in2b = 2; //direccion motor 2 izquierda const int pwm1 = 5; //PWM motor 1 Derecho const int pwm2 = 6; //PWM motor 2 Izquierdo void setup() { //configuracion de condiciones iniciales pinMode(in1a,OUTPUT); pinMode(in2a,OUTPUT); pinMode(in1b,OUTPUT); pinMode(in2b,OUTPUT); pinMode(led1,OUTPUT); pinMode(led2,OUTPUT); pinMode(sw1,INPUT); pinMode(pwm1,OUTPUT); pinMode(pwm2,OUTPUT); } void loop() { //Codigo para probar sentido de motores en miniblack secuencia adelante-Atras if(digitalRead(sw1)==1){ led1on; motors(255,255); delay(3000); motors(0,0); delay(500); led1off;led2on; motors(-255,-255); delay(3000); motors(0,0); led2off; } } //Funcion para manejar los motores con pwm y la seņales del driver int motors(int speedL, int speedR){ if(speedL>0){ digitalWrite(in2b,LOW); digitalWrite(in1b,HIGH); } else{ digitalWrite(in2b,HIGH); digitalWrite(in1b,LOW); speedL=speedL*-1; } if(speedR>0){ digitalWrite(in2a,LOW); digitalWrite(in1a,HIGH); } else{ digitalWrite(in2a,HIGH); digitalWrite(in1a,LOW); speedR=speedR*-1; } analogWrite(pwm1,speedR); analogWrite(pwm2,speedL); }