el 08-30-2014 07:29 PM
Hola a todos, tengo el siguiente problema, tengo un sensor conectado a un arduino y quiero que cuando me detecte movimiento con una camara me guarde un serie de fotos (7) y luego me grabe durante 2 minutos, he tratado de colocar una ciclo for dentro de un ciclo case, pero al detectarme movimiento me guarda fotos hasta que le doy reset al sensor, como puedo hacer para que solo me guarde por ejemplo 7 fotos y luego seguir con la grabacion?
Saludos!!
Adjunto VI https://www.dropbox.com/s/5e5u1wn9dov7q6k/sensor%20y%20camara.vi?dl=0
el 09-01-2014 09:14 AM
Hola,
Me parece que tu problema puede ser que numeric sigue teniendo el valor de 1 y entra de nuevo en cada ciclo. Puedes hacer debug de la ejecucion de tu programa con el bombillo encendido y asi ver porque esta entrando de nuevo.
Saludos,
09-01-2014 02:24 PM - editado 09-01-2014 02:26 PM
Otro factor a tomar en cuenta es el uso de la variable local asignada al indicador Numeric. Recuerda que con la variables locales no es posible predecir el momento en que la variable local se va a leer con respecto a cuando se escribe; podría ser que la estructura de casos esté leyendo el valor antes de que se escriba (estaría leyendo el dato anterior) por lo que ejecuta el caso incorrecto.
Mi primera recomendación sería quitar esa variable local y cablear el case structure directamente a la salida del segundo NOR. Luego de eso utilizaría "Highlight Execution" como recomendó Luis_AM3C para verificar que el programa se ejecuta en el orden correcto y en caso contrario, puedes utilizar "Probes" para monitorear el valor de "Numeric" a la entrada de la estructura de casos.
De igual manera, utilizas variables locales para determinar cuando corre el Digital Write Pin.vi y encender o apagar el indicador "led", por lo que es muy posible que también tengas condiciones de carrera ahí. Aparte de esto, la lógica me parece que está correcta, por lo que sí me parece que el error debe estar en como las variables locales ejecutan el flujo de datos.
el 09-03-2014 10:25 AM
Hola gracias por responder, la idea original era que con el flip flop el pulso que provenia del sensor se mantuviera en alto, y con eso hacer la secuencia, pero yo estaba mal, lo que hace mi programa es que cada vez que me detecta movimiento me guarda fotos y luego me envia un correo, aqui mi problema, supongamos que el sensor me detecta movimiento durante un minuto, como hago para que me envie solo un correo durante ese tiempo y no varios, otra cosa cuantos archivos adjuntos se pueden agregar a un correo?
Saludos!!
Adjunto VI https://www.dropbox.com/s/tthhse3jiut5v1t/sensor%20y%20camara2.vi?dl=0
el 09-03-2014 03:04 PM
Hola,
Lo que necesitas es un detector de flanco, es decir una logica que diga que si estaba en cero y ahora esta en uno ejecute el case structure de mandar el correo. Para ello puedes usar un feedback node para conocer el estado anterior.
Saludos,
el 09-04-2014 07:40 PM
Gracias!!! era justo lo que necesitaba.