This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
idea de como empezar un proyecto
#1
Hola a todos,
a ver si me podéis ayudar con un proyecto que tengo en mente con el arduino UNO.

quiero controlar dos servos con un joystick, (esta parte la tengo ok),
controlar por PWM 4 leds, (bueno en realidad serán pequeños motores que solo giraran en un sentido, haré una pequeña shield con unos transistores para poder controlar los motores).
ahora los controlo mediante 4 potenciómetros en las entradas analógicas.

pero mi intención seria que mediante dos pulsadores pudiese seleccionar el pwm de los motores, me explico con un pulsador seleccionar una opción del 1 al 6 y una vez la opción seleccionada pulsar el otro pulsador y empezar ha hacer el programa de la opción seleccionada.

gracias ya veis que no domino de arduino  Gran sonrisa Gran sonrisa
  Responder
#2
(28-07-2016, 07:44 PM)homer32 escribió: Hola a todos,
a ver si me podéis ayudar con un proyecto que tengo en mente con el arduino UNO.

quiero controlar dos servos con un joystick, (esta parte la tengo ok),
controlar por PWM 4 leds, (bueno en realidad serán pequeños motores que solo giraran en un sentido, haré una pequeña shield con unos transistores para poder controlar los motores).
ahora los controlo mediante 4 potenciómetros en las entradas analógicas.

pero mi intención seria que mediante dos pulsadores pudiese seleccionar el pwm de los motores, me explico con un pulsador seleccionar una opción del 1 al 6 y una vez la opción seleccionada pulsar el otro pulsador y empezar ha hacer el programa de la opción seleccionada.

gracias ya veis que no domino de arduino  Gran sonrisa Gran sonrisa
Puedes controlar el estado de las dos entradas ,si el boton de incremento esta en high ,aumentas la variable menu,si esta pasa de 6 ,vuelve a 1.Si el estado del boton de inicio de programa esta en high ,haces un mapeo de la variable menu a los valores que quieras en pwm.Recuerda usar resistencias pulldown para los pulsadores y controlar el rebote (si no tienes resistencias ,puedes usar las internas de arduino y cambiar la logica para usar resistencias pullup).Este sketch esta sin probar y es muy basico ,pero es una idea.
Código:
#define BOTON_OPCION 3 // Boton de incrementar opcion por ejemplo en pin 3
#define BOTON_INICIO 4 // Boton de inicio por ejemplo en pin 4
#define MOTOR_PWM 5 // Salida PWM
int menu = 1; // Por defecto menu vale 1
int velocidad;
void setup(){
 pinMode(BOTON_OPCION,INPUT);
 pinMode(BOTON_INICIO,INPUT);
 pinMode(MOTOR_PWM,OUTPUT);
}
void loop(){
 if (BOTON_OPCION == HIGH){
   menu ++;
   if (menu > 6){  // Si pasamos de 6 volvemos al 1
     menu = 1;
   }
 }
 if (BOTON_INICIO == HIGH){
   velocidad = map(menu,1,6,42,255); // Mapeo del valor de menu en 6 velocidades (255/6 = 42 aprox.)  
   analogWrite(MOTOR_PWM,velocidad);
 }  
}
Si quieres unos valores concretos de velocidades ,puedes substituir el map por un array de valores ,entonces usas menu como indice del array.
  Responder
#3
Gracias probaré a ver que tal.

Enviado desde mi Edison 3 mediante Tapatalk
  Responder