Flowcode 4

Hola, en la macro switch si se seleciona en vez de "leer estado", "esperar hasta bajo" se consigue lo mismo que en una interrupcion? Osea que al pulsar un interrutor solo se active al soltarlo, es para que el contador solo cuente al soltar el interrptor

Saludos

no creo porque leer estado bajo no te permite la variable contador con una interrupción seria ideal
 
alguien me puede decir como se hace la interrpucion, lo estoy intentando pero me lio porque se crea una macro.

gracias
 
alguien me puede decir como se hace la interrpucion, lo estoy intentando pero me lio porque se crea una macro.

gracias
El ícono de INT solo es para configurar una interrupción e indicar que macro debe de ejecutar cuando se produce la misma.
Una interrupción no es lineal puesto que sucede en cualquier momento y no puede estar dentro del flujo normal del programa.
Revisa temas atrás que hay ejemplos sobre esto.
Saludos.
 
yo te envio un ejemplo es facil trabajar con interrupciones



este es un ejemplo que te puede servir
 

Adjuntos

  • 1. RB0 interrupts.rar
    1.8 KB · Visitas: 98
Última edición:
Hola a todos, estoy intentando hacer un letroro de luces en desplazamiento, buscando en la web encontre algo pero me entro la duda con la programacion del registro serial que entre a los registros para dar el encendido de los led, les dejo el circuito si alguien me puede ayudar les agradecere

Juan Carlos
 

Adjuntos

  • letrero.rar
    15.6 KB · Visitas: 61
buenas compañeros, a ver si me orientais con esto:

Quiero hacer una maquina para contar y envolver hilo, entonces tengo un teclado matricial que le quiero poner por ejemplo 12m y darle a intro para que empiece a contar asta 12m, me imagino que tendré que guardar los numeros en una eeprom y el programa que espere asta pulsar el boton intro, despues vera los numeros que son y procedera. Alguien tiene algun ejemplo similar o algo, como guardar y leer los numeros de la eprom?

saludos
 
Bueno conseguí hacer esto modificando un programa que encontre de una cerradura, lo que intento es que se compare el numero marcado en el teclado con la variable pass_code que se va incrementando con el final de carrera del motor, osea que empieza de cero y cuando llega a 10 por ejemplo se iguale y se salga del bucle para empezar de nuevo, pero no me esta funcionando esto, a ver si veis algo raro y me echais una mano. Saludos
 

Adjuntos

  • maquina_cable - copia.rar
    4.3 KB · Visitas: 43
Última edición:
Ahora lo tengo un poco más desarrollado. La maquina tiene que envolver cable, yo le marco los metros que son, no más de 1000 y al darle a intro empieza a contar hasta que llegue a los metros que tiene marcados en el teclado, el problema que tengo es que no se compararlos, es decir, cuando pulso "#"(intro) entra en el bucle del contador, entonces se va incrementado a medida que el final de carrera exterior cuenta, entonces quiero que salga de este bucle cuando las vueltas contadas sean igual al NUMEROintroducido por el teclado, me doy cuenta de que tal y como lo tengo el valor que lleva "key" es el de la "#" no el que tiene escrito en el teclado... estoy aquí estancado, como puedo hacer que salga del dicho bucle cuando sean iguales, la variable F_carrera(sensor, boton) y los numeros escritos en el teclado?
 

Adjuntos

  • maquina_cable - copia.rar
    4.5 KB · Visitas: 33
Hola amigos del foro, quisiera plantearles una consulta, estoy programando un lm35 con flowcode, como hago o que funcion debo usar (factor de multiplicacion) para que la lectura del lm35 se refleje en un lcd y sea esta real ( ya veo la lectura pero tengo dudas con ella)

Gracias

Juka
 
Hola amigos del foro, quisiera plantearles una consulta, estoy programando un lm35 con flowcode, como hago o que funcion debo usar (factor de multiplicacion) para que la lectura del lm35 se refleje en un lcd y sea esta real ( ya veo la lectura pero tengo dudas con ella)

Gracias

Juka

(Leyendo el ADC en INT)

Vout= (ADC / 1023.0) * 5.0
Temp_Out = fmul(Vout,100.0)
Temp_String= Float to string(Temp_Out)
Temp_String_Out= Temp_String + "°C"

Saludos.



Bueno conseguí hacer esto modificando un programa que encontre de una cerradura, lo que intento es que se compare el numero marcado en el teclado con la variable pass_code que se va incrementando con el final de carrera del motor, osea que empieza de cero y cuando llega a 10 por ejemplo se iguale y se salga del bucle para empezar de nuevo, pero no me esta funcionando esto, a ver si veis algo raro y me echais una mano. Saludos

Buena noche.

Lo que introduces con un teclado matricial se guarda en una variable de secuencia (cadena),
por lo que si quieres comparar este valor con un valor que te entregue tu contador, será necesario manejar el mismo tipo de variable. Si tu contador entrega el numero en Byte, entonces la secuencia que entrega el teclado se debe manipular para convertirla en número Byte, o bien si es flotante, convertir la secuencia a flotante.

una vez hecha la conversión, simplemente se compara en el bucle el valor del contador y se sale del bucle si ese valor es igual al de la variable introducida por el teclado (previamente convertida a número).

Saludos!
 
Última edición:
Gracias elprofetellez por responder, pero me asalto otra duda, Ud. indica formula pero para cuando se esta Leyendo el ADC en INT, que pasa cuando se esta el Leyendo el ADC en TENSION

gracias

Juka
 
Gracias elprofetellez por responder, pero me asalto otra duda, Ud. indica formula pero para cuando se esta Leyendo el ADC en INT, que pasa cuando se esta el Leyendo el ADC en TENSION

gracias

Juka

En ese caso solo se omite la primer fórmula.

Leer como tensión ocupa más memoria. Se recomienda leer como INT. pero depende de si hay o no hay espacio suficiente, saludos!
 
En ese caso solo se omite la primer fórmula.

Leer como tensión ocupa más memoria. Se recomienda leer como INT. pero depende de si hay o no hay espacio suficiente, saludos!

Gracias, todo bien, funciona impecable

Quisiera plantear otro problema en flowcode

necesito incrementar un valor, mostrarlo en lcd, guardarlo en memoria interna y cuando se reic¡nicio el sistema, lea este valor y lo muestre en el mismo lugar del lcd, pero no me resilta indico lo que tengo:

( este valor es comparado con la entrada de un adc en voltaje)


tengo un dato flotante y lo incremento
float1 = fadd(float1, -0.1)

luego lo transformo
minima = FloatToString$(float1)-------------> para mostrar en lcd
minima_maxima = StringToInt$(minima) --------> para guardar en memoria

lo guardo en memoria (minima_maxima)

en caso de corte o reinicio, este valor minima_maxima lo leo desde memoria y lo impromo en lcd.

Cual es el problema, que cuando hago el tratamiento es un valor decimal ejemplo 31,25 y lo compara con entrada de un sensor de temperatura( para activar un calefactor ), pero al leerlo y mostralo en el lcd ( despues del corte) muestra 31.......... y quiero que muestre 31,25,.

Esto es para afinar mas la temperatura de comparacion

Como lo puedo hacer, espero me puedan ayudar

juka
 
Hola a todos, he querido poner en marcha el programa que alguno de vosotros subió hace ya algún tiempo, se trata de encender y apagar a 2 leds con un mismo boton, pero un led se enciende y apaga con un pulso breve y para encender y apagar al otro led hay que dejar pulsado el boton por un tiempo mas largo, pues bién, en el simulador de flowcode funciona perfectamente, pero al cargarlo sobre un pic este hace su funcionamiento pero de manera erronea, osea, tarda mucho en ejecutar la orden que se le pide. Me gustaría que le hecharan un vistazo a ver si hay algun error.


Lo que necesito es que al pulsar de manera instantanea se encienda o apague un led y que al mantner pulsado durante unos 2 segundos pueda hacer lo mismo con el otro led.



Muchas gracias y saludos a todos.
 

Adjuntos

  • Boton.rar
    2.4 KB · Visitas: 39
Última edición:
Buenas, alguien me puede echar una mano para conectar este display, el programa es en flowcode, quiero conectarlo en el isis, tal como está no me funciona, esta bien conectado?
 

Adjuntos

  • FC.jpg
    FC.jpg
    85.4 KB · Visitas: 28
  • isis.jpg
    isis.jpg
    235.6 KB · Visitas: 27
  • LMB162HBC(380).JPG
    LMB162HBC(380).JPG
    20.7 KB · Visitas: 19
Escribí todo un comentario y el explorador me lo borró asi que te mando una imagen arreglalo así.

Están mal, las entradas de datos D4-D6, RW y VEE que controla el contraste en la vida real pero no hace nada en ISIS.

Suerte.
 

Adjuntos

  • display y pic.jpg
    display y pic.jpg
    109.6 KB · Visitas: 34
Última edición:
Escribí todo un comentario y el explorador me lo borró asi que te mando una imagen arreglalo así.

Están mal, las entradas de datos D4-D6, RW y VEE que controla el contraste en la vida real pero no hace nada en ISIS.

Suerte.

Buenas compañero. muchas gracias por la ayuda :D

La duda que tengo es a donde conectar, Data 1, Data 2, Data 3, Data 4, del flowcode (lcd) al micro.

En el isis el lcd pone D0, D1, D2, D3, D4, D6, D7, entonces mirando la foto de mi flowcode, pone que PORTA 0 va a Data1, data 1 que se supone que es D1 del lcd del isis?
 
Te envío una imagen de las conexiones del último programa que usé en flowcode funcionando en ese PIC de la imagen anterior.

No se usa D0, D1, D2 y D3 jajaja.

La verdad que es increible que se use así pero viene realmente cruzado.

Compáralo y corrige el tuyo.

Otra cosa, los caracteres especiales que uses en flowcode no coinciden con los que te presentará el ISIS ni en la vida real. Lo que simules en el ISIS si se muestran en la vida real aunque al final depende de que fabricante conseguiste el display. Yo casi me volví loco pero creo que ya no puede salirme con ningún problema nuevo ya que todos los tube en este proyecto.
 

Adjuntos

  • Captura.jpg
    Captura.jpg
    104.5 KB · Visitas: 31
Última edición:
Atrás
Arriba