Calificación:
  • 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
Citar
#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.
Citar
#3
Gracias probaré a ver que tal.

Enviado desde mi Edison 3 mediante Tapatalk
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Proyecto sckay 46 3,438 23-11-2015, 04:17 PM
Último mensaje: Iván
  Problema con proyecto Electromecánico 8 813 02-01-2014, 11:58 PM
Último mensaje: Electromecánico