Buenas a todos.
Disculpen la molestia, estoy trabajando en un proyecto en el cual activo y desactivo 3 motores, pero a la ves quiero aumentar la velocidad de estos con pwm, estoy haciendo una interfaz en java en la cual por medio d eun boton mando un entero a arduino y entro a un case para activar o desactivar un motor, lo que no entiendo es como le puedo hacer para que a la ves pueda aumentar la frecuencia del pwm.
Este es mi codigo:
//Control de Motores
int contrarioPin=12;
int girarPin=11; //Pines de salida del arduino
int derechaPin=10;
int izquierdaPin=9;
int arribaPin=8;
int abajoPin=7;
int input=0;
void setup(){ //asiganamos las salida y establecemos la conexion serial
Serial.begin(9600);
pinMode(contrarioPin, OUTPUT);
pinMode(girarPin, OUTPUT);
pinMode(derechaPin, OUTPUT);
pinMode(izquierdaPin, OUTPUT);
pinMode(arribaPin, OUTPUT);
pinMode(abajoPin, OUTPUT);
}
void loop(){
if (Serial.available()>=0){
input=Serial.read();
switch (input) {
case '1'://el motor gira en un sentido
digitalWrite(girarPin,HIGH);
digitalWrite(contrarioPin,LOW);
/////////////////////////
digitalWrite(derechaPin,LOW);
digitalWrite(izquierdaPin,LOW);
digitalWrite(abajoPin,LOW);
digitalWrite(arribaPin,LOW);
break;
case '2'://sube el gancho
digitalWrite(arribaPin,HIGH);
digitalWrite(abajoPin,LOW);
////////////////////////////////
digitalWrite(derechaPin,LOW);
digitalWrite(izquierdaPin,LOW);
digitalWrite(contrarioPin,LOW);
digitalWrite(girarPin,LOW);
break;
case '3'://baja el gancho
digitalWrite(arribaPin,LOW);
digitalWrite(abajoPin,HIGH);
///////////////////////////
digitalWrite(derechaPin,LOW);
digitalWrite(izquierdaPin,LOW);
digitalWrite(contrarioPin,LOW);
digitalWrite(girarPin,LOW);
break;
case '4'://avanza el carro a la derecha
digitalWrite(derechaPin,HIGH);
digitalWrite(izquierdaPin,LOW);
/////////////////////////////
digitalWrite(abajoPin,LOW);
digitalWrite(arribaPin,LOW);
digitalWrite(contrarioPin,LOW);
digitalWrite(girarPin,LOW);
break;
case '5'://avanza el carro a la izquierda
digitalWrite(derechaPin,LOW);
digitalWrite(izquierdaPin,HIGH);
////////////////////////////////////
digitalWrite(abajoPin,LOW);
digitalWrite(arribaPin,LOW);
digitalWrite(contrarioPin,LOW);
digitalWrite(girarPin,LOW);
break;
case '0': //apaga los motores
digitalWrite(derechaPin,LOW);
digitalWrite(izquierdaPin,LOW);
digitalWrite(abajoPin,LOW);
digitalWrite(arribaPin,LOW);
digitalWrite(contrarioPin,LOW);
digitalWrite(girarPin,LOW);
break;
default:
break;
// if nothing else matches, do the default
// default is optional
}//switch
delay(10);
}//if principal
}//loop
Gracias por su atencion.