Show Posts
Pages: [1]
1  International / Español / Re: interrupción puerto serie on: June 14, 2012, 12:39:20 pm
@jorgepl tendrias mas ejemplo con programa comunicación a través de puerto serial, ocupando las instrucciones millis por favor
2  International / Español / Re: interrupción puerto serie on: June 11, 2012, 11:36:32 am
Hola Omnicoptero, muchas gracias por responder, revise tu programa y lograste entender una parte de lo que quiero realizar, ahora te explicare la lógica que tiene el programa. Ese led en realidad es la activación a un motor durante 30 segundos, quiero tener una parada de emergencia para detener en cualquier momento el motor, que pueda ser por un pulsador o por el computador, la interfaz de comunicación seria visual basic.
 Revise tu programa y la función milis cuenta hasta infinito, la idea es que solamente cuente hasta 30 segundos, igual es buena idea pero no se adapta a lo que deseo; lo otro que necesito que se trabaje con pulsadores. espero que me hayas entendido y me puedas seguir ayudando. gracias.
3  International / Español / Re: interrupción puerto serie on: June 08, 2012, 12:06:18 pm
buenas tardes:
                   gracias por las respuestas, les contare que quiero realizar:
tendré dos botones físicos y dos botones en el programa visual basic, los cuales uno es para encender y el otro para apagar, es lo mismo para fisico o como el programa, y lo que necesito es encender un led por 30 segundos y poder apagarlo en cualquier momento mientras este prendido, he realizado algunas pruebas con visual basic y recibo los datos pero cuando intento apagar no puedo interrumpir el programa para que el led se apague. Mi idea seria interrumpir el programa y apagar el led inmediatamente, esta interrumpción quiero realizarla tanto fisica como por puerto serial(con el visual basic)

mi programa original es:


const int boton = 28;   //boton encendido
const int apagar = 31;   // boton apagado
 int buttonState = 0;
 int buttonapagado = 0;
void setup() {
 //Definimos la velocidad de transferencia a 9600 baudios
 Serial.begin(9600);
 //y el pin 13 como salida
 pinMode(39,OUTPUT);
 pinMode(boton, INPUT);
 pinMode(apagar,INPUT);

  }
void loop() {
  buttonState= digitalRead (boton);
  buttonapagado=digitalRead (apagar);
   if (buttonState == HIGH){     // si el boton externo se presiona

           digitalWrite(39,HIGH);   
           Serial.print("Encendido");
           Serial.print("\t");
           delay(30000);          // 30 segundos, mientras se ejecute el delay quiero interrumpir
           digitalWrite(39,LOW);
           Serial.print("Apagado");
           Serial.print("\t");
           
   }
   
   if (buttonapagado == HIGH){

           digitalWrite(39,LOW);
           Serial.print("Apagado");
           Serial.print("\t");
           delay(2000);
           
   }

 //Mientras el puerto serie este accesible
 while (Serial.available())   {
 //Guardamos en dato el valor leido del puerto serie
 byte dato = Serial.read();
 
 switch (dato){
 //Si es '1' encendemos el led
    case '1':
            digitalWrite(39,HIGH);
            Serial.print("Encendido");
            Serial.print("\t");    // imprime un tabulado
            delay(30000);          // mientras se ejecuta este delay quiero interrumpir y que apague
            digitalWrite(39,LOW);
            Serial.print("Apagado");
            Serial.print("\t");
            break;
           
 //Si es '2' apagamos el led
    case '2':
            digitalWrite(39,LOW);
            Serial.print("Apagado""\t");
            Serial.print("\t");    // imprime un tabulado         
            break;
               }
            }
   }
4  International / Español / interrupción puerto serie on: June 01, 2012, 05:48:00 pm
Buenas tardes:
                   mi pregunta es si se puede generar que cada vez que tenga un dato a travez de puerto serie sea prioridad y se ejecute en ese momento aunque en el programa me este generando un rutina de retardo, un delay
5  International / Español / Re: visual basic y arduino on: May 24, 2012, 06:58:49 pm
soy bastante malo para explicarme  smiley-razz te explico mejor creo .... estoy realizando un proyecto con comunicación de arduino y visual basic, en el cual en el entorno visual basic realice dos botones uno de apagar y otro de encender, arduino es la parte física en el cual una salida se activa o desactiva dependiendo el dato que le entregue visual basic, cuando se presione el botón de encendido se activa la salida de arduino en este caso un diodo led por un tiempo de 30 segundos, para lo cual he pensado en un delay o un retardo, he encontrado quizás dos posibles soluciones:
1) Se podría generar una interrupción al enviar un dato desde visual basic para poder apagar la salida en cualquier momento.
2) Sabiendo el tiempo que se demora cada instrucción se podría generar un bucle o lazo cerrado en donde cuente hasta llegar al tiempo pero no se como saber el tiempo exacto que se demora cada instrucción.

PD: espero que se me entienda, si no lo intentare explicar nuevamente y muchas gracias por responder. 
6  International / Español / visual basic y arduino on: May 24, 2012, 05:20:55 pm
hola estoy comunicándome realizando un programa en visual basic en el cual la pantalla tiene dos botones, el primero es para prender un led durante 30 segundos y el segundo es para apagar ese led durante este activado ese led, he pensado en dos formas de realizarlo en la cual me encontrado con dos problemas en las cual espero que me puedan ayudar la primera solución es que se pueda activar algún tipo de interrupción la cual no se cual podría ser, la segunda es saber cuanto tiempo dura cada instrucción y realizar un bucle donde cuente hasta llegar a los 30 segundos, pero el problema como saber cuanto se demora cada instrucción espero que me puedan ayudar  y muchas gracias de antemano
Pages: [1]