# Flowcode 4



## invesel (Jul 30, 2011)

Hola a todos. Hace poco he conocido este estupendo programa gracias al cual voy poco a poco aprendiendo a realizar "algunos programitas". Pero llevo días intentando encender y apagar un Led con un pulsador y no soy capaz de conseguirlo. Les pido ayuda a aquellos que sepan manejar este programa a ver si me lo pueden solucionar. También agradecería si saben de paginas que traten ejemplos con este sistema de programación (*Flowcode 4*).

Muchas gracias por adelantado.


----------



## RUIZ13 (Sep 6, 2011)

Hola me editaron el post y no he podido enviarte unos ejercicios creo que a esta epoca ya has solucionado lo de prender el led indicame si ya o no lo has logrado para ayudarte 

saludos y disculpas a los del foro por mi falla mi idea era ayudar al compaÑero sin ningun lucro ni propaganda


----------



## janvama (Sep 17, 2011)

Hola, pueden por favor mencionar las ventajs y donde se puede conseguir el soft y manual de uso?  

muchas Gracias.
Andrew


----------



## RUIZ13 (Sep 17, 2011)

Hola janvama
las ventajas:
1- puedes hacer programas para quemar pic sin codigos de alto o bajo nivel ( asm, c, basic)
2- el  programa tiene un simulador que aunque no es en tiempo real funciona muy bien para resolver problemas de depuracion
3- el simulador lo puedes poner a trabajar a baja o alta y paso a paso velocidad para ver donde esta el problema
4- genera el codigo .ex que es el que grabas en el pic .asm .c y listado y otros
5- es muy intuitivo para su manejo aparte si has trabajado con diagrama de flujos (mejor te facilita la comprencion del manejo).
6- tiene bastante material de ejemplos en la pagina web del fabricante 
7- asi no hayas comprado el sof, puedes acceder  en el foro, hacer preguntas y ver soluciones de otras personas en el formato .fcf del sof
8-el manual lo consigue en la web tecleando en un buscador manual de flowcode 4 
9-  en lo que pueda estoy a su orden
10- en cualquier paso o modulo puede accesar codigo asm o c como sleep lo acepta nada mas en codigo c


http://W.W.W.MATRIXMULTIMEDIA.COM

Desventajas
1- te acostumbras a hacer las cosas tan facil que nunca vas a aprender asm, c o basic
2- el manejo de estos lenguajes es indispensable para el desarrollo profesional
3- le recomiendo descargue la demo aunque es limitada


----------



## RUIZ13 (Nov 1, 2011)

Veo que nadie mas se animo por este programa yo en especial lo veo muy completo, he hecho varios algoritmos de mediana complejidad ya que mi trabajo no me ha permitido hacer uno de complejidad saludos


----------



## BKAR (Nov 1, 2011)

RUIZ13 dijo:


> Veo que nadie mas se animo por este programa yo en especial lo veo muy completo, he hecho varios algoritmos de mediana complejidad ya que mi trabajo no me ha permitido hacer uno de complejidad saludos



yo si me anime, pero no lo domino muy bien...
otro parecido es Niple, y Parsic (pero este se construye a partir de Bloques)
me falta ver el Flowcode para AVRs



RUIZ13 dijo:


> Hola janvama
> ...
> Desventajas
> 1- te acostumbras a hacer las cosas tan facil *que nunca vas a aprender asm, c o basic*
> ...



eso depende de cada uno..
pero yo en un principio me cerre con Parsic..
agrego otr desventaja..
los codigos generados por le programa son muy extensos y hasta por las puras, hacen trabajar por demás al pic...


----------



## RUIZ13 (Nov 3, 2011)

Saludos
el flowcode es mas versatil que niple de hecho tiene mas funciones y con niple me tranque en unos calculos con coma flotante y con flowcode lo solucione cuenteme en que estas trabajando y trato de ayudarlo hasta donde mis conocimientos me lo permita, para eso estan estos foros, gracias a las personas administradoras de estee foro por permitirlo, en mis años de estudiante no existian estas ayudas que son de interes para el que empiricamente trata de aprender y le comento todo lo que he aprendido en su gran mayoria ha sido practicando y solucionando algoritmos que mi familia y algunos en los foros colocan y trato de solucionarlos en la practica esta el maestro

los inicios de flow  los hice por la web een un curso de un colega venezolano que esta en la ciudad de Maturin en Venezuela de paso buen pedagogo


----------



## BKAR (Nov 4, 2011)

un tiempo estuve buscando..como rayos controlar un LCD con Niple...busque por todos lados..
afirmaban que si se podía, pero yo quería ver una simulacion y ahy nomas quedaban...nunca vi la simulacion..
RUIZ13
en flow-code..solo te pediría unos cuantos ejemplillos..nada mas, de ahi vere en que preguntarte..
estaba usandolo, pero me tranqueaba y ahh lo deje un tiempo..no avance como esperaba como lo hice con el Parsic...
ADC-LCD-KEY_PAD: tienes algunos ejemplos que podrías compartir?


----------



## RUIZ13 (Nov 4, 2011)

Hola
enseguida me pongo ha hacerte unos programas basicos por ejemplo lcd, cuentame tienes el programa flow 4 o 3 para ver los ejemplos desearia me lo dijeras pronto para hacerlo pronto ya que tengo tiempo ahora

se  me ha hecho dificil comprimir en rar el archivo ya tengo el archivo voy e ver como se lo envio la practica hace el maestro

le agradezco lo abra y me comunica para pasarlo a otras personas y todos aprendamos

el archivo despues lo compila y le genera un archivo .asm  es buenos verlos para aprender .ex con el que programamos propiamente el pic .c para otras aplicaciones espero te sirva 

y despues como el simulador de flow no es tan real con el .ex simulas en proteus que ese simulador es exelente para estas aplicaciones hasta pronto le agradezco me haga saber si le funciono el archivo

este es otro ejemplo pero ya en flow directo practica con este y hagale cambios para que veas el ultimo

tengo un sinnumeros de programas hechos de sistemas complejos en flow code, tienen modulos para diseños de telefonos celulares y computadoras para automoviles es muy exitante, aunque hay varias personas que dicen que es un programa de baja calidad , lo he probado y pienso lo contrario, es la mejor ayuda para los que no sabemos asm,  basic o c y queremos plasmar los algoritmos que se nos ocurran la solucion es esta


----------



## RUIZ13 (Nov 4, 2011)

Vea este archivo y me comunica si le abrio bien y si le sirvio de ayuda hasta pronto


----------



## Dario (Nov 4, 2011)

jajaja... sabia que lo iba a lograr. ¡lo logre, lo logre!!! hice encender un led con un pulsador y hasta le di un delay jajaja... gracias RUIZ13


----------



## elprofetellez (Nov 5, 2011)

los ejemplos de programacion los encuentras en la pagina de matrix multimedia, hay manuales de uso del software e incluso un curso del mismo, son descargables y gratuitos.

saludos!


----------



## RUIZ13 (Nov 5, 2011)

Dario
me complace su animo, hay muchas cosas mas que puedes hacer practicando y haciendo cambios en programas basicos, la practica hace al maestro, le recomiendo utilice la pagina de matrixmultimedia y solucionara varios algoritmos, tambien vea los videos es de mucha ayuda al comenzar a trabajar con flow code, hay unos manuales en español en la web, pero si entiendes ingles es mejor porque esta soportado de mejor forma que en español felicidades por tu nueva meta.

Hasta pronto si hay dudas dentro de mi conocimiento estoy a su orden como ayuda

una cosa muy importante  en el video que te envie note quue hice mucho enfasis en la configuracion del pic eso hace que muchas personas no lo puedan simular en proteus y por ende no trabajara al insertar el archivo .ex en el pic pendiente con esa parte dediquese primero a entender bien la configuracion del pic, cuando vas a trabajar con interrupciones es muy preciso


----------



## Dario (Nov 5, 2011)

pues gracias a elprofetellez y a ti ruiz por las recomendaciones. eso de las interrupciones me quedo pendiente, ya voy a investigar un poco mas del tema. 
saludosss


----------



## RUIZ13 (Nov 5, 2011)

Pues le comento, para las interrupciones, no es tan dificil, colocas el icono de interrupcion en el escritorio entre inicio y fin, despues le das doble clicencima del icono se abre una ventana y  ahi tiene las opciones de configuracion si es por interrupcion interna, externa, el preescaler y el nombre del macro con el que va a trabajar, das ok despues de todas las selecciones y listo.
Pero deberias antes de ponerse a trabajar deberia practicar y manejar bien, los loop, las decisiones, trabajar con el encendido del puerto completo, lcd, eeprom,  en este link consigue ejemplos yo he aprendido y he salido de dudas dedicandole bastante tiempo a esa pagina casi todo esta en ingles un solo foro general para español, pero para eso esta google para que lo ayude a traducir y listo, en estos tiempos el que no aprenda es porque en realidad no quiere la web nos acerca y aparte se consiguen muchos ejemplos, yo aprendi con los ejemplos de esa web, pero aprendi mas al hacer cambios experimentar y urgar(revisar todo) en si el programa, tomaba algoritmos de cualquier pagina y despues trataba de plasmar la idea en flow, de hecho tengo bastantes circuitos hechos y programados con flow, hice un odometro, un control automatico para una maquina de demarcacion vial, protectores de voltage, delineadores electronicos para las carreteras con carga solar, llave electronica de acceso restringido con digitos, contador digital para los semaforos y todo esto por experimentar
aqui en mi pais no se consiguen casi los controladores electronicos inteligentes para semaforos y ese va hacer el proximo proyecto pero este si va enserio ja ja ja no por experimentar

me complace tu alegria y sera hasta pronto


----------



## RUIZ13 (Nov 6, 2011)

Aqui le dejo algo mas le agradezco me comunique si funcionaron los archivos


----------



## RUIZ13 (Nov 7, 2011)

Un tip para las personas que estan comenzando con flowcode4


----------



## DSP (Nov 8, 2011)

Hola a todos. He usado poco el flowcode y tuve la tentación de comprar el software original, pero hay una caracteristica que espero sea agregada en un futuro: multitarea. Imaginense poder programar tareas independientes por medio de diagramas de flujo pero que ademas sean simultáneas ya sea por un RTOS preemtivo o cooperativo. Que hubieran bloques de retardos, esperas y "yield" para manejar multitarea. Creo que el parsic en cierta forma lo hace, ya que al menos los fbd deben ejecutarse en paralelo.


----------



## RUIZ13 (Nov 8, 2011)

Hola DPS
 le invito a que revise la web del fabricante en diciembre van a sacar al mercado la version 5 en ellas hay bastantes, mejoras, Compatible con los sistemas de comunicación Bluetooth, CAN, FAT, GPS, GSM, I2C, IrDA, LIN, MIDI, RC5, RF, RFID, RS232, RS485, SPI, TCP / IP, USB, Wireless LAN, Zigbee.
Compatible con los componentes ADC, LED, interruptores, teclados, pantallas LCD, gráfica LCD a color, gráficos monocromo LCD, sensores, displays de 7 segmentos, EEPROM interna, los sistemas de comunicaciones, pantalla táctil LCD, servidor web.
 Compatible con la mecatrónica acelerómetro, PWM, Servo, paso a paso, del habla.


hasta pronto

ahi dejo algo mas de flow code interrupciones espero les ayude


----------



## RUIZ13 (Nov 9, 2011)

Hola de nuevo
para los que estan como yo aprendiendo flow code4 dejo un ejemplo de pwm con un 12f675

hasta pronto

Hola  DPS
revisa este link y por ahi te vas busca y nos informa por favor eso es respecto al comentario que hicistes

para todos chao= hasta pronto en Venezuela

http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=26&t=8809


----------



## DANDY (Dic 4, 2011)

Muy bueno el sofware, estoy investigando mas sobre el se ve que se puede hacer programas muy buenos con el, pero sería bueno que en la version 5 tenga las salidas de display configurables en cantidad.


----------



## RUIZ13 (Dic 5, 2011)

hay varias industrias conocidas a nivel mundial que están utilizando este sof para el desarrollo de sus necesidades, hay ecepticos que piensan que este sof es limitado y en lo personal creo que la limitacion la tiene el usuario por dos razones, una falta de conocimiento en  programacion y dos falta de conocimiento del sof 

hasta pronto a todos


----------



## archer1ec (Dic 5, 2011)

RUIZ13 dijo:


> Hola janvama
> las ventajas:
> 1- puedes hacer programas para quemar pic sin codigos de alto o bajo nivel ( asm, c, basic)
> 2- el  programa tiene un simulador que aunque no es en tiempo real funciona muy bien para resolver problemas de depuracion
> ...




mira sigo los pasos en el simulador me ba bien pero en la practica solo se enciende todo en negro no veo letras ni numeros estoi usando el 16f84a  que me recomiendas gracias



hola hay alguen


----------



## RUIZ13 (Dic 5, 2011)

Hola archer
describe el problema total ya que no entiendo tu problema para ver como te ayudo si pones una foto o el programa en si para ver como lo depuramos y solucionamos


----------



## archer1ec (Dic 5, 2011)

Vale mire quiero escribir un mensage en una lcd 
1 pic 16f84a con los puertos B para el lcd
2 lcd de 16 x 2 
3 inicio el programa llamo a macro de componente y selecciono lcddisplay(0) iniciar
   pongo otro macro de componente y lcddiplay(0) e imprimir cadena el mensage es "hola mundo"
y hago la simulación todo perfecto pero cuando lo hago en fisico "real" en el lcd solo se enciende la primera linea pero todos lis bits salen negro el una linea negra no se ve letra alguna
la conccion del pic al lcd es  

data       puerto        bit
1               B             0
2               B             1
3               B             2
4               B             3
RS             B             4
activar       B             5  

espero que me entiendas gracias



el ocilador es de 400000f a cristal


----------



## RUIZ13 (Dic 6, 2011)

archer 
me da la impresion que el lcd esta en mal estado verifica esto antes de dar cualquier paso
preguntas:



1- lo simulo con proteus ?
2- prueba y debes estar seguro de que el lcd este en buen estado 

ya voy a trabajar para hacerlo y simularlo y te envio el programa para ver como funciona



Te dejo el programa descomprime y me informas por favor
por todas las seÑas que me das el problema lo tienes en el lcd


----------



## archer1ec (Dic 7, 2011)

gracias de verdad lo probare y te comento vale



no me funca una pregunta el lcd va con 5V. ? pro que s con lo que lo alimento gracias

probare con otro lcd y te aviso y muchas gracias


----------



## israeljazzbass (Dic 8, 2011)

que tal amigos, yo tengo un pequeno problema espero que me puedan ayudar, hice un proyecto con flowcode en el cual utilizo el keypad, y lo simulo con el mismo flowcode, todo es perfecto, pero para llevarlo a la practica, no se como conectar el keypad, alguien tiene un diagrama de conexion que me pueda pasar, muchas gracias


----------



## RUIZ13 (Ene 1, 2012)

el las conexiones las consigues : 
1- en el panel donde esta key pad con el mouse lo diriges al key pad y oprimes el
    botón derecho y sale una ventana de conexiones en ella te dice las columnas y
    las lineas, hay algunas veces lo hace por defecto y otras tienes que programarlos
    manualmente con las indicaciones de la ventana por ejemplo hay un menú 
    despegable en la parte inferior una para los puertos y otra para los pines
2- también en el menú aparte de las conexiones, también esta propiedades exteriores en el cual 
     lo puedes cambiar para las características exteriores


     prueba y suerte estamos por aqui esperando a que soluciones y compartir por este medio


----------



## archer1ec (Ene 2, 2012)

Hola RUIZ13 el programita aquel no me funciono ni en proteus no se que estoi haciendo mal que no e podido hacer que ningun lcd me funcione para nada y e echo el programa tal cual lo embiastes y muchisimas gracias mi hemano te cuidas


----------



## RUIZ13 (Ene 2, 2012)

me dijiste que era un key pad no lcd 
para el lcd haces lo mismo el por defecto te da las conexiones 

aparte acuérdate que como en asm debes estar pendiente de los fuses la velocidad del micro si el oscilador es interno o externo revisa que al principio me paso lo mismo


----------



## alejandrozama (Mar 5, 2012)

hola que tal, me descarge el flowcode 4 y empece a ver como se programa en esta plataforma, me agrado mucho ya que es muy sencillo pero tambien me surgieron muchas dudas como por ejemplo si se podria realizar un contador de 0-99 con dos display de 7 segmentos pero con la configuracion como se muestra en la imagen.

y como seria la manera de realizar esto.

de antemano agradesco su tiempo


----------



## RUIZ13 (Mar 6, 2012)

si lo puedes hacer entrando en la web del fabricante en los foros consigue muchos ejemplos


----------



## alejandrozama (Mar 6, 2012)

ok seguire tu consejo, gracias


----------



## RUIZ13 (Mar 12, 2012)

juan cuentame como va todo no he podido saber como va lo del proyecto no habia tenido tiempo tenia dias que no pasaba por aqui por falta de tiempo y mi trabajo me tiene consumido en el saludos a todos



alejandrozama dijo:


> hola que tal, me descarge el flowcode 4 y empece a ver como se programa en esta plataforma, me agrado mucho ya que es muy sencillo pero tambien me surgieron muchas dudas como por ejemplo si se podria realizar un contador de 0-99 con dos display de 7 segmentos pero con la configuracion como se muestra en la imagen.
> 
> y como seria la manera de realizar esto.
> 
> de antemano agradesco su tiempo



cuéntame alejandro como te ha ido

con flow code


----------



## RUIZ13 (Mar 12, 2012)

DSP dijo:


> Hola a todos. He usado poco el flowcode y tuve la tentación de comprar el software original, pero hay una caracteristica que espero sea agregada en un futuro: multitarea. Imaginense poder programar tareas independientes por medio de diagramas de flujo pero que ademas sean simultáneas ya sea por un RTOS preemtivo o cooperativo. Que hubieran bloques de retardos, esperas y "yield" para manejar multitarea. Creo que el parsic en cierta forma lo hace, ya que al menos los fbd deben ejecutarse en paralelo.



DPS

En este link encontrara la respuesta a su pregunta
http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=26&t=8809


----------



## Meta (Mar 19, 2012)

Hola:

Compré un entrenador de PIC y me vino el programa y muchos ejemplos del Flowcode 4. Se que está el Flowcode 5 pero me centraré en el 4 ya que me vino hasta documentación en español para manejarlo.

Las primeras pruebas las haré saber. Eso si, expertos no recomiendas usar esto a profesionales, está limitado sólo a microcontroladores y nad amás que a ellos. No es un C estandar como puedes usar en PC. Aprender ASM o más bien C estandar incluido para PC, te abre muchas puertas.

El Flowcode es más bien para entrar rápido al mundo de los PIC, sin estresarte, fácil, cómodo y ameno.

Como curiosidad voy a probarlo ahora mismo.

Un cordial saludo.


----------



## Meta (Mar 19, 2012)

Hola de nuevo:







Aquí un manual que me vino en el entrenador y tambiñen se puede descargar directamente gratis en este enlace.

Descargar

Si no pueden pues por aquí buscan el enlace.


----------



## homer32 (Mar 23, 2012)

Buenas Meta no funcionan los enlaces que has puesto.
estoy buscando un manual en español para empezar con flowcode 4 y no hay manera de encontrarlo, tu lo podrias subir?


----------



## Meta (Mar 23, 2012)

Hola:

Este PDF en español del Flowcode 4. Cuando consiga una versión completa del flowcode y nada de demmo, haré manuales.

¿Ahora puedes?

Ya dirás.


----------



## homer32 (Mar 24, 2012)

gracias Meta por tu aporte.
ahora ya tengo por donde empezar a practicar je je je


----------



## Meta (Mar 24, 2012)

De nada campeón, lo harás rápido y puedes poner tus ejemplos por aquí.


----------



## homer32 (Mar 25, 2012)

Hola Meta, he leido el manual que publicaste y he provado algun ejemplo, concretamente el ejempo 1 con un interruptor encender un led o con el interruptor en la otra posicion enciende otro led.
tenemos una entrada RA0 y dos salidas RBO y RB1 pues solo se enciende la RB1, cuando lo simulo     paso a paso, segun la posicion del interruptor sigue un camino u otro, pero el led RB0 no enciende.


----------



## Meta (Mar 25, 2012)

Me pasa exactamente lo mismo. Eso es lo que no entiendo. Quizás sea una demo o algo no hacemmos bien.


Descargas estos 4 ejemplos y si puedes, me avisas si realmente funciona, no lo puedo usar porque tengouna demo.

Un saludo.


----------



## DANDY (Mar 25, 2012)

Hola *Meta* esa simulacion funciona perfectamente solo hay que esperar que el programa regrese al bucle de inicio con "pausa" y luego "entrar", el icono entrar se debe presionar varias veces para ir saltando de bloque en bloque.


----------



## Meta (Mar 26, 2012)

¿Ese ejemplo lo has probado del enlace que puse arriba?


----------



## homer32 (Mar 26, 2012)

Hola Meta, he probado los ejemplos que pusistes anteriormente y funcionan todos.
El error que cometia es que a la salida RB0 en la casilla que pone variable o valor, yo ponia la variable entrada y en el esquema que me mandaste sale este valor.   0b00000001, debajo de esta variable esta seleccionado leer puerto esta enmascarado y estan marcadas las casillas 0 y 1

Luego cuando ha de activar la salida RB1 en la casilla que pone variable o valor 0b00000010 y despues lee el puerto enmascarado las casilla 0 y 1.

Yo en lugar de leer el puerto tenia leer bit unico y RB0 leer bit 0 y RB1 bit 1 esto creo que es lo mismo de qualquier forma (leer puerto o leer bit único). 

Lo que tenia mal era donde se ha de poner un valor o variable yo habia puesto la variable entrada. Poniendo el valor del puerto funciona ok!

quando vaya practicando con los demas ejemplos ya te contaré.


----------



## Meta (Mar 26, 2012)

Gracias por la ayuda. No puedo usar el PIC16F886 porque es una DEMO el Flowcode 4 y 5 que uso.

¿Puedes adaptarlo al 16F88 o el 16F887 qie este si puedo verlo en la Demo?

Un saludo.


----------



## homer32 (Mar 26, 2012)

hola meta, ahora voy a provar si puedo modificar los ejemplos par los pic 16F887 o el 16F88

mirare de subirlos , 
meta mandame un mensaje privado con tu correo.



Buenas, aqui subo los ejemplos de antes pero ahora con el PIC 16F88 a ver meta si te funcionan.


----------



## Meta (Mar 26, 2012)

Hola:

Al principio me daba acceso denegado, ahora me fucniona, muchas gracias campeón. Voy a empezar desdce cero con el ejemplo 1 haber si me funciona con el Flowcode 5, los demás ejemplos también.

Cuando lo domine bien, hago pruebas con el USB-PIC'School 2010 que compré. Parece que se puede ejecutar desde el Flowcode y este entrenador a la vez.

Un saludo.


----------



## elprofetellez (Abr 2, 2012)

Hola, buena noche,
Me agrada ver que hay abierto un hilo de FC, aprovechando, aqui les dejo un ejemplo de comunicación por RS232 para adquisición de datos utilizando un LM35 para tomar la temperatura ambiente.

Tal como lo han comentado, con FC es muy sencillo implementar algoritmos desde sencillos hasta complejos.

Les dejo el archivo en FC y el archivo simulado en Proteus 7.6; se utilizan en el ejemplo un ADC (LM35), un 16F873A y un LCD 16x2.

Saludos!


----------



## invesel (Abr 3, 2012)

Hola, buenas a todos. 
He creado un pequeño programa para el 12F675, y la cuestión es que con el simulador de Flowcode funciona perfectamente, pero a la hora de cargarlo en el pic este no funciona. Me han comentado que puede ser problemas con los fuses, pero no sé como solucionarlo.

¿Me podrían orientar de como hacerlo?

Muchas gracias a todos.


----------



## elprofetellez (Abr 3, 2012)

invesel dijo:


> Hola, buenas a todos.
> He creado un pequeño programa para el 12F675, y la cuestión es que con el simulador de Flowcode funciona perfectamente, pero a la hora de cargarlo en el pic este no funciona. Me han comentado que puede ser problemas con los fuses, pero no sé como solucionarlo.
> 
> ¿Me podrían orientar de como hacerlo?
> ...



debes ser un poco más específico; el problema se presenta al intentar quemar el pic? (en cuyo caso sería problema de hardware), o el programa sí se transfiere satisfactoriamente al pic y el problema es que ya al comprobar su operacion no hace nada? (en cuyo caso es problema de software). además, si subes tu programa podriamos ayudarte revisandolo, de otra manera va a ser imposible. súbelo y le hecharemos un vistazo.


----------



## invesel (Abr 3, 2012)

Si, el tema es que crea y carga perfectamente el codigo hex, pero no llega a funcionar 
tal y como se ha programado.


Lo que pretendo hacer es lo siguiente:
Mantener pulsado durante 1 seg. P1, se enciende LED1, se enciende LED2 y se apaga LED1. Volvemos a pulsar durante 1 seg. y se enciende LED1 se apaga LED2 y se apaga LED1, todo con un par de segundos de retardo.

Muchas gracias.


----------



## Meta (Abr 3, 2012)

Hola:

Me ha pasado como a ti. Carga y todo pero no funciona. Por lo que veo, está explciado _aquí_ el motivo.

Un saludo.


----------



## invesel (Abr 3, 2012)

Hola Meta, gracias por tu respuesta pero no lo entiendo, ¿me lo podrías aclarar con algún ejemplo?

Muchas gracias.


----------



## elprofetellez (Abr 3, 2012)

invesel dijo:


> Si, el tema es que crea y carga perfectamente el codigo hex, pero no llega a funcionar
> tal y como se ha programado.
> 
> 
> ...



hola, tu palabra de  configuración es 0x3fb4, lo cual significa que el pic espera tener por el pin 4 (GP3), la señal de RESET; en cambio tu le estas metiendo tu señal del botón para activar tus leds, lo cual lo manda a reset, por eso no hace nada.

Cambia a reset interno con 0x3f94 y ahora comprueba, de cualquier forma, cambia la conexion del botón a otro bit del puerto, por ejemplo, GP1.

Comprueba de nuevo y veamos si funciona.



Hola INVESEL,

te anexo el FC modificado con 0x3f94, y te anexo la simulación en PROTEUS, esta funcionando correctamente.

Recuerda configurar la velocidad de reloj a 4MHz, esto lo haces en el menú VER, OPCIONES DE PROYECTO, ahi seleccionas la velocidad de reloj.

Por supuesto, para comprobar la simulación, compila el FC anexo y lo cargas al PIC de proteus.

Medices si te funcionó.


----------



## invesel (Abr 3, 2012)

Muchas gracias elprofetellez, he realizado el cambio que me ha comentado y la verdad que a comenzado a funcionar pero con un problema, que realiza el encendido y apagado sin tocar el pulsador. 

Muchas gracias


----------



## elprofetellez (Abr 3, 2012)

invesel dijo:


> Muchas gracias Profetellez, he realizado el cambio que me ha comentado y la verdad que a comenzado a funcionar pero con un problema, que realiza el encendido y apagado sin tocar el pulsador.
> 
> Muchas gracias



debes configurar la velocidad de reloj a 4MHz, es por ello que no opera correctamente. te anexe la simulación, hechale un ojo.

Me dices como va, saludos!


----------



## invesel (Abr 3, 2012)

Hola ELPROFETELLEZ, he podido realizar la prueba de simulacion en proteus y efectivamente funciona perfectamente, pero al cargar el codigo hex sobre el pic este sigue actuando si tocar sobre el pulsador. He comprobado la velocidad de reloj y está en 4Mhz.

Muchas gracias.


----------



## Meta (Abr 3, 2012)

¿Ya te funciona todo?


----------



## elprofetellez (Abr 3, 2012)

si tienes otro pic a la mano, pruébalo con éste; incluso prueba con un pic de otra serie aunque sea un 16F, (por supuesto cambia la configuración, pero al final el algoritmo es el mismo).

De otra manera, sube el FC que estás utilizando exactamente y dejame hecharle un ojo, sale?.

*****Casi se me olvida!!!

OJO:
cambiaste el BIT de tu entrada que activa los Led (tenias el GP3); yo NO lo hice, lo deje igual en GP3 el botón, en GP0 un Led y en GP2 el otro Led; la palabra 0x3f94 da al reset interno  (al encenderlo), y reloj interno a 4MHz.

Por cierto, tu entrada es del tipo PULL-DOWN, no la tendras en PULL-UP y por eso se queda activada?
Checa tu hardware y si puedes sube una foto.


----------



## elprofetellez (Abr 3, 2012)

Te modifiqué el programa porque ya viendolo, están de más algunas funciones y otras hacen falta. checa este que te envío.

Saludos.


----------



## invesel (Abr 4, 2012)

Hola elprofetellez, muchas gracias por la ayuda que me estás prestando.
He probado esta ultima modificación que me has enviado y sigue igual, se activa sin tocar el pulsador. No estoy muy seguro de esto que me dices de PULL-DOWN o PULL-UP, si te refieres a si la entrada está activada por "pasos altos o pasos bajos" te diré que he probado de las dos maneras, aparte también he colocado el pulsador en GP1 y he vuelto a generar el hex sin resultados positivos, haga lo que haga se me activa el funcionamiento sin pulsar.
¿Sería posible que me generaras el código hex y lo pruebo, no vaya a ser que tenga algún tipo de error el Flowcode que dispongo?

---- se me olvidaba decirte que estas pruebas las he hecho con un nuevo pic......
Un saludo


----------



## elprofetellez (Abr 4, 2012)

invesel dijo:


> Hola elprofetellez, muchas gracias por la ayuda que me estás prestando.
> He probado esta ultima modificación que me has enviado y sigue igual, se activa sin tocar el pulsador. No estoy muy seguro de esto que me dices de PULL-DOWN o PULL-UP, si te refieres a si la entrada está activada por "pasos altos o pasos bajos" te diré que he probado de las dos maneras, aparte también he colocado el pulsador en GP1 y he vuelto a generar el hex sin resultados positivos, haga lo que haga se me activa el funcionamiento sin pulsar.
> ¿Sería posible que me generaras el código hex y lo pruebo, no vaya a ser que tenga algún tipo de error el Flowcode que dispongo?
> 
> ...



Te mando el .hex y el archivo en C además del FC; verifica en el FC las conexiones realizadas.
Es muy extraño lo que comentas que sucede..., y si pruebas con otro micro? de la linea 16F digamos. a ver que sucede.

Me dices. saludos!


----------



## invesel (Abr 5, 2012)

Hola elprofetellez, he solucionado el problema, he desinstalado y vuelto a instalar el FC y funciona perfectamente.
Probé la modificacion que me hiciste cambiando el pulsador a GP1 y va perfectamente, el unico problema que me surge en estos momentos es que se apagan los leds cuando enciendo la iluminacion (fluorescentes) del banco de trabajo, le he colocado un condensador de 100n en los +5V y otro en paralelo con el pulsador, pero sigue dando problemas, en la supresion de rebotes coloqué 200ms.
¿ Te surge alguna idea para poder aliviar este sintoma ?

Te estoy muy agradecido por la ayuda que me has prestado. Me gustaría preguntarte si sabes de algún curso para FC, estoy muy interesado en aprender bien el manejo de este software.

Un saludo


----------



## invesel (Abr 5, 2012)

Acabo de solucionar también este problema de interferencias, a parte de la resistencia colocada de 10K entre +5V y la patilla GP3/MCLR he colocado un condensador de 100nF y el problema a quedado resuelto.

Saludos


----------



## invesel (Abr 5, 2012)

Como puedo colocar para que el pulsador funcione con negativo, he probado cambiando la polaridad en Activar altos y Activar bajos pero de las dos maneras solo funciona si el pulsador trabaja con positivo.

Muchas gracias


----------



## Meta (Abr 5, 2012)

Felicidades, en mi caso no me deja ejecutar el Flowcode 4, me da error.


----------



## elprofetellez (Abr 5, 2012)

invesel dijo:


> Como puedo colocar para que el pulsador funcione con negativo, he probado cambiando la polaridad en Activar altos y Activar bajos pero de las dos maneras solo funciona si el pulsador trabaja con positivo.
> 
> Muchas gracias



para que sea negado?, basta con cambiar tu resistencia de 10k de posición; la pones como PULL-UP, asi siempre estará en alto y al oprimir el botón se ira a nivel bajo; por supuesto, tienes que hacer el cambio en el FC para que la pregunta en la decición sea: "Si switch=0?", y ya con eso solo opera al valor cero en la entrada.

luego te subo un esquema, voy de salida, saludos!



Aqui te dejo un curso básico de FC.
Saludos!


----------



## Meta (Abr 5, 2012)

Gracias por el curso. Ya he visto dos de ellos con este.


----------



## invesel (Abr 6, 2012)

Muchas gracias, probaré el pulsador en negativo y ya te contaré. Gracias también por el curso.

Saludos


----------



## invesel (Abr 7, 2012)

Hola elprofetellez, he probado el cambio de polaridad y funciona correctamente. Hay una cosa que me gustaría saber hacer y es que necesito que haya que mantener el pulsador oprimido durante un tiempo de 1 o 2 segundos tanto para activar como desactivar, pero creo que no lo tengo bien hecho con el "delay" que le pongo despues del pulsador. 

Me podrías comentar como hacer esto para que no funcione con un ligero impulso sino que haya que mentener oprimido el pulsador durante el tiempo que nos parezca oportuno.

Muchas gracias.


----------



## elprofetellez (Abr 7, 2012)

hola, necesitas utilizar las interrupciones como contador, asi utiliza la opcion INT interrupción externa, y despues de esa interrupción comienza la cuenta de retardo.


----------



## invesel (Abr 9, 2012)

Gracias elprofetellez, pero no lo entiendo bien.

 ¿ Me podrías orientar de como hacerlo para que haya que mantener 1 segundo oprimido el pulsador tanto para activar el circuito como para desactivarlo ?

Disculpa mi ignorancia pero no llego a controlar esto que me dices.

Un saludo.


----------



## Meta (Abr 9, 2012)

...Me equivoqué.


----------



## elprofetellez (Abr 12, 2012)

invesel dijo:


> Gracias elprofetellez, pero no lo entiendo bien.
> 
> ¿ Me podrías orientar de como hacerlo para que haya que mantener 1 segundo oprimido el pulsador tanto para activar el circuito como para desactivarlo ?
> 
> ...



Te mando la forma más sencilla de lograr el retardo de 1 segundo; si el tiempo se requiere sea mayor ya no conviene esta configuración, ahí si interviene la INTERRUPCIÓN.

Pruébalo y me dices, sale?


----------



## invesel (Abr 13, 2012)

Hola elprofetellez, muchas gracias, lo he probado y funciona muy bien, pero necesitaría poder hacerlo con mas tiempo, he montado físicamente el circuito y lo he instalado, y se requiere que al menos haya que mantener pulsado unos 6 segundos, si pudieras te agradecería infinitamente que me lo explicaras. He estado practicando con TMR0 porque ví en internet algunos ejemplos, pero no hay manera de hacerlo funcionar.

Muchas gracias.


----------



## alejandrozama (Abr 19, 2012)

hola que tal, pues ya he tratado de usar mas este programa, ahora mismo estoy realizando un programa en el que devo de utilizar la interrupcion externa.

la cuestion es que el programa simulado me funciona pero cuando lo hago en fisico no realiza lo mismo, en fisico si me realiza bien el programa principal pero NO la interrupcion, no la realiza de manera correcta. realmente no se que estoy haciendo mal por eso les pido ayuda.

les dejo el archivo de flowcode v.4
imagenes de la configuracion


----------



## elprofetellez (Abr 19, 2012)

alejandrozama dijo:


> hola que tal, pues ya he tratado de usar mas este programa, ahora mismo estoy realizando un programa en el que devo de utilizar la interrupcion externa.
> 
> la cuestion es que el programa simulado me funciona pero cuando lo hago en fisico no realiza lo mismo, en fisico si me realiza bien el programa principal pero NO la interrupcion, no la realiza de manera correcta. realmente no se que estoy haciendo mal por eso les pido ayuda.
> 
> ...



Todo pareciera estar correcto, a simple vista.

Sube tu programa para revisarlo.

saludos!


----------



## alejandrozama (Abr 19, 2012)

ahi esta un rar que se llama interrupcion, lo subi el el mensaje anterior. el de flowcode verdad???


----------



## elprofetellez (Abr 24, 2012)

Tu programa tiene demasiados errores, lo que pongas fuera del Bucle no se va a realizar. te recomiendo que observes bien los ejemplos que pone Matrix en su página.

saludos!


----------



## alejandrozama (Abr 24, 2012)

ya revise el programa, por alguna estraña razon la variable z se me va al valor de 10, asi que solo agrege una decision mas en la subrutina. funciona tal y como esta. al ser una interrupcion externa entra en cualquier momento aunque no este en el bucle

ya lo realice en fisico


----------



## jucaceledon (May 3, 2012)

​
Hola, yo estoy haciendo ( en realidad ya lo hice) un programa en flowcode, lo simule en proteus y funciona, al pasarlo al fisico este no funciona, al medir voltaje en las salidas del pic este marca 2,5 volts, lo que significa que esta en loop, el problema que no hace lo que debiera, me podrian ayudar

Juan Carlos


----------



## elprofetellez (May 3, 2012)

jucaceledon dijo:


> ​
> Hola, yo estoy haciendo ( en realidad ya lo hice) un programa en flowcode, lo simule en proteus y funciona, al pasarlo al fisico este no funciona, al medir voltaje en las salidas del pic este marca 2,5 volts, lo que significa que esta en loop, el problema que no hace lo que debiera, me podrian ayudar
> 
> Juan Carlos



Directo a moderación!

Escribes en dos lugares diferentes del foro, y somos los mismos; ¿que necesidad hay de esto?

Pides ayuda..., y, como quieres que te ayuden???, no creo que alguien tenga una bola de cristal o algo asi para saber como caramba esta elaborado tu programa!

Podrías al menos, tener la amabilidad de subirlo, y asi preguntar?, de otra manera, mejor olvídalo.


----------



## jucaceledon (May 3, 2012)

La verdad es que no sabia que era el mismo lugar así que pido las disculpas respectivas, en relación al los programas esto son

Juan Carlos

Es un termostato y movimiento de una incubadora, esta hecho con pic 16f877a

la filosofía es:

1.- en manual gira el motor derecha o izquierda según selección
2.- En automático cada cierto tiempo gira a derecha espera un tiempo y gira izquierda
3.- Según t° (presekleccionada), activa un calefactor
4.- La t° se setea con subir y bajar t°

Cualquier duda agradeceré hacerla

espero su ayuda


----------



## talquino2012 (May 6, 2012)

Hola amigo, soy nuevo en esto del flowcode, he intentado hacer un semaforo en que al partir debe estar encendida luz roja y amarilla, luego al presionar el selector debe apagarse priemro la roja lueego la amarilla y encender la verde, en flowcode lo hace pero al pasarlo al proteus no lo hace, podrian darme una manito por favor

Javier


----------



## elprofetellez (May 6, 2012)

talquino2012 dijo:


> Hola amigo, soy nuevo en esto del flowcode, he intentado hacer un semaforo en que al partir debe estar encendida luz roja y amarilla, luego al presionar el selector debe apagarse priemro la roja lueego la amarilla y encender la verde, en flowcode lo hace pero al pasarlo al proteus no lo hace, podrian darme una manito por favor
> 
> Javier



configuraste correctamente el pic? le diste la palabra de configuración?, le diste la velocidad correcta de reloj?, igual en proteus lo configuraste ok?, el reset?, la velocidad del reloj?.



En configuración, NO tienes correctamente configurado el PIC dentro del FC, la palabra es: 0x2007,0x3f39

Para empezar; y en la simulación, lo mismo, no te funciona porque no colocaste el valor 0x3f39 de la configuración, además, tu XTAL esta a 1Mhz, cuando deberia estar a 4Mhz, y de la misma forma en el pic, lo tienes a 1Mhz, debes cambiarlo.

Ya por si fuera poco, nunca te va a funcionar si no conectas el pin MCLR del pic a positivo a través de una resistencia de unos 10K.

Realiza todos los cambios, yo ya los hice y funciona bien la simulación; por supuesto, funciona de acuerdo a tu programa, el cual tiene algunas deficiencias, mención aparte los colores de los led en la simulación.

Pero si realizas los cambios que te menciono, como primer paso podrás ver tu simulación y comenzar a depurar tu programa.

Saludos!


----------



## talquino2012 (May 7, 2012)

Me resultó, gracias, ahora a llevarlo al físico

Nos estamos viendo


Gracias

Javier


----------



## talquino2012 (May 7, 2012)

elprofetellez

tengo una consulta, eso de "En configuración, NO tienes correctamente configurado el PIC dentro del FC, la palabra es: 0x2007,0x3f39"

Siempre es así o obedece a alguna razón en especial 

Javier

PD, ahora me dieron la tarea de hacer el funcionamiento de un motor en automático y manual, lo haré si tengo duda ¿ Podre consultarle?


----------



## elprofetellez (May 7, 2012)

talquino2012 dijo:


> elprofetellez
> 
> tengo una consulta, eso de "En configuración, NO tienes correctamente configurado el PIC dentro del FC, la palabra es: 0x2007,0x3f39"
> 
> ...



Haz de cuenta que llegas a un restaurante, y el mesero te da la carta, tú seleccionas lo que quieres comer y decides en que momento te lo sirven; por supuesto, cada vez que vas, puede ser diferente.

Asi con el PIC, el valor 0x3f39 (es hexadecimal), le indica como será su "comportamiento" general.

Y por lo otro, recuerda, consultar, que es diferente a pedir carro completo. cuenta con la ayuda del foro y mía.

y, debes leer de Microcontroladores y sus aplicaciones, asi como leer la hoja de datos del que estes utilizando, además de los ejemplos de FC. Es lo más sano.

Saludos!


----------



## talquino2012 (May 8, 2012)

Aquí yo de nuevo, como les conté me dieron el trabajo ahora de hacer un programa de encender un motor a la derecha y a la izquierda, lo hice, me funciona tal como quiero excepto por que al estar en automático, al para ( pasar a manual), el programa sigue, al parecer hasta terminar el ciclo de programación ( lo hago primero a la derecha luego a la izquierda, si paro en el estado derecha sigue hasta cumplir el izquierda y luego para), cuando el tiempo de espero es pequeño no hay problemas, pero al ser los tiempos grande (sobre una hora) esto se complica, he buscado en ejemplos pero no lo puedo solucionar, me falta algo tal vez no se

Les muestro mi trabajo, espero me puedan ayudar

Gracias

Javier


----------



## RUIZ13 (May 8, 2012)

hola javier prueba esto no tuve tiempo para probarlo bien haslo tu y me comunicas


----------



## talquino2012 (May 8, 2012)

RUIZ13

La verdad que lo probé y realiza la misma función que el que había hecho yo, no pude distinguir cual es la modificación que Ud. le inserto, agradeceré aclararme las modificaciones para entenderlo??

Javier


----------



## invesel (May 9, 2012)

Hola a todos, estoy practicando con un voltimetro de los que aparecen en los ejemplos de flowcode para que en el display me aparezca de 0 a 100V con un solo decimal, pero no soy capaz de conseguirlo. Logicamente al PIC solo le llegaran de 0 a 5V, pero es para adaptarlo a una fuente de alimentacion. 

Alguien me podría ayudar, os subo el ejemplo y os doy las gracias.


----------



## archer1ec (May 9, 2012)

Hola atodos saludos cordiales mi motivo es ¿ que es una coma flotante y un ejenplo porfa gracias ?


----------



## RUIZ13 (May 9, 2012)

talquino2012 dijo:


> RUIZ13
> 
> La verdad que lo probé y realiza la misma función que el que había hecho yo, no pude distinguir cual es la modificación que Ud. le inserto, agradeceré aclararme las modificaciones para entenderlo??
> 
> Javier



le comento el problema q consegui es en la programacion del chip eso influye mucho a la hora de simularlo en proteus, de hecho que si mal no me acuerdo el profetelles le hizo una acotacion en un post anterior........ estaba con oscilador rc mientras en proteus le colocaste un cristal de 4Mhz porsupuesto que eso hace cambiar la simulacion y el comportamiento del circuito fuera del simulador de flowcode

hasta pronto revisa los dos archivos 

hasta pronto





invesel dijo:


> Hola a todos, estoy practicando con un voltimetro de los que aparecen en los ejemplos de flowcode para que en el display me aparezca de 0 a 100V con un solo decimal, pero no soy capaz de conseguirlo. Logicamente al PIC solo le llegaran de 0 a 5V, pero es para adaptarlo a una fuente de alimentacion.
> 
> Alguien me podría ayudar, os subo el ejemplo y os doy las gracias.




 el problema esta en que las cadenas por defecto vienen a 20 caracteres y tu lo dejastes asi le hice la modificacion me funciona bien


----------



## talquino2012 (May 9, 2012)

RUIZ13

Gracias por la aclaración, ahora todo funciona de maravillas, al fisico

Javier


----------



## talquino2012 (May 9, 2012)

elprofetellez
ruiz13

Sres. muchas gracias, me fue bien en mi examen, lo malo que al profesor se le ocurrió la brillante idea de darme un  trabajo ahora que considerara una entrada análoga a mi programa, es decir que a parte de mover el motor deba indicarme con un a luz si existe mucha humedad, calor, presión etc, así que a trabajar

Espero poder seguir abusando de su buena voluntad y preguntarles si tengo dudas

Javier

Pd, considero que utilizare la variable calor


----------



## talquino2012 (May 10, 2012)

Hola amigos

Hoy les escribo un poco decepcionado pues hace unos días atrás les comente de un programa semáforo el cual en flowcode y proteus funciona de maravillas pero al llevarlo al físico este no me funcionó, se encienden las tres luces de inmediato y mido voltaje entre el pin de salida y me da 2,5 volt.

No se que sera, he revisado el circuito una y mil veces y no se

me pueden ayudar

Adjunto los archivos

Gracias

Javier


----------



## RUIZ13 (May 10, 2012)

vi el programa y me parece q no esta bien dejame ver de acuerdo a mi tiempo y le ayudo

vi el programa y me parece q no esta bien dejame ver de acuerdo a mi tiempo y le ayudo



ok javier te envio este programa lo modifique tanto en proteus como en fc revisalo y me comunicas o si quiere modificarlo va hacer mas facil

 saludos





jucaceledon dijo:


> ​
> Hola, yo estoy haciendo ( en realidad ya lo hice) un programa en flowcode, lo simule en proteus y funciona, al pasarlo al fisico este no funciona, al medir voltaje en las salidas del pic este marca 2,5 volts, lo que significa que esta en loop, el problema que no hace lo que debiera, me podrian ayudar
> 
> Juan Carlos



juan lo del problema de los 2,5 volt que le daba es porque en la programacion del pic tienes un oscilador rc y no xt como deberia ser sigue revisando y haga esta prueva que le indico y me informa deberia asi no funcione de darle 5 volt

hasta pronto


----------



## talquino2012 (May 10, 2012)

Si me había dado  cuenta que el pic estaba en RC, lo modifique y lo probé y aun sigue encendiendo lo mismos tres led.


una consulta del isis al pasarlo al ares el pin de vdd no aparece conectado (lineas) como puede ser eso, adjunto los tres archivos

Gracias

Javier


----------



## RUIZ13 (May 10, 2012)

Pregunta
 usted probo el archivo que envié ?
respuesta a su pregunta
el archivo que envió no tenia en el circuito punto de conexión debería hacerlo para que ares lo reconozca como tal colocando un conector


----------



## talquino2012 (May 10, 2012)

si probe el archivo (el suyo), sigue dando los 3 volts.

Con respuesta al ares si coloque un conector, el esquema del ares esta en javier_esquema

javier


----------



## RUIZ13 (May 10, 2012)

si mal no me acuerdo habia era una toma de vcc no un conector y ares estas  no las toma como punto tangible


----------



## talquino2012 (May 10, 2012)

Creo entender su respuesta, la explicare si estoy en lo correcto Ud. me dice.

Debo conectar un conector en paralelo o sustituyendo la fuente por un conector, si es así, es lo que hice y ahí tomo la tierra como común y deja el vdd  sin conexión.

Por favor no soy experto, agradeceré su ayuda, en todo caso esta en javier_esquema

Gracias 

Javier


----------



## RUIZ13 (May 10, 2012)

creo que es asi pero el conector deberia ser de dos pines uno vcc y otro vdd



lo revise y usted coloca una fuente no un conector y asi lo toma ares 

ademas me parece q el suiche esta de mas por eso le envie un archivo para que lo viera comparara el funcionamiento y todos aprendemos


----------



## talquino2012 (May 12, 2012)

ruiz13

Gracias por su paciencia, ya lo encontré, me sirvio por que tuve que navegar por el proteus y al final lo logre, ahora al físico

Javier


----------



## invesel (May 14, 2012)

Hola a todos, vuelvo a pedir ayuda para la creacion de un voltimetro con flowcode, me es muy importante. 

Gracias a todos


----------



## alejandrozama (May 14, 2012)

aqui estan dos ejamplo que encontre, uno es de 0-5 y el otro de 0 a 15. igual y te pueden ayudar a darte la idea de como hacerlo.
se encuentran aqui
https://www.forosdeelectronica.com/f24/flowcode-4-a-74422/

en otro tema, quisiera que me ayudaran para saber como hacer un programa donde por medio de un tecado matricial poder grabar en la memoria eeprom, he intentado de varias de maneras pero no logro que funcione.


----------



## invesel (May 14, 2012)

Muchas gracias alejandrozama, estos ejemplos los conozco, mi problema es que no se como modificarlo, para que en pantalla me presente 100V cuando al pic le lleguen 5v, y ademas necesito que solo tenga un decimal.

Gracias de todos modos.


----------



## ronnyleiva (May 14, 2012)

israeljazzbass dijo:


> que tal amigos, yo tengo un pequeno problema espero que me puedan ayudar, hice un proyecto con flowcode en el cual utilizo el keypad, y lo simulo con el mismo flowcode, todo es perfecto, pero para llevarlo a la practica, no se como conectar el keypad, alguien tiene un diagrama de conexion que me pueda pasar, muchas gracias


hola israe




hola me encantaria que me digeras como aser el programa de teclado matricial no tengo ni idea ni tampoco e encontrado algun ejemplo me me ayude


----------



## talquino2012 (May 17, 2012)

Sres. yo de nuevo, termine mi programa en flowcode, en proteus y ares, lo lleve al fisico y no me funcionó, no se que puede ser.

Programo el pic con el archivo Hex. del flowcode

Me pueden ayudar por favor

Javier


----------



## elprofetellez (May 17, 2012)

y si para empezar, cambias la palabra de configuración?, tienes: 0x2007,0x3f3a

Coloca: 0x2007,0x3f39

Saludos.


----------



## talquino2012 (May 17, 2012)

si lo hago pero me cambia explico:

al cambiar oscilador a xtal, al revisar switch to expert config Screen, este aparece con hs y la dirección 0x3f3a.

Al cambiar de switch to expert config Screen, cambia a oscilador rc.

Como puedo dejarlo en Xtal y la dirección 0x3f39 o es normal que cambie y debo preocuparme solo de la dirección??

Gracias

Javier


----------



## elprofetellez (May 17, 2012)

talquino2012 dijo:


> si lo hago pero me cambia explico:
> 
> al cambiar oscilador a xtal, al revisar switch to expert config Screen, este aparece con hs y la dirección 0x3f3a.
> 
> ...



Por eso no FUNCIONA, ni funcionará.

Ese es tu único problema, si lo arreglas, funcionará.

En config debes seleccionar XTAL, tal como lo dijiste, en Configuración de Experto, debes seleccionar XTAL, y apagar-deshabilitar todo lo demás, en la esquina inferior derecha debe darte el numero 0x3f39, una vez ahí, dale ACEPTAR.

Es todo lo que necesitas.


----------



## invesel (May 18, 2012)

Vuelvo a pedir ayuda. He creado un dibujo donde explico lo que necesito. Me cuesta mucho pedir 
que me ayuden, pero es algo que necesito y no soy capaz de realizar, no tengo ni idea de como hacer para que el voltimetro tenga un unico decimal y que el salto de escala con la que mida sea de 0.5V .
En algunos ejemplos que he visto el punto decimal varía de posición según el valor del ADC, pero
yo necesito que sea lo mas parecido al dibujo que he subido. 

Perdonen si soy muy pesado con este tema, pero de verdad me harían un gran favor.


----------



## elprofetellez (May 18, 2012)

invesel dijo:


> Vuelvo a pedir ayuda. He creado un dibujo donde explico lo que necesito. Me cuesta mucho pedir
> que me ayuden, pero es algo que necesito y no soy capaz de realizar, no tengo ni idea de como hacer para que el voltimetro tenga un unico decimal y que el salto de escala con la que mida sea de 0.5V .
> En algunos ejemplos que he visto el punto decimal varía de posición según el valor del ADC, pero
> yo necesito que sea lo mas parecido al dibujo que he subido.
> ...



para el voltimetro que quieres, debes utilizar variables del tipo coma flotante.

la lectura del ADC debe ser como número, no como voltaje, y debes usar el comando de cálculo para convertir ese máximo número en tus 100 volts.

tendrás que utilizar para ello el comando de manipulacion de secuencia.

finalmente, si el resultado lo conviertes a cadena, para que no te salgan todos esos números después del punto solo debes cambiar el tamaño de la cadena, que por defecto es 20.

checa los ejemplos de manipulación de cadena de Matrix.

saludos!


----------



## RUIZ13 (May 19, 2012)

talquino2012 dijo:


> si lo hago pero me cambia explico:
> 
> al cambiar oscilador a xtal, al revisar switch to expert config Screen, este aparece con hs y la dirección 0x3f3a.
> 
> ...



hola amigo
yo hice todas las pruebas y me funciono  estoy tratando de subir los vídeos de tu programa y el que hice de un semáforo que había pedido lo instale en el pic y me funciono bien el tuyo tube que cambiarle el oscilador a xt y listo



aun comprimidos los videos son muy grandes
conclusion
 pero me funciono





invesel dijo:


> Vuelvo a pedir ayuda. He creado un dibujo donde explico lo que necesito. Me cuesta mucho pedir
> que me ayuden, pero es algo que necesito y no soy capaz de realizar, no tengo ni idea de como hacer para que el voltimetro tenga un unico decimal y que el salto de escala con la que mida sea de 0.5V .
> En algunos ejemplos que he visto el punto decimal varía de posición según el valor del ADC, pero
> yo necesito que sea lo mas parecido al dibujo que he subido.
> ...



envia por favor el diagrama en flow code para verlo y ver donde esta el problema


----------



## homer32 (May 21, 2012)

hola,
quiero saber si se puede hacer un PWM con un PIC 16F84A, he visto algun ejemplo pero es con otros PIC'S que tienen alguna entrada analogica y mediante un potenciometro se regula el PWM.

El 16F84A no tiene ninguna entrada anoalogica que pueda conectar el potenciometro, si no se puede hacer de esta manera hay alguna otra forma de hacerlo con este PIC 16F84A es que ya lo tengo, je, je, je.


----------



## elprofetellez (May 24, 2012)

utiliza un 16f628a, tiene un módulo CCP. cuesta lo mismo o menos que el 84a.


----------



## elprofetellez (May 24, 2012)

invesel dijo:


> Vuelvo a pedir ayuda. He creado un dibujo donde explico lo que necesito. Me cuesta mucho pedir
> que me ayuden, pero es algo que necesito y no soy capaz de realizar, no tengo ni idea de como hacer para que el voltimetro tenga un unico decimal y que el salto de escala con la que mida sea de 0.5V .
> En algunos ejemplos que he visto el punto decimal varía de posición según el valor del ADC, pero
> yo necesito que sea lo mas parecido al dibujo que he subido.
> ...



Espero que este te sirva, saludos!


----------



## homer32 (May 25, 2012)

voy a provar con el PWM



Voy a provar el PWM con el 16F628A, he provado con un ejemplo que he visto por ahi, pero a mi me interesa poder regular la dutyclycle y a poder ser la frequencia de salida, o sea varias salidas a disdtintas frecuencias y que todas ellas se puedan regular a traves de un potenciometro, o pulsador, etc.. el dutycycle.


----------



## invesel (May 26, 2012)

Hola elprofetellez, he estado trabajando sobre el voltimetro y he conseguido algo parecido a lo que necesito, pero tiene algunos fallos que no se como corregir, uno de estos fallos es que cuando bajas el potenciometro en el display siempre se queda el dígito de la derecha, y otra cosa es que no puedo hacer es que el display muestre la lectura de derecha a izquierda y no de izquierda a derecha. He subido el archivo por si me puedes orientar.

Muchas gracias.


----------



## talquino2012 (Jun 1, 2012)

Hola amigos yo de nuevo por acá, quiero contarles que el problema que tenia con mi programa era el pic, lo cambie y funcionó en físico.

Pero ahora tengo el siguiente problema, el profesor me encargo hacer el siguiente trabajo, funcionar un motor que gire derecha e izquierda, hasta aquí ningún problema, también que detectara una entrada análoga(ejemplo temperatura), lo hago pero al setear la max y mínima solo me sube a 10 y no puedo seguir subiendo.

Ademas tengo una duda con el lm35, este entrega 5 v, es decir cada 10mv es un grado, pero este mide desde -55 hasta 150, por lo que debería multiplicarla por un factor yo lo hice con 50 y me marca desde 0 a 150, como yo quiero solo temperatura positiva esta bien lo que hice??

adjunto archivo con lo que llevo

Desde ya muchas Gracias

Ruiz13, muchas gracias por la ayuda y todo funciona bien
Javier


----------



## homer32 (Jun 1, 2012)

hola a todos,
estoy empezando con el flowcode y la programacion, y estoy intentando hacer un PWM con el PIC 16f88 el cual lo lleva incorporado, que se pueda regular el dutycycle con un potenciometro y en una pantalla lcd aparezca el valor del duty en %.
el problema es que no se como hacer para que aparezca el valor del dutycycle % en el LCD. Sale un valor que va variando con el potenciometro pero no es el mismo que el que sale en el modulo CCP1.
creo que la clave del tema es en una funcion de calculo que esta por ahi en medio pero no se como hacerlo para que salga correcto.
Una vez funcione esto intentaré poner en el LCD la frecuencia a la que esta trabajando.
he utilizado este pic porque el 16F628a no deja conectar un potenciometro, (supongo que lo tendria que hacer con 2 pulsadores).
No entiendo como no deja conectar un potenciometro en el 16F628a si creo que tambien tiene alguna entrada analogica. (he visto por ahi algun video donde se regulaba la intesidad de un led con un potenciometro y este pic).
adjunto el programa a ver si me podeis ayudar para ver lo que falla y solucionarlo.


----------



## elprofetellez (Jun 1, 2012)

el 628A no tiene convertidor ADC, si tiene entradas AN son para Comparadores, los cuales tiene 2. solo que cada comparador te consume 3 terminales.

de tu programa dejame checarlo y te digo. aunque efectivamente el duty lo varias con tu AN, y para escribirlo en el LCD basta con hacer la operación de cálculo.

saludos!


----------



## talquino2012 (Jun 1, 2012)

En relacion a la consulta anterior ya solucione el problema de cuenta hasta diez, habia que aumentar las variables de secuencia.

Pero aun me queda la duda del lm35 en relacion al factor de multiplicacion, si alguien me puede orientar

Gracias

Javier


----------



## manuel gomez (Jun 2, 2012)

Buenos días a todos, yo también tengo el mismo problema que homer32, y es que cuando inicias la simulación y comienzas a subir el potenciometro esta lectura la hace correctamente, pero cuando bajas el potenciometro los digitos de la derecha se van quedando en pantalla y parece que la lectura es incorrecta. Esto se puede solucionar si la lectura se hace de derecha a izquierda y no de izquierda a derecha.

¿Podría echar una mano alguien que sepa como hacerlo?

Saludos.


----------



## elprofetellez (Jun 2, 2012)

lo que deben hacer, es simplemente Limpiar (clear), la pantalla del LCD para que no se quede el mensaje encimado. 

lo pueden hacer digamos, cada 80 o 100 ms. 

saludos!


----------



## manuel gomez (Jun 4, 2012)

Hola elprofetellez, permitame que le haga una pregunta, ¿es muy complicado hacer que la lectura
se presente en el display de derecha a izquierda? quiero decir lo siguiente:

uno = 001
diez = 010
noventa y nueve = 099

Justo al contrario de como aparece en los diversos ejemplos que existen y que los dígitos de la izquierda presentaran "0", es como en realidad se muestra cualquier medida en un tester. 

muchas gracias y disculpe mi ignorancia.


----------



## homer32 (Jun 6, 2012)

Hola a todos,
por fin he realizado un control PWM con flowcode y el pic 16F628a, con el pic 16F88 ya lo habia realizado anteriormente. (me falta grabar los pic y probarlos, un dia de estos los voy a grabar). 
Regulo el PWM mediante 2 pulsadores, un sube el dutycycle y el otro lo baja. Adjunto arxivo.

Mis dudas son:
1.- Se podria variar la frecuencia del PWM? (por ejemplo con 2 interruptores y seleccionar diferentes frecuencias de PWM)?

2.- En el programa que he realizado, mientras vamos subiendo el valor del duty, hay un momento que llega al 100% y luego vuelve a empezar por 0%. Para solucionar esto, quando llega al 100% mediante la instruccion calculo, lo bajo al 96%, y asi nunca supera el 100%, no se si hay alguna manera más fácil o elegante de hacer este paso?

3.-Si bajamos el duty, hay un momento que llega a 0%, si continuamos bajando, vuelve a empezar del 100% y vuelve a pasar. Esto no interesa, como podemos solucionarloy que no baje del 0%?

4.- al imprimir en el LCD el dutycycle, quiero que aparezca en la primera linea "dutycycle", un espacio en blanco y el núm correspondiente al %. Ahora me aparece en la linea de debajo. (en otra prueba, tambien me aparecia justo despues de la palabra dutycycle, pero sin ningun espacio).
5.- poco a poco iremos aprendiendo como programar con flowcode (para los que no tenemos ni idea de programación, je, je). No se si hay alguna manera más fácil de realizar este programa o estructurarlo mejor?

6.- En el montaje físico de los componentes, para utilizar el PWM se ha de conectar la carga,(led, transistor, etc..) al pin 9?

PD: perdon por el rollo pero preguntando se aprende.
tambien estaria bien crear un apartado en el foro dedicado solo a flowcode. seria comentarlo a los moderadores.


----------



## talquino2012 (Jun 7, 2012)

Hola amigos yo de nuevo con algunas preguntitas, me intereso tanto este programa que quise hacer un semaforo para un trabajo en la u y lo hice con un pic 16f84a, al llevarlo al físico no hace lo que le pido, se que es algo de configuración por que el circuito físico lo he probado con otros programas y funciono.

adjunto el archivo para que  me echen una manito

Javier


----------



## elprofetellez (Jun 7, 2012)

lo unico que vi que no concuerda es que tu velocidad de reloj está cerca de los 20Mhz, cuando debería estar en 4Mhz.


----------



## Badir (Jun 11, 2012)

Saludos a tod@s!!! Quisiera compartirles este caso para ver si a alguno de ustedes les ha pasado y si este tiene solución:  
Necesito enviar datos mediante RS232, cuando realizo la simulación en Flowcode V4, todo sale de maravilla.... pero, cuando cargo el programa en Proteus, los caracteres desplegados en el Virtual Terminal, no tienen nada que ver con lo que había programado en Flowcode, la configuración es la misma en ambos, misma velocidad, mismos bits de datos, etc.... Lo he intentado programando tanto un PIC16F84A y un PIC18F458, y con ambos tengo el mismo problema... No sé si es que el problema se encuentra en Flowcode o en Proteus.... Si a alguna persona le ha pasado y sobre todo lo ha solucionado les agradezco mucho su valiosa ayuda....

Saludos amig@s!!!!


----------



## elprofetellez (Jun 12, 2012)

Badir dijo:


> Saludos a tod@s!!! Quisiera compartirles este caso para ver si a alguno de ustedes les ha pasado y si este tiene solución:
> Necesito enviar datos mediante RS232, cuando realizo la simulación en Flowcode V4, todo sale de maravilla.... pero, cuando cargo el programa en Proteus, los caracteres desplegados en el Virtual Terminal, no tienen nada que ver con lo que había programado en Flowcode, la configuración es la misma en ambos, misma velocidad, mismos bits de datos, etc.... Lo he intentado programando tanto un PIC16F84A y un PIC18F458, y con ambos tengo el mismo problema... No sé si es que el problema se encuentra en Flowcode o en Proteus.... Si a alguna persona le ha pasado y sobre todo lo ha solucionado les agradezco mucho su valiosa ayuda....
> 
> Saludos amig@s!!!!



Sube tu FlowCode para poder mirarlo y decirte que puede ser. El RS232 con FC funciona muy bien.


----------



## Badir (Jun 13, 2012)

Gracias amigo, creo que ya sé donde tenía el error.... gracias por el soporte! Saludos!!!!


----------



## manuel gomez (Jun 21, 2012)

Vuelvo a abrir el tema del voltimetro con Flowcode por si hubiera alguien nuevo en el foro y pudiera ayudarme, o al menos orientarme sobre lo que necesito.

¿Es muy complicado hacer que la lectura se presente en el display de derecha a izquierda? quiero decir lo siguiente:

uno = 001
diez = 010
noventa y nueve = 099

Justo al contrario de como aparece en los diversos ejemplos que existen y que los dígitos de la izquierda presentaran "0", es como en realidad se muestra cualquier medida en un tester. 

Me da igual presentarlo en pantalla lcd o digitos de leds.

Realmente es lo que aparece en este video:
*



*

Muchas gracias y disculpen mi insistencia. Necesito realizar este proyecto, de ello depende un buen trabajo.


----------



## RUIZ13 (Jun 21, 2012)

Hola a todos 
manuel por supuesto que se puede pero hay que ver tu archivo por favor envíalo para verlo porq en el video que colocaste lo hace esperamos tu archivo


----------



## manuel gomez (Jun 21, 2012)

Este archivo es el que necesito hacer funcionar como he comentado, quiere decir algo parecido al video anterior. Es como funciona cualquier tester, al conectar aparece 000 y segun se suba el potenciometro
presentaría la lectura de izquierda a derecha; 001.., 002.., 003.., 010.., 011.., así hasta 100. 

Muchas gracias RUIZ13.


----------



## elprofetellez (Jun 22, 2012)

solamante tienes que ordenar la recuperacion de tu cadena y enviar el dígito en el orden que lo necesitas.


----------



## edgard22 (Jun 22, 2012)

manuel gomez dijo:


> Este archivo es el que necesito hacer funcionar como he comentado, quiere decir algo parecido al video anterior. Es como funciona cualquier tester, al conectar aparece 000 y segun se suba el potenciometro
> presentaría la lectura de izquierda a derecha; 001.., 002.., 003.., 010.., 011.., así hasta 100.
> 
> Muchas gracias RUIZ13.



Hola Manuel, eso te ocurre porque situas el cursor en un punto fijo, y el largo de la cifra varía entre uno y tres dígitos, dejando a la derecha de estos los caracteres impresos anteriormente, para hacerlo simple podrías agregar otro comando de lcd que imprima espacios luego de los números. 
Agrego también las modificaciones a tu código para hacerlo como tu qurerías, con formato "000"
Saludos.


----------



## manuel gomez (Jun 23, 2012)

Gracias edgard22, es exactamente lo que necesitaba y ademas no sabía como hacerlo. Lo probare en físico y ya comentaré.

Un saludo.


----------



## invesel (Jun 27, 2012)

Algún curso de Flowcode?


----------



## manuel gomez (Jun 27, 2012)

Hola edgard22, he probado el circuito en físico y a pesar de algunos problemas he conseguido hacerlo funcionar. Pero ahora me surje la posibilidad de que la lectura sea con un decimal y que fuera de 5 en 5, osea; 00.5, 01.0, 01.5 y así hasta 99.5, ¿me podrías indicar como hacerlo?.

Muchas gracias.


----------



## edgard22 (Jun 28, 2012)

manuel gomez dijo:


> Hola edgard22, he probado el circuito en físico y a pesar de algunos problemas he conseguido hacerlo funcionar. Pero ahora me surje la posibilidad de que la lectura sea con un decimal y que fuera de 5 en 5, osea; 00.5, 01.0, 01.5 y así hasta 99.5, ¿me podrías indicar como hacerlo?.
> 
> Muchas gracias.



Hola, de mis experiencias con las dichosas formulas (que no son demasiadas) he notado que las simulaciones no siempre reflejan la realidad, por ejemplo, funcionan cosas que en la realidad darían problemas. Tal es el caso de Volts = Volts*100/1023 para el escalado, el cual en la realidad me ha dado problemas (al superar determinados valores me da cualquier cosa y en números negativos). Imagino que en el pic genera desbordes por la multiplicación...
Para lo que yo necesitaba me funcionó bastante bien esto:  Volts = Volts-(Volts/45), con lo cual obtengo el escalado de 1023 a 1000.
Para hacerlo de 5 en 5 yo usé algo simple, dividir volts por 5 y multiplicarlo por 5. Al dividirlo, se truncan los decimales, y al multiplicarlo, se obtiene el multiplo de 5 más cercano al valor original (el menor).
Para imprimir el punto decimal, es otro tema... transformar el "1000" en "100.0".
La que ví en los ejemplos es descomponer el número en cifras independientes dividiendo y usando el comando "MOD" para asignarles una variable a cada una de ellas. (Está en la carpeta 'examples').

Yo uso otro sistema: 
Ejemplo: Volts=1234
                             Temp=(Volts/10)*10      "Da resultado 1230
                             Dec=Volts-temp            "1234-1230=4
                             Volts=Volts/10              "123
Tenemos entonces: Volts=123 y Dec=4
Se imprime Volts, "." y Dec para obtener "123.4"

Espero te sirva de algo todo esto.


----------



## manuel gomez (Jun 29, 2012)

Gracias edgard22, probaré esto que me dices.

Saludos


----------



## manuel gomez (Jun 29, 2012)

Hola edgard22, he estado praticando con lo que anteriormente me habías comentado pero no lo controlo, ¿ me podrías hacer un ejemplo en Flowcode?

Muy agradecido.


----------



## edgard22 (Jun 29, 2012)

manuel gomez dijo:


> Hola edgard22, he estado praticando con lo que anteriormente me habías comentado pero no lo controlo, ¿ me podrías hacer un ejemplo en Flowcode?
> 
> Muy agradecido.



Claro, ahí va... ten en cuenta que en este ejemplo usé un PIC16F819 porque es lo que tenía para probar y también cambié los pines del LCD.
Cuando simules esto no vas a ver los decimales porque los escalones del simulador ADC son de a 10 y eso impide que los muestre. Quizá te pasó lo mismo y por eso no te funcionaba.


----------



## manuel gomez (Jun 30, 2012)

Gracias, puede ser eso que comentas, ahora lo probaré nuevamente en físico a ver el resultado que obtengo, de cualquier manera te estoy muy agradecido y ya contaré como funciona.

Un saludo.


----------



## jherediac (Jul 4, 2012)

Hola a pesar que hace tiempos salio el flowcode hasta ahora estoy empezando a aprender a programar por medio de este programa soy nuevo en el foro, y la mejor forma de aprender es interactuando con personas que saben del tema. Ahora bien tengo un problema y no he logrado manejar el lcd como quisiera he hecho varias pruevas con el flow pero ninguna me ha dado resultados, quisiera que el mensaje que sale en el lcd se desplace ya sea de derecha a izquierda o vicebersa y si se puede de arriba a abajo he visto que se puede pero por mas bueltas que le doy no me funciona como quisiera agradeceria que me explicaran como controlar el lcd....


----------



## manuel gomez (Jul 9, 2012)

Hola edgard22, no logro hacer funcionar el voltimetro2, tengo un display LCD con el hago pruebas pero no hay manera de que aparezcan datos, el modelo es el GDM1602A, he leido en la ayuda de Flowcode que la conexion debe ser la siguiente:


Dato1: 	B0
Dato2: 	B1
Dato3: 	B2
Dato4: 	B3
RS: 	        B4
Habilitar:    B5

pero la conexion que tu me indicas en voltimetro2 son distintas, me podrías ayudar?

Gracias.


----------



## invesel (Jul 9, 2012)

Yo tengo también ese mismo display Lcd (GDM1602A) y con un Pic 16F88 he practicado con los ejemplos que trae Flowcode y no soy capaz de hacer funcionar ninguno. Por ello tambien pido algo de ayuda, me gustaría tener el esquema de conexión de algun ejemplo que alguno de vosotros lo halla hecho funcionar.

Un saludo para todos.


----------



## manuel gomez (Jul 9, 2012)

Hola de nuevo edgard22, he solucionado el problema anterior, pero lo que me sucede ahora es que la presentación de los datos es muy lenta, osea, al girar el potenciometro tarda un poco en aparecer la lectura, he revisado que la velocidad de reloj  y está a 4000000, ya no sé que mas se puede hacer para solucionar este síntoma. 
   (El pic que estoy utilizando es un 16F88, y esta configurado con oscilador interno)
Saludos


----------



## manuel gomez (Jul 10, 2012)

Otro problema resuelto, he configurado el pic con reloj externo y le he colocado un cristal de cuarzo de 4Mhz con 2 condensadores de 18pF y la presentación de los datos en el display es inmediata, pero vuelve a surgir otro imprevisto, y es que el decimal que va de 5 en 5 oscila mucho y no sé como hacer para que quede estable.

Muchas gracias.


----------



## jherediac (Jul 11, 2012)

jherediac dijo:


> Hola a pesar que hace tiempos salio el flowcode hasta ahora estoy empezando a aprender a programar por medio de este programa soy nuevo en el foro, y la mejor forma de aprender es interactuando con personas que saben del tema. Ahora bien tengo un problema y no he logrado manejar el lcd como quisiera he hecho varias pruevas con el flow pero ninguna me ha dado resultados, quisiera que el mensaje que sale en el lcd se desplace ya sea de derecha a izquierda o vicebersa y si se puede de arriba a abajo he visto que se puede pero por mas bueltas que le doy no me funciona como quisiera agradeceria que me explicaran como controlar el lcd....



Hola de nuevo, despues de darle bueltas aca y alla por fin pude diseñar el programa como queria, ahora el problema es que el flowcode no me genera el codigo HEX y al momento de ensamblar me sale un error, quisiera saber como resolberlo a continuacion publico el error tal como se genera gracias y esperando una positiva respuesta


----------



## edgard22 (Jul 12, 2012)

Hola Manuel, eso que te ocurre es bastante común y se soluciona haciendo una lectura promedial, es decir, se lee el adc y se acumula este valor en una variable repitiendo el proceso, por ejemplo 20 veces, al finalizar, se divide este resultado por 20 y ya está, la mejora es notable.
Tener en cuenta que para este método el número de lecturas acumuladas no debe superar las 30, ya que la variable soporta 32767. (1023 * 30 = 30690)
Por cierto, si quieres puedes aumentar el número de veces haciendo ciclos de lectura anidados, con lo cual mejora aún más. (cuanto mas lecturas, mas demora el proceso, con lo cual en este caso es doblemente beneficioso, ya que mejora la estabilidad de la lectura y se genera una demora entre actualizaciones del display.)
En el ejemplo "Promedio_180_veces.fcf" se realizan 180 lecturas entre actualizaciones de display, las lecturas son muy estables.
Este tipo de rutinas es ideal para usarlas cuando se necesita escalar el valor leído modificando los divisores para obtener el valor deseado.
Nuevamente, espero que esto te sirva de ayuda.
Saludos a todos.

Ah, para invesel: 

A ver... sería algo así:
En FlowCode  -  En Display
                                ---------------------------  
                                 DATA 1        -   PATA 11                             
                                 DATA 2        -   PATA 12
                                 DATA 3        -   PATA 13
                                 DATA 4        -   PATA 14
                                 RS              -   PATA 4
                                 ACTIVAR      -   PATA 6           
                                --------------------------
pata 3 de display es contraste, se pone un preset de 10k para ajuste o se pone a masa.
pata 5 es R/W y se pone a masa (Habilita modo escritura en LCD)

La imágen es más específica.


----------



## edgard22 (Jul 12, 2012)

jherediac dijo:


> Hola de nuevo, despues de darle bueltas aca y alla por fin pude diseñar el programa como queria, ahora el problema es que el flowcode no me genera el codigo HEX y al momento de ensamblar me sale un error, quisiera saber como resolberlo a continuacion publico el error tal como se genera gracias y esperando una positiva respuesta



Según dice el mensaje de error, hay un problema con una de las librerías, quizá deberías volver a instalar flowcode para restaurar los archivos.


----------



## manuel gomez (Jul 13, 2012)

Muchas gracias edgard22, seguiré tu consejo y haré algunas pruebas.

Saludos.


----------



## jherediac (Jul 13, 2012)

edgard22 dijo:


> Según dice el mensaje de error, hay un problema con una de las librerías, quizá deberías volver a instalar flowcode para restaurar los archivos.



gracias por responder si lo que sucede es que cada ves que necesito emsamblar el codigo tengo que desinstalar el flowcode reinicio mi pc, a continuacion procedo nuevamente a instalar el flowcode, luego procedo a abrir el archivo le doy ensamblar y me funciona correctamente, pero si decido ensamblar otro programa creado o el mismo con variaciones inevitablemente me da el fatidico error, y nuevamente a desinstalar y instalar nuevamente, comprenderas que es engorroso ese procedimiento....


----------



## invesel (Jul 13, 2012)

Hola edgard22, gracias por el esquema de conexión, no tenía nada claro de como hacerlo.

Gracias


----------



## edgard22 (Jul 14, 2012)

jherediac dijo:


> gracias por responder si lo que sucede es que cada ves que necesito emsamblar el codigo tengo que desinstalar el flowcode reinicio mi pc, a continuacion procedo nuevamente a instalar el flowcode, luego procedo a abrir el archivo le doy ensamblar y me funciona correctamente, pero si decido ensamblar otro programa creado o el mismo con variaciones inevitablemente me da el fatidico error, y nuevamente a desinstalar y instalar nuevamente, comprenderas que es engorroso ese procedimiento....



Que raro, no me ha pasado eso, no probaste yendo a la opción 'chip' y 'opciones de compilador'
ahí están las rutas y parámetros utilizados, abajo de todo hay un botón 'restaurar valores predeterminados'
Cuando desinstalaste, borraste también lo que haya quedado de la instalación como ser el directorio 'matrix multimedia', quizá haya quedado algún rastro de configuraciones incorrecto.

Saludos a todos.


----------



## ETTORE (Jul 14, 2012)

Hola, muy buenas noches, he estado buscando el software completo para flowcode especialmente para avr, también me gustaría saber en el caso de que yo quisiera que mi avr tome datos y haga cálculos sencillos y me mande esos datos graficados en excel, bueno es mucho pedir, pero se podrá hacer en flowcode, un interfaz para hacer el llamado a otro programa y realizar esos cálculos y el despliegue de estadísticas?


----------



## manuel gomez (Jul 15, 2012)

Hola edgard22, existe algún curso completo de Flowcode.

Gracias.


----------



## elprofetellez (Jul 15, 2012)

manuel gomez dijo:


> Hola edgard22, existe algún curso completo de Flowcode.
> 
> Gracias.



¿Ya buscaste en la página de Matrix?, ahí esta el tutorial gratuito descargable e instalable de "introducción a los microcontroladores".

Solo es cuestión de buscar....


----------



## elprofetellez (Jul 15, 2012)

ETTORE dijo:


> Hola, muy buenas noches, he estado buscando el software completo para flowcode especialmente para avr, también me gustaría saber en el caso de que yo quisiera que mi avr tome datos y haga cálculos sencillos y me mande esos datos graficados en excel, bueno es mucho pedir, pero se podrá hacer en flowcode, un interfaz para hacer el llamado a otro programa y realizar esos cálculos y el despliegue de estadísticas?



buscando el software completo..., lo vende Matrix Multimedia, ¿cuál es el problema?.

Tomar datos y hacer calculos..., eso se hace a través del codigo fuente de tu programa y lo haces en FlowCode.

graficarlos en excel..., FlowCode NO hace eso..., lo que hace es lograr comunicacion via RS232 o RS485, USB y otros más de tu Micro a tu PC, ya en tu PC hay muchos programas (software) que hace lo que quieres.

No nos confundamos.


----------



## edgard22 (Jul 15, 2012)

manuel gomez dijo:


> Hola edgard22, existe algún curso completo de Flowcode.
> 
> Gracias.



Fijate en el sitio de flowcode 'matrixmultimedia.com' en la parte de 'learning centre' ahí hay bastante info, varios ejemplos de uso, etc...


----------



## talquino2012 (Jul 18, 2012)

Hola Amigos, yo de nuevo, quisiera hacerles una pregunta y por su puesto se que Ustedes podrían ayudarme

Estoy haciendo un contador de 0 a 99, con lcd.

Lo hago en Flowcode, proteus pero al llevarlo al físico no logro verlo en lcd, a lo mejor esta mal conectado envío  programa

Esperando su ayuda


Las conecciones del lcd las hice como están en proteus

El lcd se calienta

Javier


----------



## elprofetellez (Jul 18, 2012)

talquino2012 dijo:


> Hola Amigos, yo de nuevo, quisiera hacerles una pregunta y por su puesto se que Ustedes podrían ayudarme
> 
> Estoy haciendo un contador de 0 a 99, con lcd.
> 
> ...



Primero prueba con lo mas sencillo:

Tienes equivocadas las terminales VDD y VEE del display, al menos en proteus, y so lo tienes asi en el real, muy probablemente eso te de guerra.

VDD es a positivo.
VEE es el que va a la salida del potenciometro para controlar el contraste.

Saludos!.


----------



## talquino2012 (Jul 19, 2012)

elprofetellez

Hice los cambios que ud. me indico y enciende el el eso si no todo parejo y no aparece nada cuando ejecuton el programa, que podra ser??

debo aclarar que no le instale el pptenciometro a VEE no tiene nada conectado.

Sera eso o me falta algo mas

Javier


----------



## manuel gomez (Jul 20, 2012)

Hola edagard22, estoy intentando sustituir el potenciometro por 2 pulsadores para subir y bajar el valor, pero es para mí una practica complicada, ademas me gustaría si me pudieras explicar como realizar que mantuviera en memoria el valor seleccionado aunque falte la alimentación.

Muchas gracias.


----------



## elprofetellez (Jul 20, 2012)

talquino2012 dijo:


> elprofetellez
> 
> Hice los cambios que ud. me indico y enciende el el eso si no todo parejo y no aparece nada cuando ejecuton el programa, que podra ser??
> 
> ...



Va de nuevo, VEE es para controlar el contraste, si no lo conectas a la salida del pote, NO verás nada.

Po supuesto, aún conectado VEE a la salida del pote, deberás ajustarlo hasta obtener digitos visibles en la pantalla.


----------



## talquino2012 (Jul 21, 2012)

elprofetellez



elprofetellez dijo:


> Va de nuevo, VEE es para controlar el contraste, si no lo conectas a la salida del pote, NO verás nada.
> 
> Po supuesto, aún conectado VEE a la salida del pote, deberás ajustarlo hasta obtener digitos visibles en la pantalla.



Lo hice (tenia dudas por eso no lo habia conectado), pero no me aparecen todo, en algunos sectores queda oscuro y no aparecen los digitos, lo conete con un potenciometro de bastago de 10 k.

al medir entre los extremos del potenciometro me entrega 5v, pero al hacerlo entre en centro e izquierda de da 3 v, y al medirlo al centro y derecha me da 2 volt, eso es cuando giro al maximo el potenciometro primero a un lado luego al otro

La consulta es no deberia dar 0 y 5 volt(se giro todo el potenciometro), o el potenciometro que estoy usando no sirve, debe ser uno de precision

Probe poniendolo a masa e igual no me marca todo con luz.

Que podra ser, que estoy haciendo mal???

Adjunto fotos donde esta el led encendido pero no marca nada, el led rojo indica que esta contando y el sensor esta al lado izquierdo


agradecido de sus comentarios

Javier


----------



## edgard22 (Jul 22, 2012)

manuel gomez dijo:


> Hola edagard22, estoy intentando sustituir el potenciometro por 2 pulsadores para subir y bajar el valor, pero es para mí una practica complicada, ademas me gustaría si me pudieras explicar como realizar que mantuviera en memoria el valor seleccionado aunque falte la alimentación.
> 
> Muchas gracias.



No entendí bien el tema de los pulsadores, sería anular la parte del ADC y usar dos botones para subir y bajar los valores mostrados?
Si es eso, se sustituye la parte de ADC por dos botones.
Dependiendo de cual presiones, se puede modificar el valor de la variable que contiene los datos (en este caso 'Volts'). Al no tener el ADC, el valor queda libre y se deben crear límites para no salirse de rango.
Ejemplo: se leen los pulsadores, se analiza cuál está presionado, uno de ellos sube y el otro baja el valor de 'Volts' de a uno (o más) en un rango determinado, por ejemplo de 0 a 100.

 Para mantener un valor debes usar la eeprom (En la parte 'MISC') y puedes leer y escribir en ella usando llamadas a macro (igual que usaste para el LCD) desde ahí se puede leer y escribir un valor en ella
En la ayuda del flowcode hay unos ejemplos de uso.
Te pongo un ejemplo como demo de los botones y la eeprom a ver si te sirve.


----------



## manuel gomez (Jul 23, 2012)

Muchas gracias edgard22 por tu apoyo. Me gustaría preguntarte si esta prueba solo funcionaría bien en físico, ya que con el simulador me aparece en display una lectura distinta cada vez que entro en Flowcode.


----------



## edgard22 (Jul 23, 2012)

manuel gomez dijo:


> Muchas gracias edgard22 por tu apoyo. Me gustaría preguntarte si esta prueba solo funcionaría bien en físico, ya que con el simulador me aparece en display una lectura distinta cada vez que entro en Flowcode.



El tema en la simulación es que flowcode no retiene los valores de la eeprom, es decir que cada vez que se abre el programa, se cargan en la eeprom valores al azar. (eso me ha generado algún que otro inconveniente)
En la realidad funciona bien.
Saludos.


----------



## manuel gomez (Jul 24, 2012)

Gracias edgard22, lo pondré en prueba. Esta practica del voltimetro la estoy incorporando en un sistema donde ademas debo de seleccionar una serie de motores, se trata que con un pulsador pueda elegir uno o varios motores para hacerlos funcionar de manera individual, he hecho un pequeño programa para poder explicar lo que necesito, este ejemplo que pongo debería de tener al menos 20 motores, pero no sé como diseñar que con un solo pulsador selecionemos y con otro se active o desactive el motor seleccionado, ademas se me ocurre que deberia de haber también un tercer pulsador que resetee el sistema y desactive cualquier motor que en ese momento este activado.
Como te decía subo un pequeño ejemplo a ver si me puedes orientar de como hacerlo.

Muy agradecido.


----------



## edgard22 (Jul 24, 2012)

manuel gomez dijo:


> Gracias edgard22, lo pondré en prueba. Esta practica del voltimetro la estoy incorporando en un sistema donde ademas debo de seleccionar una serie de motores, se trata que con un pulsador pueda elegir uno o varios motores para hacerlos funcionar de manera individual, he hecho un pequeño programa para poder explicar lo que necesito, este ejemplo que pongo debería de tener al menos 20 motores, pero no sé como diseñar que con un solo pulsador selecionemos y con otro se active o desactive el motor seleccionado, ademas se me ocurre que deberia de haber también un tercer pulsador que resetee el sistema y desactive cualquier motor que en ese momento este activado.
> Como te decía subo un pequeño ejemplo a ver si me puedes orientar de como hacerlo.
> 
> Muy agradecido.



Creo que deberías usar una variable e incrementar su valor con el botón selector y con otra variable cambiar su estado. Luego, usando el ícono expresión, seleccionar el motor y la acción a realizar. Demás está decir que con ese pic, las salidas se limitan a unos pocos motores, 8 pines se usan para el lcd y los botones.

Por razones de tiempo no adjunto ejemplos.


----------



## manuel gomez (Jul 25, 2012)

Gracias de todas formas, en realidad pensaba utilizar otro pic con mas entradas y salidas, el problema es que no sé por donde empezar, llevo muy poco tiempo con Flowcode y hay muchas cosas que aún no alcanzo a entender.

Saludos.


----------



## edgard22 (Jul 25, 2012)

manuel gomez dijo:


> Gracias de todas formas, en realidad pensaba utilizar otro pic con mas entradas y salidas, el problema es que no sé por donde empezar, llevo muy poco tiempo con Flowcode y hay muchas cosas que aún no alcanzo a entender.
> 
> Saludos.



No te creas que yo estoy más allá de eso. Hace poco que uso Flowcode y mis conocimientos tampoco son demasiados, además, como habrá notado más de uno, mis métodos no son muy ortodoxos que digamos, pero, funcionan (al menos eso creo, je je). No se nada de ningún lenguaje de programación, por lo tanto me vi obligado a usar un programa de acuerdo a mis conocimientos (nada), y me encontré con este, que me permitió hacer cosas con sólo romperme un poco la cabeza jugando con los iconos.
Espero que este ejemplo que adjunto también te ayude a entender un poco cómo hacerlo.
Usé una matriz de 6 arreglos para los motores y máscaras para el puerto de salida, me pareció lo más adecuado. Para aumentar la cantidad de motores debes cambiar el número en la variable 'Maximo_motores' y agregar los faltantes puertos en el sector marcado en el programa, sin olvidar cambiar también el valor de la matriz 'Motor' que está dimensionada justo para el caso en 6.
Creo que está todo correcto, pruébalo.
Saludos a todos.


----------



## manuel gomez (Jul 26, 2012)

Muchas gracias edgard22, es justo lo que necesitaba, te estoy muy agradecido.

Saludos


----------



## mabafi (Jul 26, 2012)

Hola a todos del foro mi pregunta es, alguien me puede explicar como demonios se programa con el protocolo I2c por ejemplo un sensor de temperatura usandolo como termostato gracias de antemano


----------



## talquino2012 (Jul 27, 2012)

Estimados, como he indicado antes estoy en el contador y sensor de temperatura, el contador funciona bien, pero el sensor no me marca lo que me indica en proteus y ademas no varia

Podrian ayudarme porfavor que puedo tener de malo, el lcd enciende y muestra los datos

Javier

Adjunto archivos


----------



## invesel (Jul 29, 2012)

Hola a todos, intento hacer en flowcode que un unico pulsador pueda encender y apagar a dos leds, con un ligero impulso encendería o apagaría un led y manteniendo pulsado unos segundos actuariamos sobre el otro led.

¿Me podrían ayudar?

Gracias.


----------



## manuel gomez (Ago 3, 2012)

Buenas tardes, quería hacer una consulta sobre Flowcode, y es la siguiente; ¿se puede hacer un comparador de pulsos?, el tema es que necesito hacer una mesa giratoria para soldadura, y ésta se controlaría por pulsos, lleva en el eje del motor un encoder que al girar produce una cantidad de pulsos que son los que quiero comparar con los programados de tal manera que al igualarse haría parar el sistema de soldadura. Me gustaría saber si algunos de vosotros ha hecho algo parecido y si me pueden orientar de como iniciarlo en Flowcode.


Saludos.


----------



## edgard22 (Ago 4, 2012)

invesel dijo:


> Hola a todos, intento hacer en flowcode que un unico pulsador pueda encender y apagar a dos leds, con un ligero impulso encendería o apagaría un led y manteniendo pulsado unos segundos actuariamos sobre el otro led.
> 
> ¿Me podrían ayudar?
> 
> Gracias.



A ver que te parece esto, quedó un poco largo pero...

Para Manuel: no he hecho nada de ese tipo, pero necesitarías ir contando los pulsos actualizando una variable y comparándola con otra que contenga el valor deseado.


----------



## invesel (Ago 5, 2012)

Gracias edgard22, quería hacer sonar a dos timbres distintos con un solo pulsador y esto es justo para hacerlo.

Muchas gracias.
Saludos.


----------



## manuel gomez (Ago 5, 2012)

Hola edgard22, con Flowcode voy avanzando pero muy lentamente, cada vez que me propongo algo nuevo me cuesta comenzar, por ello lo de pedir algo de ayuda, como en este caso llevo unos días intentandolo pero no sé por donde empezar. Lo que necesito es un comparador de pulsos con un teclado (keypad) y un display lcd, de esta manera elegiría los pulsos (grados de trabajo de 0 a 360º) y activaría el sistema con un pulsador y una vez se igualaran los pulsos seleccionados con los pulsos que me entregaria un sensor colocado en el eje de un motor el sistema se pararía. Para todo esto necesito un pequeño empuje, ya que no veo claro como iniciarlo.

Saludos.


----------



## edgard22 (Ago 5, 2012)

manuel gomez dijo:


> Hola edgard22, con Flowcode voy avanzando pero muy lentamente, cada vez que me propongo algo nuevo me cuesta comenzar, por ello lo de pedir algo de ayuda, como en este caso llevo unos días intentandolo pero no sé por donde empezar. Lo que necesito es un comparador de pulsos con un teclado (keypad) y un display lcd, de esta manera elegiría los pulsos (grados de trabajo de 0 a 360º) y activaría el sistema con un pulsador y una vez se igualaran los pulsos seleccionados con los pulsos que me entregaria un sensor colocado en el eje de un motor el sistema se pararía. Para todo esto necesito un pequeño empuje, ya que no veo claro como iniciarlo.
> 
> Saludos.



Lo primero a tener en claro sería el tipo de sensor a usar, imagino que óptico, lo otro, la relación pulsos/grados. Para el teclado y el lcd hay ejemplos de uso, no creo que tengas problemas por ese lado. Lo que necesitas es ingresar los grados con el teclado y visualizarlo en el LCD, iniciar el proceso y detenerlo al llegar a lo seleccionado, es eso?


----------



## manuel gomez (Ago 6, 2012)

Hola edgard22, el funcionamiento es tal como dices, el sensor es rotativo magnético se coloca en el eje del motor a controlar y el que utilizaría da 360 pulsos en un giro completo, osea quiere decir que ofrece  1  pulso/grado.


Gracias.


----------



## edgard22 (Ago 8, 2012)

manuel gomez dijo:


> Hola edgard22, el funcionamiento es tal como dices, el sensor es rotativo magnético se coloca en el eje del motor a controlar y el que utilizaría da 360 pulsos en un giro completo, osea quiere decir que ofrece  1  pulso/grado.
> 
> 
> Gracias.



Ahá, sería algo como esto.

Modo de ingreso: Teclado numérico
Visualización: Display LCD

No acepta valores mayores a 360
Con asterisco acepta el valor ingresado e inicia el proceso (si el número es válido)
Una vez iniciado se puede detener presionando numeral.
Por lo menos te sirve de base, creo que funciona bien.
El botón simula los pulsos del sensor.
Saludos.

PD: Se deben ingresar siempre 3 cifras, por ejemplo, para poner 8 debe ingresarse '008'


----------



## manuel gomez (Ago 9, 2012)

Hola edgard22, muchas gracias por tu ayuda, funciona exactamente como deseaba. Permiteme que te pregunte como se asigna la función de las teclas de * y #, es algo que me cuesta entender.

Nuevamente agradecerte tu ayuda.

Saludos.


----------



## edgard22 (Ago 9, 2012)

manuel gomez dijo:


> Hola edgard22, muchas gracias por tu ayuda, funciona exactamente como deseaba. Permiteme que te pregunte como se asigna la función de las teclas de * y #, es algo que me cuesta entender.
> 
> Nuevamente agradecerte tu ayuda.
> 
> Saludos.



Cuando lees el teclado la variable que usas retorna números de 0 a 9, para el asterisco retorna 10 y para numeral 11, estos valores son por defecto, pero se pueden modificar en propiedades del teclado.

Saludos.


----------



## manuel gomez (Ago 10, 2012)

Gracias edgard22.

Saludos.


----------



## invesel (Ago 12, 2012)

Buenos días, intento llevar a físico este ejemplo de flowcode, pero no sé como se asigna que pin del Pic tendría que utilizar para que en la practica real pueda regular la velocidad de un pequeño motor.

Les agradezco su ayuda.

Gracias.


----------



## edgard22 (Ago 12, 2012)

invesel dijo:


> Buenos días, intento llevar a físico este ejemplo de flowcode, pero no sé como se asigna que pin del Pic tendría que utilizar para que en la practica real pueda regular la velocidad de un pequeño motor.
> 
> Les agradezco su ayuda.
> 
> Gracias.



Cuando se usan los PWM internos sólo se pueden asignar los predeterminados para ello, que depende de cada pic puede ser 1 o varios.

En el que estás usando las opciones son RB0 o RB3 (si te fijas en 'Ver/chip' en las solapas de arriba se muestra el pic con una descripción de sus pines, los que identifican a los módulos son los pines que dicen CCP1.

Para asignarlos (entre los disponibles) se debe ir a solapa 'chip/configurar' y luego cambiar a modo experto. Adjunto unas imágenes del procedimiento, espero te sea útil.


----------



## invesel (Ago 13, 2012)

Gracias edgard22 por tu ayuda, ¿sabes si existe algún curso (completo) de flowcode en Español?.

Saludos.


----------



## edgard22 (Ago 13, 2012)

invesel dijo:


> Gracias edgard22 por tu ayuda, ¿sabes si existe algún curso (completo) de flowcode en Español?.
> 
> Saludos.



Cursos, no sé, yo he recabado mucha ayuda con los ejemplos que vienen en flowcode.


----------



## RUIZ13 (Ago 13, 2012)

Hola a todos tenia tiempo que no pasaba por aquí
en google busca por cursos de flowcode y aparece uno en Venezuela específicamente en maturin lo hace por medio de videos si no lo localiza envíame un mensaje privado y busco en mis archivos para localizar el correo de la persona es muy básico pero sirve de mucha ayuda al comenzar, y como hiza el comentario edgar22 con los ejemplos y foros de la pagina del fabricante del software es una gran escuela hay casi todos los ejemplos que se le pueden aplicar a flow code y hay foros en español aunque muy pequeños pero es una gran opción


----------



## manuel gomez (Ago 14, 2012)

Hola edgard22, nuevamente te pido ayuda con un nuevo programa en el que intento realizar un temporizador ciclico.
Este temporizador lo divido en porcentajes, osea, si selecciono el 20% el temporizador enciende un led durante 1 minuto y parara 4 minutos entrando en un ciclo hasta una nueva selección, si selecciono 40% el led funcionara 2 minutos y parara 3 minutos entrando en un nuevo ciclo hasta una nueva selección, pudiendo crear de esta manera algunos ciclos mas con distintos porcentajes de tiempo. El problema que tengo es que mientras el temporizador se encuentra en uno de los ajustes seleccionados puedo actuar sobre el potenciomentro pero no sé como hacer para que el display muestre la nueva lectura que se ha elegido, para ver la lectura del nuevo ajuste hay que esperar a que termine el ciclo elegido.

Pongo un ejemplo a ver si me puedes orientar de como hacerlo.

Un saludo.


----------



## COCOCORRALITO (Ago 14, 2012)

elprofetellez dijo:


> Hola, buena noche,
> Me agrada ver que hay abierto un hilo de FC, aprovechando, aqui les dejo un ejemplo de comunicación por RS232 para adquisición de datos utilizando un LM35 para tomar la temperatura ambiente.
> 
> Tal como lo han comentado, con FC es muy sencillo implementar algoritmos desde sencillos hasta complejos.
> ...



Hola no puedo abrir el archivo .rar del lm32_rs232.... alguien me puede ayudar, me sale que el archivo es inesperado o algo asi, el de proteus si se abrio pero el de flowcode no! agradeceria que alguien me ayudara S:


----------



## RUIZ13 (Ago 14, 2012)

COCOCORRALITO dijo:


> Hola no puedo abrir el archivo .rar del lm32_rs232.... alguien me puede ayudar, me sale que el archivo es inesperado o algo asi, el de proteus si se abrio pero el de flowcode no! agradeceria que alguien me ayudara S:


hola 
lo acabo de descargar y si abrió perfecto
debe revisar con que versión lo esta abriendo


----------



## edgard22 (Ago 14, 2012)

manuel gomez dijo:


> Hola edgard22, nuevamente te pido ayuda con un nuevo programa en el que intento realizar un temporizador ciclico.
> Este temporizador lo divido en porcentajes, osea, si selecciono el 20% el temporizador enciende un led durante 1 minuto y parara 4 minutos entrando en un ciclo hasta una nueva selección, si selecciono 40% el led funcionara 2 minutos y parara 3 minutos entrando en un nuevo ciclo hasta una nueva selección, pudiendo crear de esta manera algunos ciclos mas con distintos porcentajes de tiempo. El problema que tengo es que mientras el temporizador se encuentra en uno de los ajustes seleccionados puedo actuar sobre el potenciomentro pero no sé como hacer para que el display muestre la nueva lectura que se ha elegido, para ver la lectura del nuevo ajuste hay que esperar a que termine el ciclo elegido.
> 
> Pongo un ejemplo a ver si me puedes orientar de como hacerlo.
> ...



Hola, el problema es que una vez iniciada la demora, el programa no avanza hasta que esta finalice, para evitar esto, yo uso pausas pequeñas, por ejemplo, para demorar 10 segundos genero una demora de un valor digamos 10ms y la inserto en un lugar condicionado por el análisis del valor deseado. para lograr los diez segundos se debe pasar por el mismo sitio 1000 veces. Este proceso genera la demora deseada sin trancar el programa.
El inconveniente es que todas las demás líneas que estén en el recorrido también generan demoras que se suman a la principal, por lo que requiere ajustes para obtener cierta precisión. (Se varía el número de ciclos de ejecución en la demora de 10mS).

La otra es usar demoras basadas en interrupciones con el TMR0, pero eso ya es otro tema.
Te recomiendo leer los ejemplos de flowcode en el apartado 'Interrupts' para eso.

Acá va algo sin interrupts, este muy rudimentario ejemplo muestra una cuenta regresiva que comienza en un valor porcentual del ADC y finaliza en cero. El valor se actualiza al mover el pot.
La variable 'ciclos' determina el número de veces que se ejecutará la demora de 10mS
(La simulación no refleja el tiempo real).

Creo que el método no es tan malo, es cuestión de optimizarlo.
Saludos a todos los 'Flowcoderos'


----------



## edgard22 (Ago 14, 2012)

Aporte: Indicador de carga para Batería (48V)
No sé si es correcto poner esto aquí, lo dejo a consideración de los moderadores.

Diseñado en torno a un PIC12F675, muestra mediante 4 leds el estado de carga de bateria de, por ejemplo, un elevador o montacarga que funcione con 48V, aunque puede ser usado usado a voltajes menores modificando el divisor situado en el pin 3 (GPIO4) formado por las R de 10k y 1K.
Se puede seleccionar el modo de indicación entre barra o punto móvil mediante el pin 4 (GPIO3) usando los pads en el lado cobreado.
El modo de visualizar se ha hecho en referencia a otros que he visto con indicación de 8 niveles.
Algunos componentes se montan del lado cobreado como el transistor, con un pequeño disipador y los condensadores SMD. Tener en cuenta que la conexión del TIP41 tal como aparece en las capturas es por el lado de componentes, para ponerlo del lado cobreado se debe invertir su posición, o sea, la lámina de cobre hacia afuera.
No pongo fotos reales porque no lo tengo aquí.
Quizá a alguien le sea útil.

Saludos a todos.


----------



## manuel gomez (Ago 15, 2012)

Hola edgard22, imaginaba que no se podría realizar, de todas formas lo que pretendo es realizar una especie de selector pero utilizando un potenciometro, ademas el bucle no debe parar, osea, si seleccionamos el 20% el ciclo de por ejemplo 5 minutos funcionando y 10 minutos de paro, lo debe de realizar infinitamente hasta que movamos nuevamente el potenciometro y elijamos un nuevo porcentaje que a su vez tendrá unos tiempos distintos. Lo que se me hace mas difícil de entender es que este tipo de temporizador existe en el mercado y que he visto funcionando, de ahí el intentar hacerlo igual.   

Muchas gracias por tus aportes.
Saludos.


----------



## manuel gomez (Ago 15, 2012)

Hola de nuevo edgard22, estoy haciendo algunas pruebas para ver si puedo conseguir el temporizador con las caracteristicas que te comenté, pero me haría falta que me pudieras explicar si hay alguna manera de conseguir que en una *decisión* se pueda programar un valor en concreto, por ejemplo; en la *decisión* pongo que solo cuando el valor del adc este entre el 20 y el 30 me haga encender el led.
Solo se hacerlo si es igual, menor o mayor, pero no dentro de una medidas en concreto.

Gracias.


----------



## edgard22 (Ago 15, 2012)

manuel gomez dijo:


> Hola de nuevo edgard22, estoy haciendo algunas pruebas para ver si puedo conseguir el temporizador con las caracteristicas que te comenté, pero me haría falta que me pudieras explicar si hay alguna manera de conseguir que en una *decisión* se pueda programar un valor en concreto, por ejemplo; en la *decisión* pongo que solo cuando el valor del adc este entre el 20 y el 30 me haga encender el led.
> Solo se hacerlo si es igual, menor o mayor, pero no dentro de una medidas en concreto.
> 
> Gracias.



Para lograr lo que me comentas, se puede usar el comando AND dentro de la decisión, AND requiere que se cumplan las dos expresiones para ir a  'SI' de lo contrario va a 'NO'
Ejemplo: para mantenerlo encendido dentro de 20 y 30 deberías poner dentro de la decisión IF ADC>=20 AND ADC <=30 
Esto es: si ADC (variable) es mayor o igual a 20 y si ADC es menor o igual a 30.
La primera parte fija el límite inferior (20), la segunda el superior (30).
El ejemplo que adjunto habla por sí solo.

Saludos.


----------



## manuel gomez (Ago 16, 2012)

Gracias edgard22.

Saludos.


----------



## invesel (Ago 16, 2012)

Antes de nada agradecer a edgard22 y RUIZ13 por la respuesta sobre si sabían de algún curso de Flowcode, y ahora consultarles de como poder hacer el siguiente temporizador:
hacer que 2 leds se enciendan simultaneamente y que los tiempos de encendido y apagado sean de una hora, ademas quisiera saber como hacer para que el programa mantenga memoria. Yo he utilizado demoras pero no creo que sea lo mas correcto, ya que hablamos de intervalos de una hora.

Dejo un pequeño ejemplo sin terminar para entender mejor.

Saludos.


----------



## manuel gomez (Ago 16, 2012)

Hola edgard22, creo que he conseguido la solución para el tema del temporizador del que te hablé, la idea puede ser poco ingeniosa pero pienso que dará resultado, se trata de utilizar 2 Pic´s, en uno he creado el programa con los tiempos, y en el otro el programa con el Lcd, de esta manera cuando haga el circuito en físico lo que tendré que hacer es unir en paralelo la entrada  ADC de ambos Pic´s y utilizar un solo potenciometro.
Lo que si me haría falta es poder hacer que al mover el potenciometro creara un pequeño pulso con el que atacaría a el reset del Pic donde he programado los tiempos, de esta manera al elegir un nuevo porcentaje de tiempo, iniciaría en este y no habría que esperar a agotar el tiempo anteriormente elegido.

¿Sabrías como realizar este unico pulso moviendo en cualquier dirección el potenciomentro?

Saludos


----------



## talquino2012 (Ago 16, 2012)

Hola amigos, aca nuevamente con dudas, esperando su favorable respuesta.

Estoy controlando 3 motores pap (em-464 y em289)
En flowcode lo hice con los motores que sale en el software, asi como con sentencias paso a paso, funciona todo en simulacion pero en el fisico los motores o no funcionan o avansan y retroceden.

Le conecto a 5v y 12 v ( a los motorers) pero nada el micro se bloquea

Adjunto archivos a ver si me pueden ayudar, dos cabezas piensan mas que una
He intentado lo que he encontrado en la web pero nada, a lo mejor es algo pequeño

Javier


----------



## edgard22 (Ago 17, 2012)

manuel gomez dijo:


> Hola edgard22, creo que he conseguido la solución para el tema del temporizador del que te hablé, la idea puede ser poco ingeniosa pero pienso que dará resultado, se trata de utilizar 2 Pic´s, en uno he creado el programa con los tiempos, y en el otro el programa con el Lcd, de esta manera cuando haga el circuito en físico lo que tendré que hacer es unir en paralelo la entrada  ADC de ambos Pic´s y utilizar un solo potenciometro.
> Lo que si me haría falta es poder hacer que al mover el potenciometro creara un pequeño pulso con el que atacaría a el reset del Pic donde he programado los tiempos, de esta manera al elegir un nuevo porcentaje de tiempo, iniciaría en este y no habría que esperar a agotar el tiempo anteriormente elegido.
> 
> ¿Sabrías como realizar este unico pulso moviendo en cualquier dirección el potenciomentro?
> ...



No entiendo porqué dos pic, lo ideal sería usar el mismo, el lcd es fácil de usar, ya que sólo se refresca cuando se necesita actualizar valores en pantalla  (a diferencia de displays de 7 segmentos, que se deben refrescar constantemente para que no se apaguen). Deberías intentar mezclar los dos programas en uno solo. Con respecto a generar un pulso al variar el pot, se me ocurre que veas el ejemplo 'DELAY' que puse al final en el cual uso lo que mencionas, verificar si se ha variado el pot, las variables en cuestión son ADC y TEMP, si son iguales, (SI) nada ha cambiado, si difieren, (NO) se ha movido el pot, ahí deberías agregar la generación del pulso activando brevemente una salida del pic.





invesel dijo:


> Antes de nada agradecer a edgard22 y RUIZ13 por la respuesta sobre si sabían de algún curso de Flowcode, y ahora consultarles de como poder hacer el siguiente temporizador:
> hacer que 2 leds se enciendan simultaneamente y que los tiempos de encendido y apagado sean de una hora, ademas quisiera saber como hacer para que el programa mantenga memoria. Yo he utilizado demoras pero no creo que sea lo mas correcto, ya que hablamos de intervalos de una hora.
> 
> Dejo un pequeño ejemplo sin terminar para entender mejor.
> ...



Mantenga memoria? por si se corta la alimentación? Vas guardando los valores en la eeprom del pic, y lees esos valores al iniciar el programa para dejarlo en el punto que estaba antes del corte. Con respecto a lo de usar demoras, quizá lo ideal sería usar las interrupciones para lograr precisión, yo he logrado temporizar varias horas sin usarlas, con error de algunos segundos, pero cuesta un poco calibrarlo. Depende de la precisión que necesites. Lo malo de este sistema es que los errores son acumulativos, a lo largo del día se van sumando y a la larga es un desfase bastante grande.


----------



## edgard22 (Ago 17, 2012)

talquino2012 dijo:


> Hola amigos, aca nuevamente con dudas, esperando su favorable respuesta.
> 
> Estoy controlando 3 motores pap (em-464 y em289)
> En flowcode lo hice con los motores que sale en el software, asi como con sentencias paso a paso, funciona todo en simulacion pero en el fisico los motores o no funcionan o avansan y retroceden.
> ...



Que estas usando como driver de potencia para los motores? Los conectaste correctamente? Probá usando leds en lugar del motor para ver si la secuencia es correcta. De serlo, estás conectando mal los motores.


----------



## manuel gomez (Ago 18, 2012)

Hola edgard22, muy agradecido como siempre, tienes mucha razón lo de usar 2 pic´s es muy engorroso y difícil, he visto un nuevo temporizador en un equipo de riego y funciona de una forma muy parecida a la que necesito, te explico el funcionamiento a ver si me puedes ayudar a crear uno. El temporizador tiene 2 pulsadores uno sube y otro baja, tiene un display lcd y un rele de salida y funciona así:

con los pulsadores elegimos 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% o 100%, al elgir un porcentaje entramos en un temporizador cíclico, osea que mientras lo tengamos en ese porcentaje siempre va a realizar la misma temporización, por ejemplo 1 hora funcionado y 30 minutos en reposo, 1 hora funcionado 30 minutos en reposo, entra en un bucle donde no dejará de realizar los tiempos marcados hasta no elegir un nuevo pocentaje. Es muy *importante que mantenga memoria*, para en caso de falta de alimentación se mantenga en el porcentaje que teniamos elegido.
Aquí lo que veo mas complicado es que en cualquier momento que pulsemos para subir o bajar que el display muestre el porcentaje elegido y no haya que esperar a que termine un tiempo seleccionado anteriormente.


Muchas gracias, te agradezco tu ayuda.


----------



## manuel gomez (Ago 18, 2012)

Edgard22, he modificado el voltimetro con pulsadores para poder poner un ejemplo de lo que te comentaba anteriormente, aquí se ve bien el problema del que te hablaba que una vez que el progrma entra en uno de los bucles se bloquea y no sé como hacer para que no ocurra esto, como veras los tiempos que he colocado son muy cortos, pero se tendran que utilizar incluso de una o dos horas de trabajo, la exactitud del tiempo no es problema, ya que solo se va a utilizar para regar plantas.

Saludos.


----------



## invesel (Ago 18, 2012)

Buenos días edgard22, el temporizador de una hora con memoria no tiene porque ser exacto, es para encender la luz de un garaje, lo que si es importante que mantenga memoria, pero solo se hacerlo con demoras y no he utilizado aún el apartado eeprom.
Gracias.


----------



## talquino2012 (Ago 18, 2012)

Me funciono, separe la fuente del pic y la del driver l298, adema de una soldadura y todo ok

Gracia

javier


----------



## talquino2012 (Ago 21, 2012)

Hola, acá con otra inquietud, me propuse hacer un termómetro, busque en la web y acá en el foro,  utlice algunos ejemplos que encontré, luego vi uno del elprofetellez, lo lleve a flowcode, proteus y todo impeque, pero al llevarlo al físico la lectura es de 360 (varia un poco), la duda por que marca este valor si en proteus indica otro

y como puedo hacer que aparezca en lcd el valor correcto o el de la temperatura


Agradecido de sus comentarios

Javier


----------



## invesel (Ago 23, 2012)

Hola,  de nuevo quiero pedir ayuda sobre como hacer un temporizador con flowcode, como ya comenté hace  unos días necesito que sea de una hora, es para mantener encendida la luz de un garaje, he probado con demoras pero no funciona bien, el tiempo programado no coincide con la realidad, ademas nunca temporiza el mismo tiempo.

Muchas gracias a todos.


----------



## RUIZ13 (Ago 26, 2012)

hola invesel que versión de flow utilizas para ver que ejemplo le envio y con cual pic estas trabajando

la manera mas versatil es utilizando el TMR0 hacer la configuración con el oscilador interno podrias hacerlo con el piC 16f628a


----------



## RUIZ13 (Ago 26, 2012)

Configurar el pic primero que todo, yo coloque en este foro un tips para configuración si no lo haces bien no le funciona, trabaje a 4Mhz con el oscilador interno


----------



## invesel (Ago 26, 2012)

Hola RUIZ13, la version de Flowcode es V4, el pic puedo utilizar el que me digas, tengo facil acceso a casi cualquier modelo, pero del modelo 12F675 tengo varias unidades con las que poder hacer pruebas.
Lo que pretendo con el temporizador es hacer que se encienda un led durante una hora, pero todas las pruebas que hice con demoras no funcionaban correctamente.

Gracias.


----------



## RUIZ13 (Ago 26, 2012)

estas en linea le envio uno ya
tome en cuenta lo siguiente:
descargue el archivo
genere el código ex
y simularlo con proteus
después que vea que funciona
en las variables coloca los minutos y después las horas
y va llevando el programa hasta que le satisfaga 
revise bien la configuración del pic
revise la configuración del TMRO en propiedades 
si no logra hacer el programa bien como debe ser me indica y le envió otro archivo mas complejo pero la idea es que usted desarrolle y aprenda, con las pruebas de falla y ensayo uno aprende mas y desarrolla mejor mi idea es que aprenda, yo no regalo pescados lo enseño a pescar ja ja ja saludos



voy a salir de casa pero estoy en linea con mi movil y estoy pendiente


----------



## invesel (Ago 26, 2012)

En estos momentos solo puedo probarlo con en el simulador de Flowcode, pero el led no enciende.


----------



## RUIZ13 (Ago 26, 2012)

por eso le digo que lo haga con proteus porque flow es muy lento dejelo ejecutandolo y vera que al poco rato prende tenga paciencia y varie los valores de los segundos y vera


----------



## invesel (Ago 26, 2012)

¿Se podría hacer con 2 leds que enciendan y apaguen simultaneamente con intervalos de 1 hora, de manera infinita?
Mañana lo probaré con proteus y en físico y ya le comentaré, ya que en estos momentos son las 23 horas aquí en España.

Muchas gracias.


----------



## RUIZ13 (Ago 26, 2012)

porsupuesto se puede hacer tendria que explicar bien la funcion y se hace


----------



## invesel (Ago 27, 2012)

Hola RUIZ13, en realidad lo que necesito es lo siguiente:
Al aplicar tensión al circuito se enciende un led durante un 1 hora, se apaga 1 segundo y se enciende el siguiente led también durante 1 hora, se apaga 1 segundo y se vuelve a encender el led anterior, así de manera constante. Subo un pequeño ejemplo donde indico los tiempos que necesito sustituir.

Gracias.

(No tener en cuenta eeprom, es que no me he acordado de borrarlo)


----------



## RUIZ13 (Ago 27, 2012)

ok como le pregunte hizo la prueba del circuito con proteus allí en la parte de abajo esta el tiempo de simulación con el circuito que le envié esta la solución lo que tiene es que adicionar minutos y hora y listo pruebe y me informa


----------



## invesel (Ago 27, 2012)

Lo he probado con proteus pero no luce el led, sin embargo no me aparece ningún error y en la parte de abajo aparece la leyenda ANIMATING y el reloj a pasado de 10 minutos y sigue sin prender.

He cambiado de led y se enciende a los 5 segundos del comienzo de la simulación, luego se apaga y no vuelve a lucir.


----------



## RUIZ13 (Ago 27, 2012)

ok como le dije le envie un archivo para que tenga la idea mas o menos como debería ser el programa y usted desarrolle y aprenda el led prende a los 5 segundos, le indique en un post anterior que debe colocar los minutos, y horas en las variables si no lo entiende indique y le explico

yo lo coloque a 5 segundos para el ejemplo usted debe llevarlo a 1 hora con las variables



al lado de ANIMATING es que le sale el reloj en tiempo real para que tome el tiempo de funcionamiento en proteus


----------



## invesel (Ago 27, 2012)

La verdad es que no lo entiendo bien, ¿la variable a modificar "seg"?.
¿Me podrá ayudar con lo último que le comenté sobre los 2 leds?


----------



## RUIZ13 (Ago 27, 2012)

estas en linea le envio uno ya
tome en cuenta lo siguiente:
descargue el archivo
genere el código ex
y simularlo con proteus
después que vea que funciona
en las variables coloca los minutos y después las horas
y va llevando el programa hasta que le satisfaga 
revise bien la configuración del pic
revise la configuración del TMRO en propiedades 
si no logra hacer el programa bien como debe ser me indica y le envió otro archivo mas complejo pero la idea es que usted desarrolle y aprenda, con las pruebas de falla y ensayo uno aprende mas y desarrolla mejor mi idea es que aprenda, yo no regalo pescados lo enseño a pescar ja ja ja saludos



lea bien después de segundos, son minutos esas variables debe adicionarlas, después horas , me entiende o no en realidad yo ya hice el programa que usted necesita pero si se lo doy asi tan rápido y no desarrolla entonces no aprendemos, yo desde el punto pedagógico y usted como estudiante

no le de pena las preguntas estoy a su disposición

estamos aprendiendo los dos


----------



## invesel (Ago 27, 2012)

No logro entenderlo bien, he hecho algunos cambios para comparar el tiempo de encendido pero me tiene muy confundido la utilización de TMR0, hasta ahora no lo había utilizado. Necesitaría una explicación de como realiza el calculo para llegar a temporizar una hora.


----------



## RUIZ13 (Ago 27, 2012)

no necesita calculo sino adicionar variables nada mas, cuales son las variables:
1 decimas de segundos que es la variable contador que dice que son 61 por que? 
si pincha en el modulo que dice Tmr0 aparece una ventana al pinchar propiedades hay una casilla que dice pre escaler oprima todo lo que le digo y se dara cuenta ................... en pre escaler  dice 
1:1 
1:2
1:4
1:8 hasta 1:256
esta seleccionado 1:64 que es el que le da la frecuencia de interrupción de 61.035
esa es la frecuencia a la que debe trabajar la interrupción ojo siempre y cuando el pic este trabajando a 4Mhz

de hay sale el por que 61, en el primer modulo que dice contador o sea que cuando pasa o supervisa el programa lo hace 61 na vez en un segundo ya me copia
cada 61na vez es un segundo segun el contador del programa
indique si me entiende


----------



## edgard22 (Ago 27, 2012)

invesel dijo:


> No logro entenderlo bien, he hecho algunos cambios para comparar el tiempo de encendido pero me tiene muy confundido la utilización de TMR0, hasta ahora no lo había utilizado. Necesitaría una explicación de como realiza el calculo para llegar a temporizar una hora.



Prueba esto, pero, al igual que dijo RUIZ, el simulador de flowcode es muy lento y no va a mostrar resultados a corto plazo sin modificar las variables.
Así como está debe alternar cíclicamente las dos salidas cada una hora, con pausa entre cambio de uno a otro de un segundo.
El led ACTIVIDAD debe parpadear indicando que está en funcionamiento.

Debo aclarar que NO HE PROBADO ESTO EN LA REALIDAD como hago generalmente con mis ejemplos.
Te recomiendo hacer este tipo de pruebas sobre lo real, es el PIC12F629, tres Leds, tres resistencias y el cristal de 4MHz.

Suerte 



invesel dijo:


> No logro entenderlo bien, he hecho algunos cambios para comparar el tiempo de encendido pero me tiene muy confundido la utilización de TMR0, hasta ahora no lo había utilizado. Necesitaría una explicación de como realiza el calculo para llegar a temporizar una hora.



Prueba esto, pero, al igual que dijo RUIZ, el simulador de flowcode es muy lento y no va a mostrar resultados a corto plazo sin modificar las variables.
Así como está debe alternar cíclicamente las dos salidas cada una hora, con pausa entre cambio de uno a otro de un segundo.
El led ACTIVIDAD debe parpadear indicando que está en funcionamiento.

Debo aclarar que NO HE PROBADO ESTO EN LA REALIDAD como hago generalmente con mis ejemplos.
Te recomiendo hacer este tipo de pruebas sobre lo real, es el PIC12F629, tres Leds, tres resistencias y el cristal de 4MHz.

Suerte 





edgard22 dijo:


> Aporte: Indicador de carga para Batería (48V)
> No sé si es correcto poner esto aquí, lo dejo a consideración de los moderadores.
> 
> Diseñado en torno a un PIC12F675, muestra mediante 4 leds el estado de carga de bateria de, por ejemplo, un elevador o montacarga que funcione con 48V, aunque puede ser usado usado a voltajes menores modificando el divisor situado en el pin 3 (GPIO4) formado por las R de 10k y 1K.
> ...



Por razones de tontería masiva he cometido un pequeño desliz y puse el esquema con los leds unidos entre sí, el error es sólo en el esquemático.
Sepan disculpar.


----------



## invesel (Ago 28, 2012)

Si, RUIZ13, poco a poco lo voy entendiendo, no entendía el porqué de 61 vez, ahora con su explicacíon me queda mas claro, también me ha ayudado bastante el ejemplo que ha puesto edgard22, seguiré practicando hasta lograr modificar tiempos y entender mejor las INTERRUPCIONES, que hasta ahora no había utilizado nunca, por lo tanto les agradezco a los dos la ayuda prestada, y disculpen por la insistencia de realizar este tipo de temporizador con 2 leds pero intentaba ayudar a un amigo a realizar un pequeño montaje y era mas la prisa que el poder aprender en esos momentos.
Gracias RUIZ13 y gracias edgard22, probaré en físico este ejemplo y comentaré en breve.


----------



## invesel (Ago 28, 2012)

Hola edgard22 y RUIZ13, he probado en físico el temporizador de edgard22 y tengo que decir el led de actividad parpadea y se enciende el led OUT1 pero se queda todo el tiempo encendido no cambia a OUT2.
He colocado un cristal de 4Mhz con 2 condensadores de apoyo de 33pF, he revisado con el osciloscopio la alimentación de los +5V y están totalmente limpios sin nada de rizado.
Lleva conectado sin apagarse OUT1  3 horas y 20 minutos.


----------



## RUIZ13 (Ago 28, 2012)

invesel dijo:


> Hola edgard22 y RUIZ13, he probado en físico el temporizador de edgard22 y tengo que decir el led de actividad parpadea y se enciende el led OUT1 pero se queda todo el tiempo encendido no cambia a OUT2.
> He colocado un cristal de 4Mhz con 2 condensadores de apoyo de 33pF, he revisado con el osciloscopio la alimentación de los +5V y están totalmente limpios sin nada de rizado.
> Lleva conectado sin apagarse OUT1  3 horas y 20 minutos.


primero que todo:
si esta utilizando el archivo que le envié el pic esta configurado para trabajar con el oscilador interno del pic y el TRM0 también esta configurado así y el masterclear también es interno por lo cual debe colocar los led nada mas con las resistencias limitadoras de corriente



segundo :
si esta utilizando el archivo que le envio edgard22 tiene unas incongruencias en la configuracion del TRM0 porque lo tiene configurado el pic en xt y la interrupcion la tiene configurada en oscilador interno, que pasa con esto ? que nunca va ha hacer las funciones que le esta indicando en el archivo


----------



## invesel (Ago 28, 2012)

Si, RUIZ13, me refería a ese archivo de edgard22, ¿se pueden corregir esas incongruencias?.
Necesito realizar un temporizador de esas caracteristicas.


----------



## RUIZ13 (Ago 28, 2012)

el archivo que le envió Edgard funciona nada mas que con el simulador de flow y si lo hace con proteus o en físico nunca va a funcionar



si se puede pero lo veo mas complicado y según mis conocimientos debe hacerlo como yo lo explique en post anteriores, primero la frecuencia de las interrupciones , después los minutos y luego las horas es la manera mas elemental y seguro que funciona ya lo he hecho en varias oportunidades


----------



## invesel (Ago 28, 2012)

Me puede ayudar a hacer uno que funcione?


----------



## RUIZ13 (Ago 28, 2012)

no queria enviarle el archivo que lo hice ayer o antiayer , porque la idea es que explore investigue para que aprenda si se lo envio tan rapido y no hay explicaciones despues no va a lograr hacer otro si no es con ayuda o hace la copia del que le facilitaron y tengo entendido que estos foros son de ayuda para que todos aprendamos

yo le envie uno que si usted hace lo que le indico funciona


----------



## invesel (Ago 28, 2012)

Lo entiendo perfectamente, llevo algunos meses practicando con Flowcode y he conseguido aprender bastante, pero cuando entro en un nuevo apartado me sirve de mucho tener un ejemplo de alguien que maneje este software, porque después consigo modificaciones o incluso el intercalarlo en programas mas grandes, pero en este caso lo necesito porque prometí a un amigo realizarle este pequeño montaje y me veo con tener que abandonar. De ahí la insistencia de tener este archivo.

Gracias de todas formas por toda su colaboración.

Saludos.


----------



## RUIZ13 (Ago 28, 2012)

hizo las pruebas que le indique con el archivo que le envié?



le voy a enviar uno pero usted tiene que cambiar los tiempos yo lo hice porque en un simulador hablar de 1 hora yo no tengo tiempo de verificarlo y para simularlo le coloco es segundos para la prueva y posteriormente modifico el tiempo y listo


----------



## invesel (Ago 28, 2012)

Si, en el anterior archivo que me envío conseguí cambiar tiempos y entender bien el porque de las 61 veces,
de ahí el conseguir multiplicar la décimas de segundos y poder hacer tiempos mas largos, una vez que aprendo algo lo pongo en marcha, pero en este segundo caso se me hace un poco mas dificil.


----------



## RUIZ13 (Ago 28, 2012)

RUIZ13 dijo:


> primero que todo:
> si esta utilizando el archivo que le envié el pic esta configurado para trabajar con el oscilador interno del pic y el TRM0 también esta configurado así y el masterclear también es interno por lo cual debe colocar los led nada mas con las resistencias limitadoras de corriente
> 
> 
> ...



lee esto para que vea el porque no va a funcionar el de edgard


----------



## edgard22 (Ago 28, 2012)

invesel dijo:


> Si, RUIZ13, me refería a ese archivo de edgard22, ¿se pueden corregir esas incongruencias?.
> Necesito realizar un temporizador de esas caracteristicas.



Hola, según tengo entendido, la forma de seleccionar el reloj de las interrupciones TMR0 es interna o externa, la opción interna es referente al reloj en sí del pic, independientemente de que sea generado fuera o dentro del mismo.
Seleccionando opción externa estaríamos usando el pin T0CKI/INT/COUT como entrada de reloj de interrupciones (GP2 en el caso del pic12F629/675).
Ahora, tampoco tengo del todo claro el porqué no funciona, en vez de eso decidí cambiar un poco la estructura del programa y funcionó correctamente, lo he probado seteando un lapso de 20 minutos.
El indicador ahora parpadea a una frecuencia más lenta, (0.5 Hz).
He usado un PIC12F675 porque es lo que tenía a mano (en el ejemplo anterior era el F629).
Saludos a todos.


----------



## invesel (Ago 29, 2012)

Hola edgard22, he probado físicamente este último archivo, se ve que ha bajado la velocidad de intemitencia del led ACTIVIDAD, pero sigue sin cambiar de OUT1 a OUT2, se mantiene constantemente encendido OUT1.

(En el momento de escribir este post lleva encendido 2 horas y 36 minutos)

Saludos.



Edgard22, con código hex que subiste junto con el archivo de Flow si funciona, sin embargo si yo genero el código hex este no cambia de OUT1 a OUT2, me podrías comentar por que puede ser? seguramente el problema esté en la configuración, ¿me podrías comentar como lo tienes conf¡gurado?


----------



## manuel gomez (Ago 29, 2012)

Hola de nuevo a todos, estoy practicando con PWM y veo que esto debe ser un poco mas complejo de lo que aparece he tomado uno de los ejemplos de Flowcode y lo he puesto en practica, y esto funciona pero muy mal, entendiendo que falta algo mas para que un sistema PWM funcione correctamente.
Lo que intento es construir un regulador de intensidad para un equipo de electrolisis, el cual debe funcionar con 12Vdc. pensé que con PWM podía regular la potencia de salida y me dispuse a pasar el circuito a físico colocandole un IRF540 como interface y una lampara de 12V 15W, lo que me aparece en la lampara es una intermitencia muy acentuada, he manejado regualadores de PWM y en la carga no se nota esta intermitencia. Subo el archivo a ver si me pueden echar una mano.

Muy agradecido como siempre a todos.


----------



## RUIZ13 (Ago 29, 2012)

edgard22 dijo:


> Hola, según tengo entendido, la forma de seleccionar el reloj de las interrupciones TMR0 es interna o externa, la opción interna es referente al reloj en sí del pic, independientemente de que sea generado fuera o dentro del mismo.
> Seleccionando opción externa estaríamos usando el pin T0CKI/INT/COUT como entrada de reloj de interrupciones (GP2 en el caso del pic12F629/675).
> Ahora, tampoco tengo del todo claro el porqué no funciona, en vez de eso decidí cambiar un poco la estructura del programa y funcionó correctamente, lo he probado seteando un lapso de 20 minutos.
> El indicador ahora parpadea a una frecuencia más lenta, (0.5 Hz).
> ...



ok edgar
en la configuracion del pic la pregunta del software pregunta si el oscilador con el que esta trabajando es interno o externo 
1- en la configuracion del pic usted coloco oscilador xt o externo
2- y en la configuracion del TRM0 le pregunta que tipo de oscilador si interno o externo y usted configuro interno
3 por lo tanto le va a funcionar en el simulador de flow mas en proteus o en fisico va a tener problemas con el funcionamiento revise su archivo y espero su respuesta 


ojo para los que no tienen experiencia 
en flow code el simulador funciona y no importa la configuracion del pic mas no va a funcionar en proteus o en fisico
muchas personas desisten de flow code porque no toman en cuenta la configuracion del pic o como en este caso las interrupciones y dicen que este soft es malo cuando en realidad hoy en dia hay varias empresas que lo utilizan por lo rapido de su programacion a los pic 

hasta pronto



una pregunta edgar, usted lo hizo en fisico o lo simulo con proteus





manuel gomez dijo:


> Hola de nuevo a todos, estoy practicando con PWM y veo que esto debe ser un poco mas complejo de lo que aparece he tomado uno de los ejemplos de Flowcode y lo he puesto en practica, y esto funciona pero muy mal, entendiendo que falta algo mas para que un sistema PWM funcione correctamente.
> Lo que intento es construir un regulador de intensidad para un equipo de electrolisis, el cual debe funcionar con 12Vdc. pensé que con PWM podía regular la potencia de salida y me dispuse a pasar el circuito a físico colocandole un IRF540 como interface y una lampara de 12V 15W, lo que me aparece en la lampara es una intermitencia muy acentuada, he manejado regualadores de PWM y en la carga no se nota esta intermitencia. Subo el archivo a ver si me pueden echar una mano.
> 
> Muy agradecido como siempre a todos.



hola primero que todo no he podido bajar el archivo porque estoy fuera de casa y esto lo respondo por el movil
pero de acuerdo a lo que usted dice su problema es la frecuencia en la cual trabaja seguro que lo esta haciendo en 4Mhz y nota mucho el parpadeo 
pruebe con la frecuencia mas alta que le permita el pic y me indica cual es el resultado, debería de mejorar


----------



## manuel gomez (Ago 29, 2012)

Hola RUIZ13, efectivamente lo estoy haciendo con 4Mhz con el PIC16F88, cambiaré la máxima frecuencia y y comentaré el resultado. En este caso si este es el problema habría que elegir otro PIC que admitiera mas frecuencia. ¿Cual me recomendaría?

Muchas gracias.


----------



## RUIZ13 (Ago 29, 2012)

yo he hecho pruebas con 16f628a con diodos y me ha dado buenos resultados trabajandolo con el oscilador interno a la mas alta frecuencia y he logrado efectos muy buenos.
hagalo usted con el 16f88 que tambien tiene oscilador interno y lo coloca a 20Mhz 
saludos


----------



## manuel gomez (Ago 29, 2012)

Al colocar la frecuencia del oscilador en 20Mhz y quisiera utilizar un display lcd, ¿afectaría en algo a el dislpay?

Quiero visualizar en un display el porcentaje de ajuste para la salida de PWM.

Le pregunto esto porque hace unos días hice un pequeño montaje utilizando el 16F88 y tuve el siguiente inconveniente; con el oscilador interno a 4Mhz el display no funcionaba, sin embargo lo volví a programar con oscilador externo y le coloque el cuarzo tambien de 4Mhz y el display lcd funcionó perfectamente. Aún no he podido entender el motivo.

Gracias


----------



## RUIZ13 (Ago 29, 2012)

seguro tenias algún otro problema de configuración y usted lo corrigió y no se dio cuenta revise bien
por supuesto que le puede colocar un potenciometro y un lcd con el potenciometro controla el % de trabajo y lo puede representar en el lcd


----------



## edgard22 (Ago 29, 2012)

manuel gomez dijo:


> Al colocar la frecuencia del oscilador en 20Mhz y quisiera utilizar un display lcd, ¿afectaría en algo a el dislpay?
> 
> Quiero visualizar en un display el porcentaje de ajuste para la salida de PWM.
> 
> ...



Hola Manuel, a mí me pasó lo mismo, en un termómetro que hice para probar, si usaba oscilador interno funcionaba pero la presentación en el lcd era muy lenta, sin embargo, cambiando a externo con cristal, se solucionó.

Para invesel:  Te adjunto una imagen que muestra la config que usé para compilar el hex.

Para RUIZ13:
Creo que no es correcto lo que dices, como dije antes, cuando seleccionas el oscilador del TMR0 se refiere a si se utilizará como referencia el oscilador que hace funcionar el PIC, no importando el origen de este. El concepto de interno o externo es diferente al de la configuración del pic y no tiene por qué ser el mismo para que funcione. Al elegir en configuración de TMR0 'interno' simplemente decimos que se usará el reloj del pic, el que lo hace funcionar, sin importar su origen, al elegir externo, tenemos la posibilidad de usar otro reloj, lo que nos permite controlar las interrupciones basándonos en una señal externa e independiente del reloj del pic. Si ves en el ejemplo que puse verás que no cambié la configuración del TMR0, sigue en interno, y estoy usando un cristal de 4MHz. También probé usando el reloj interno y no dió problemas. En cuanto a la simulación, mi experiencia (muy poca) me ha enseñado que no debe ser tomado como referencia definitiva, en el de flowcode, tiene bastantes errores de verificación, lo que permite que funcionen cosas que en la realidad no funcionarían o de hacerlo, lo haría de forma diferente. Con el proteus, más de una vez no me funcionó nada, y en la realidad, funcionaban sin problemas. Por eso, cuando realizo algo, generalmente lo llevo a la realidad para verificar que esté todo en orden.
Me ha pasado más de una vez con el simulador de flowcode, crear algo con lcd, por ejemplo y al armarlo no lograr hacerlo funcionar de ninguna manera (en el simulador todo funcionaba perfecto). Solamente funcionó al modificar la estructura del programa para que haga lo mismo pero de otra forma.

Nuevamente, saludos a todos.


----------



## RUIZ13 (Ago 29, 2012)

edgard22 dijo:


> Hola Manuel, a mí me pasó lo mismo, en un termómetro que hice para probar, si usaba oscilador interno funcionaba pero la presentación en el lcd era muy lenta, sin embargo, cambiando a externo con cristal, se solucionó.


hay que tomar en cuenta tambien la configuración del master clear al colocarlo interno o externo



lo de activación del TRM0 estoy de acuerdo depende con que señal vas ha hacer la interrupción pero creo que no me entendió o no me supe explicar, vamos a ver si me cachas la idea:
con la interrupción interna en el TRM0 no va a trabajar a la misma frecuencia que con el pic y oscilador xt 
ya que va existir un desgaje en las dos frecuencias 
ahora si utiliza el oscilador externo en el pic, para que utiliza el oscilador interno en TRM0 si xt es mas estable y preciso  que el oscilador interno y estamos hablando de tiempo, puede haber una variacion de varios minutos con el oscilador interno .
dejeme ver si puedo simular en proteus tu circuito y llevarlo a fisico para ver su archivo creo que el fin de semana lo hago


----------



## edgard22 (Ago 29, 2012)

El master clear generalmente prefiero deshabilitarlo (que quede como interno) para usar el pin en otra cosa. En su momento, fué motivo de que no me funcionara nada, ja ja, estaba habilitado y sin ponerle la R pull-up. 

ruiz, no entiendo porqué dices que uso el externo (XT) y el interno en TMR0, si al usar el XT el oscilador interno no se usa, la referencia es el oscilador XT, además, de hacerlo como tu dices, no tengo forma de usar oscilador externo en TMR0 sin utilizar otro oscilador aparte e ingresarlo en el pin GP2...


----------



## manuel gomez (Ago 30, 2012)

Hola a todos, me gustaría volver al tema de PWM, como comenté hace poco, estoy practicando con PWM en flowcode, tengo mucho interés en hacerlo bien, puesto que si funciona correctamente tendré que montar 10 equipos para producir electrolisis. El caso es que he leído en alguna parte de internet que para producir PWM se utilizan algunas formulas que desconozco si esto se hace en flowcode, os pongo un fragmento de un articulo también posteado en este foro. 


FRAGMENTO COPIADO DE UN POST PUBLICADO EN ESTE FORO.
Rewm +pic16f877a
Hola pana para configurar la anchura del pulso solo tienes q hacer uso de las siguientes formulas:

El periodo se determina según la 
fórmula T=(PR2+1)*4*Tosc*TMR2 preescaler. La duración del pulso(en estado activo) (d) se deter-
mina según d=(CCPR1L:CCPCON1<5:4>)*Tosc*TMR2 preescaler...

¿Alguien me puede decir si todo esto se realiza con Flowcode?

Muchas gracias a todos.


----------



## edgard22 (Ago 31, 2012)

Si querés algo simple y que funciona bárbaro, podes usar un pwm hecho con un 555. Yo lo armé y anda muy bien. Lo que no tiene es control digital ni indicador, se varía el ancho del pulso con un potenciómetro.


----------



## manuel gomez (Sep 1, 2012)

Hola edgard22, conozco ese circuito, pero lo quiero hacer mas profesional y colocar un display lcd. He bajado algunos ejemplos del foro de flowcode (Matrix Multimedia) y no funcionan bien. 


Saludos.


----------



## invesel (Sep 1, 2012)

Hola edgard22, quería comentarte que el temporizador ultimo que subiste tampoco funciona del todo bien, lo que hace es lo siguiente; enciende la salida OUT1 durante una hora, se apaga 1 segundo y se enciende OUT2, pues bien una vez encendido el led OUT2 ya no se apaga y no vuelve a lucir el led OUT1.

¿Lo podrías volver a revisar?

Gracias.


----------



## edgard22 (Sep 1, 2012)

invesel dijo:


> Hola edgard22, quería comentarte que el temporizador ultimo que subiste tampoco funciona del todo bien, lo que hace es lo siguiente; enciende la salida OUT1 durante una hora, se apaga 1 segundo y se enciende OUT2, pues bien una vez encendido el led OUT2 ya no se apaga y no vuelve a lucir el led OUT1.
> 
> ¿Lo podrías volver a revisar?
> 
> Gracias.


La estructura básica del programa es contar las interrupciones ocurridas en un segundo, ese conteo se guarda en 'timer', cuando cuente 61, se incrementa 'seg' en uno, o sea transcurrió un segundo, cuando 'seg' alcance 60 se incrementa 'min' en uno, cuando 'min' sea igual a 'Set_min' se alcanzó el tiempo programado, en este caso, una hora, entonces se cambia el estado activo de las salidas de una a la otra. este ciclo se repite indefinidamente.
Cada vez que una variable alcanza el valor deseado, se pone a cero y se incrementa otra. (caso de 'timer', 'seg' y 'min') para que el conteo continúe correctamente dentro de los valores deseados.

Efectivamente, hay un error, algo que se me pasó, una de esas variables continúa incrementándose mas allá de lo que debería y por lo tanto impidiendo que funcione por no cumplirse las condiciones. Deberías revisar y seguir el flujo del programa para entender como funciona, y de seguro encuentras también que es lo que está mal. 

PD: Está relacionado con los minutos.


----------



## invesel (Sep 1, 2012)

Gracias tanto a edgard22 como RUIZ13, pero ya abandono, veo que es muy complicado realizar un tempor¡zador de estas caracteristicas. No quiero seguir molestando, creo que si ustedes no consiguen hacerlo  funcionar dificilmente seré capaz de hacerlo yo solo. 

Muchas gracias por el tiempo que han compartido conmigo.


----------



## edgard22 (Sep 1, 2012)

invesel dijo:


> Gracias tanto a edgard22 como RUIZ13, pero ya abandono, veo que es muy complicado realizar un tempor¡zador de estas caracteristicas. No quiero seguir molestando, creo que si ustedes no consiguen hacerlo  funcionar dificilmente seré capaz de hacerlo yo solo.
> 
> Muchas gracias por el tiempo que han compartido conmigo.



Uh, pero qué fácil te das por vencido, ya está hecho, sólo tenés que resetear la variable 'min' para que vuelva a 0, así nunca vas a lograr hacer nada por vos mismo.
En lo que respecta a mí, no es molestia, sólo quería que pensaras un poco para que entendieras como funciona y así ganar algo más de experiencia. 

PD:  Según parece, no pensaste mucho, ja ja, saludos.


----------



## invesel (Sep 2, 2012)

Hola edgard22, me bloqueé de tal manera que no veía solución, de ninguna manera quiero abandonar Flowcode, con este programa y la ayuda de vosotros estoy consiguiendo bastante cosas, pero me estaba siendo bastante complicado este tipo de temporizador. 
Una vez mas te agradezco tu ayuda, e igualmente le digo a RUIZ13, gracias a ustedes he sido capaz de diseñar algún que otro programa.

Saludos.


----------



## edgard22 (Sep 2, 2012)

invesel dijo:


> Hola edgard22, me bloqueé de tal manera que no veía solución, de ninguna manera quiero abandonar Flowcode, con este programa y la ayuda de vosotros estoy consiguiendo bastante cosas, pero me estaba siendo bastante complicado este tipo de temporizador.
> Una vez mas te agradezco tu ayuda, e igualmente le digo a RUIZ13, gracias a ustedes he sido capaz de diseñar algún que otro programa.
> 
> Saludos.



Nos alegramos que así sea, creo que esa es la finalidad.


----------



## invesel (Sep 3, 2012)

Hola edgard22, coloqué el icono de calculo que faltaba ( min=0 ) en Timer_1_Hora _v2 y tengo que decirte que funciona bien y realiza el cambio de OUT1 a OUT2 tal y como se esperaba, pero solo funciona unas 4 horas, después se queda encendido el led OUT2 y ya no vuelve a lucir OUT1. 

Gracias.


----------



## edgard22 (Sep 3, 2012)

invesel dijo:


> Hola edgard22, coloqué el icono de calculo que faltaba ( min=0 ) en Timer_1_Hora _v2 y tengo que decirte que funciona bien y realiza el cambio de OUT1 a OUT2 tal y como se esperaba, pero solo funciona unas 4 horas, después se queda encendido el led OUT2 y ya no vuelve a lucir OUT1.
> 
> Gracias.



Caramba... voy a probar, pero con tiempos mas cortos a ver que pasa.


----------



## manuel gomez (Sep 4, 2012)

Hola a todos.

Como comenté hace poco estoy realizando un regulador PWM y me gustaría saber si algunos de vosotros sabe si se puede realizar lo siguiente: 

que al activar el circuito este haga que su salida pwm suba lentamente, me explico, he montado en físico el ejemplo que he subido, y la verdad, funciona perfectamente, pero en esta ocasión lo he utilizado para regular la velocidad de un motor, y me ha pasado que estando el motor a mas de media velocidad se corto el suministro eléctrico, y al restablecer la corriente eléctrica se han partido unas correas que enlazan el motor con una cinta transportadora.

¿Se podría hacer esto?

Saludos.


----------



## edgard22 (Sep 4, 2012)

manuel gomez dijo:


> Hola a todos.
> 
> Como comenté hace poco estoy realizando un regulador PWM y me gustaría saber si algunos de vosotros sabe si se puede realizar lo siguiente:
> 
> ...



He visto en algunos aparatos industriales un sistema en el cual al conectarlo es necesario para que arranque que el mando esté al mínimo, de otro modo no comenzará a funcionar.
Ese sistema es muy eficaz para evitar cosas como esas y es muy fácil de implementar con un bucle al inicio, como muestra el ejemplo PWM.rar
Si de todos modos preferís que inicie en cero hasta el valor actual seteado, fijate en el ejemplo PWM(2).rar
Saludos.

PD:



Para invesel: creo que el problema puede estar en que se interrumpa en el momento que esté actualizando algo y se salga de rango, no sé. Probá con este, cambié todo lo que estaba dentro del bucle para la macro de interrupción, esto va a generar una pequeña demora adicional, pero no creo que sea significativa, de serlo, se puede disminuir de a poco el valor de "timer" para que cuente menos interrupciones (estába en 61 y lo bajé a 60). Por razones de tiempo tampoco he probado esto, hazlo y comenta como te fue.


----------



## manuel gomez (Sep 4, 2012)

Muchas gracias edgard22, el ejemplo PWM(2) es perfecto.

Saludos.

**Lo acabo de probar y funciona bien entre el 90% y el 100%, con menos porcentaje no se nota la subida progresiva, he probado con un voltimetro en la carga y ademas con el osciloscpio para ver la onda cuadrada. ¿Sería conveniente subir la demora en el bucle "Delay"?

Gracias


----------



## invesel (Sep 5, 2012)

Hola edgard22, he tenido en funcionamiento el nuevo archivo al menos 6 horas y a funcionado perfectamente realizando los cambios de OUT1 a OUT2 y viceversa.

Muchas gracias. 

Saludos.


----------



## edgard22 (Sep 5, 2012)

manuel gomez dijo:


> Muchas gracias edgard22, el ejemplo PWM(2) es perfecto.
> 
> Saludos.
> 
> ...



Sí, el valor es para ejemplo, aumentalo a tu gusto hasta obtener los resultados deseados.



invesel dijo:


> Hola edgard22, he tenido en funcionamiento el nuevo archivo al menos 6 horas y a funcionado perfectamente realizando los cambios de OUT1 a OUT2 y viceversa.
> 
> Muchas gracias.
> 
> Saludos.


Bien, eso es bueno...


----------



## invesel (Sep 6, 2012)

Hola edgard22, quisiera preguntarte como poder hacer que aparezca en un display lcd el texto de la linea de arriba fija y el texto de la linea de abajo con desplazamiento, lo intento pero salen en desplazamiento las 2 lineas.

Saludos.


----------



## edgard22 (Sep 6, 2012)

invesel dijo:


> Hola edgard22, quisiera preguntarte como poder hacer que aparezca en un display lcd el texto de la linea de arriba fija y el texto de la linea de abajo con desplazamiento, lo intento pero salen en desplazamiento las 2 lineas.
> 
> Saludos.



No lo he usado pero me parece que no es direccionable por linea, al activarlo hace scroll en todo el lcd.
Para lograr un efecto scroll podés usar manipulación de secuencia con los comandos left$, right$, mid$, etc, anidandolos en bucles para lograr los efectos deseados. Con ellos sí podés posicionarlos en la línea que quieras. Yo hacía cosas como esas en PBP, con flowcode no he usado estos comandos para nada.

PD: He aquí un ejemplo, aunque no quedó tan sencillo.


----------



## invesel (Sep 6, 2012)

Gracias edgard22, el ejemplo "Scroll" es perfecto y me viene muy bien para aprender a manejar este tipo de secuencias.

Saludos.


----------



## manuel gomez (Sep 7, 2012)

Hola edgard22.

Tengo una duda y quería a ver si me la puedes aclarar. Intento entender porque si la cantidad colocada en el bucle es pequeña funciona bien, sin embargo si en lugar de 30 colocas 300 el bucle nunca para.

Saludos.


----------



## edgard22 (Sep 7, 2012)

manuel gomez dijo:


> Hola edgard22.
> 
> Tengo una duda y quería a ver si me la puedes aclarar. Intento entender porque si la cantidad colocada en el bucle es pequeña funciona bien, sin embargo si en lugar de 30 colocas 300 el bucle nunca para.
> 
> Saludos.



En la simulación en vez de no parar nunca, sale sin hacer nada.
En tu ejemplo, al poner '300', el valor almacenado en la variable es 44, que es el resultado de 300-256, eso es porque estas usando una variable 'BYTE' que no puede contener valores mayores a 255, y como condicionaste el bucle a =<30 sale de él. Deberías cambiarla a 'INT' que puede almacenar números hasta 32767.
Saludos.


----------



## manuel gomez (Sep 7, 2012)

Muchas gracias edgard22.

Saludos.


----------



## manuel gomez (Sep 18, 2012)

Hola edgard22, de nuevo por aquí con Flowcode, intento realizar el programa que he subido pero me gustaría que guardara memoria en caso de perdida de alimentación. La vedad es que este tema aún no lo he tocado y me gustaría a ver si me puedes orientar. Lo que necesito es que al reestablecer la alimentación se mantenga encendido el mismo led que lucia al perder la alimentación.

Gracias.


----------



## edgard22 (Sep 18, 2012)

manuel gomez dijo:


> Hola edgard22, de nuevo por aquí con Flowcode, intento realizar el programa que he subido pero me gustaría que guardara memoria en caso de perdida de alimentación. La vedad es que este tema aún no lo he tocado y me gustaría a ver si me puedes orientar. Lo que necesito es que al reestablecer la alimentación se mantenga encendido el mismo led que lucia al perder la alimentación.
> 
> Gracias.



El uso de la EEPROM es bastante simple, debes leer el valor de una posición determidada al iniciar, en la cual guardamos el estado de las salidas, ese valor se actualiza cada vez que cambien (se escribe en eeprom). De esta forma, al iniciar el programa se lee y se actualiza la salida con este valor (se debe verificar que esté dentro de los valores admitidos para su uso).
De acuerdo a la estructura de tu programa, es más complicado, ya que no hay una forma directa de direccionar hacia una u otra salida, ya que están en serie. O sea, supongamos que estaba el led 2 encendido a interrumpirse el programa, al iniciarse de nuevo, debe iniciar el ciclo nuevamente con el 2 encendido, cómo hacemos, ya que no hay nada que nos dirija ahí, además, sólo debe hacerlo 1 vez (para dejarlo como estaba al apagarse) y no interferir con el funcionamiento del programa. Me resultó más simple usar el ejemplo que antes vimos, el cual adjunto con las modificaciones para leer y guardar estos valores.

Saludos.


----------



## manuel gomez (Sep 19, 2012)

Muchas gracias edgard22, me va a servir de mucho, está muy documentado con los comentarios que has colocado, así podré entender mejor el funcionamiento. 
Lo que no entiendo bien es porque con el simulador no funciona si solo tiene un minuto programado.

Saludos.


----------



## edgard22 (Sep 19, 2012)

manuel gomez dijo:


> Muchas gracias edgard22, me va a servir de mucho, está muy documentado con los comentarios que has colocado, así podré entender mejor el funcionamiento.
> Lo que no entiendo bien es porque con el simulador no funciona si solo tiene un minuto programado.
> 
> Saludos.



Yo estoy usando Flowcode v4.5.18.74 y lo simula bien, en versiones anteriores es cierto, no funcionó.


----------



## invesel (Sep 20, 2012)

La versión que tengo yo es la v4.2.3.58, ¿como podría actualizarla?


----------



## manuel gomez (Sep 20, 2012)

Hola edgard22, hace unos días hice un regulador de intensidad con Flow, utilicé PWM y de salida coloque un mosfet, la verdad es que funciona a la perfección, pero me gustaría hacerlo con un tiristor, de esta manera no tendría que colocar puente rectificador, ya que la alimentación proviene de un transformador. Mi pregunta es si me puedes orientar como hacer que la señal PWM gobierne a un tiristor.

Saludos.


----------



## archer1ec (Sep 20, 2012)

Hola amigo quiero saber algo de su programa que regula intencidad yo quisiera hacer que un led encienda y apague prograsiba mente sabe como sacerlo? gracias

como se usa y que es un PWM

Manuel le agradeceria su explicación


----------



## manuel gomez (Sep 20, 2012)

El programa es el que subo, en realidad es tomado de algunos ejemplos y la ayuda de este foro, no sabría explicarle bien ya que yo también estoy aprendiendo.


----------



## archer1ec (Sep 21, 2012)

Muchas gracias Manuel muy amable



Manuel perdona comentame si conecto los led en los pines que 10,11,12,13 y 18 me daran el efecto de atenuado de luz? gracias


----------



## manuel gomez (Sep 21, 2012)

Tal como está hecho este programa solo podrás conectar en la patilla 5, ademas de colocar su correspondiente resistencia para limitar la tensión del led. Si quieres conectar mas de un led tendrás que colocar un transistor que se adapte a tus necesidades según la cantidad de leds que quieras colocar y tomar tensión de la fuente de alimentación.


----------



## archer1ec (Sep 21, 2012)

Ok entendido muy amable gracias


----------



## invesel (Sep 22, 2012)

Hola edgard22, perdona que te insista sobre el tema de PWM, pero he buscado por internet y no encuentro nada para poder hacer que el sistema PWM funcione con un tiristor. He abierto un equipo que funciona de esta manera y he sacado el esquema pero al pasarlo a físico éste no funciona, cuando se actua sobre el potenciomentro lo único que hace es encender al máximo o apagarse, pero no puedo regular la intensidad. El optoacoplador que está en el dibujo es el original que viene en dicho equipo, y yo he utilizado uno de iguales caracteristicas que es el MOC3021.
Puedo entender que el problema sea la frecuencia de trabajo del PWM, ¿sabrias como variar esta frecuencia? 
Subo el esquema que he sacado del aparato que funciona de esta manera.

Saludos


----------



## edgard22 (Sep 22, 2012)

invesel dijo:


> Hola edgard22, perdona que te insista sobre el tema de PWM, pero he buscado por internet y no encuentro nada para poder hacer que el sistema PWM funcione con un tiristor. He abierto un equipo que funciona de esta manera y he sacado el esquema pero al pasarlo a físico éste no funciona, cuando se actua sobre el potenciomentro lo único que hace es encender al máximo o apagarse, pero no puedo regular la intensidad. El optoacoplador que está en el dibujo es el original que viene en dicho equipo, y yo he utilizado uno de iguales caracteristicas que es el MOC3021.
> Puedo entender que el problema sea la frecuencia de trabajo del PWM, ¿sabrias como variar esta frecuencia?
> Subo el esquema que he sacado del aparato que funciona de esta manera.
> 
> Saludos



Hola, la verdad es que no he utilizado tiristores en esa forma (como dimmer), pero para usarlos de ese modo es necesario dispararlos en el momento correcto y no es mediante pwm, hay que sensar el pase por cero de la alimentación a controlar para calcular el disparo en el momento correcto. No puedo aportarte más datos ya que los desconozco.


----------



## Meta (Sep 22, 2012)

Hola:

Una pregunta tonta. ¿Con el Flowcode 4 o el 5 se puede controlar el PIC por puerto serie RS232?

Quiero saber si tiene esa opción.

Un saludo.


----------



## manuel gomez (Sep 23, 2012)

El tema este de PWM con tiristores *tiene que ser bastante complejo*, yo también estoy muy interesado sobre  este tipo de reguladores y la verdad es que en internet no hay nada, solo existen con mosfet. Comentarle a edgard22 que si se hace con PWM, yo tengo un regulador que compré para ver si podía copiarlo y con el osciloscopio he comprobado que la señal que se aplica a los optoacopladores es señal PWM, en este caso el regulador que yo tengo lleva 4 tiristores (BT152) con 4 optoacopladores y funciona de manera que durante un tiempo conducen 2 y mas tarde conducen los otros 2, de esta forma se optiene en la salida un cambio de polaridad. Este tipo de reguladores es utilizado en cloradores salinos para piscinas.
-Hice una prueba y puedo ajustar la intensidad, pero tengo que decir que la lampara está todo el tiempo parpadeando, comento esto por si da algo de idea-.

Saludos.


----------



## Scooter (Sep 24, 2012)

Es que no se puede hacer pwm contiristores o triacs, por eso no hay información.
Lo que tu tienes es un rrctificador controlado, se suel hacer con dos diodos y dos tiristores.


----------



## manuel gomez (Sep 24, 2012)

Y me podrías explicar como hacerlo, (la señal que comprobé en el regulador que yo tengo es exactamente igual o al menos muy parecida a la señal pwm).


----------



## manuel gomez (Sep 24, 2012)

Hola edgard22, tal como dice Sccoter parece ser que es un rectificador controlado, lo que pasa es que cuando coloqué el osciloscopio al regulador que compré la señal es aparentemente idéntica a la que presenta una señal pwm. ¿Crees que se puede hacer algo con flowcode para realizar este tipo de rectificador?

Saludos.


----------



## elprofetellez (Sep 24, 2012)

Meta dijo:


> Hola:
> 
> Una pregunta tonta. ¿Con el Flowcode 4 o el 5 se puede controlar el PIC por puerto serie RS232?
> 
> ...



La respuesta es SÍ.

Busca mi brazo robot controlado por RS232.
Tambien vale para RS485.
Incluso bluetooth, IR, RF, I2C, CAN, etc.


----------



## Meta (Sep 25, 2012)

Hola:

He visto el proyecto, buenísimo.
Haber si es fácil instalar el FlowCode 4 o el 5, perdón, diseñar un buen programa para el PIC. A lo mejor es más fácil que hacerlo en ASM y C.

Gracia por las respuesta.


----------



## elprofetellez (Sep 25, 2012)

Meta dijo:


> Hola:
> 
> He visto el proyecto, buenísimo.
> Haber si es fácil instalar el FlowCode 4 o el 5, perdón, diseñar un buen programa para el PIC. A lo mejor es más fácil que hacerlo en ASM y C.
> ...



Trabajar con FC es tan sencillo como simplemente configurar opciones.

por ejemplo, para poner en un LCD "hola mundo", en ASM o C, cuánto te gusta tardar?, desde cero, pongamos de 5 a 10 minutos dependiendo de la experiencia?. en FC te tomaria menos de 2 minutos hacerlo y compilarlo a .hex

saludos!


----------



## Meta (Sep 25, 2012)

Buenas:

Tengo pensado en usar un LCD de 4x20. Dos microcontroaldores, uno el 16F886 y el otro 16F887 que son los que dispongo. Por si acaso tengo también el 16F88, 12F508, 18F2550 y 18F4550.

Uso dos PIC para comunicarlo para usar más pines. El circuito que deseo hacer (ya lo haré un esquema en Proteus) controla:

8 Entradas digitales con pulsadores.
Algunas Entradas digitales para sensores TTL.
8 Salidas digitales.
Algunas entradas analógicas, para el LM35 y dos potenciómetros.
1 LCD 20x4.
1 Puerto COM.

Todo ello controlarlo desde el PC. La parte de Internet a distancia me encargo yo.

la comunicación entre PIC puede ser por I2C o por RS232, me da igual. Si hay que usar más PIC se usa, a lo mejor es mejor usar un PIC y si quiero más salida o entradas usar un expansor de bus I2C como el PCF8574.

¿Crees que se puede hacer fácil?

Saludo.


----------



## invesel (Sep 25, 2012)

Hola a todos, ¿se puede utilizar un igbt para rectificar la corriente alterna? de esta manera se podría gobernar mediante pwm y así tener un rectificador controlado, ¿se podría hacer esto?

Gracias a todos, es para poder realizar el proyecto con flowcode.


----------



## talquino2012 (Sep 26, 2012)

Hola amigos, logre hacer el termómetro con pic16f877a y lm35,pero me dio el siguiente problemas:

1.- Cuando lo conecto inmediatamente la lectura es estable, 
2.- Pero al conectarlo a 2 mts (uso cable de mouse), la lectura es errática, supongo que es el cable,

Alguien podría indicar que tipo de cable se debe usar y hasta que distancia puedo montar el sensor

Gracias

Javier


----------



## DANDY (Sep 26, 2012)

Invesel no se puede..los igbt vienen con diodo invvertido...te sugiero primero usar un puente de diodos y despues colocar los igbt


----------



## invesel (Sep 26, 2012)

Gracias Dandy por tu aclaración.


----------



## manuel gomez (Sep 27, 2012)

Quisiera haceros una consulta acerca de la conexión de un lcd de *2x16* a un PIC16F690. Resulta que a veces me presenta caracteres raros, apago la alimentación y vuelvo a conectar y el problema desaparece. Tengo que decir que el lcd esta separado a una distancia de unos 30 cm del pic, ya que he hecho un montaje en donde separo la parte de potencia de la de control. ¿Sabríais aconsejarme?.

Se me olvidaba decir que los símbolos raros casi siempre aparecen en la segunda linea del display.
Gracias.


----------



## talquino2012 (Sep 27, 2012)

Hola de nuevo, hace unos dias consulte por el cable para conectar el lm35, al dejarlo ejecutarse este programa lo hace y bien, existe algunas variaciones que quiero corregir, esto lo trato de hacer con una lectura de varios puntos y sacar un promedio y luego este dato llevarlo al lcd.

En flowcode lo hace y bien, al llevarlo al proteus solo me indica 00, adjunto archivos para si alguien muy amable me puede ayudar para solucionar este problema, a lo mejor tengo el problema en el uso de las sentencias cadena

Esperando una ayudita

Javier


----------



## Deltaeco (Oct 4, 2012)

Hola chicos, como veo que post se dedican al flowcode 4 y yo estoy empezando a programar con el , cual es muy utilitario y fácil de programar , aunque yo estoy muyyyy verde en las programaciones, tengo un problema cual no consigo solucionar y ustedes como saben mas en el tema me pueden aclarar unas ideas.

El problema que he realizado un circuito y tengo un problema de rebote de pulsadores (en este circuito utilizo optoacopladores en ves de pulsadores) , he estado mirando y buscando anti-rebotes para pulsadores  y he encontrado muchos códigos pero yo en código no entiendo mucho, he leído que se puede hacer para que cuente un +1 y espere y vuelve a contar +1 para que la suma sea correcta y de el visto bueno que esta activado y inicie la tarea programada, pero yo esto en el flowcode no lo entiendo. 
Si alguien ha realizado algo parecido o similar que me pueda brindar unas ideas se lo agradezco. (por favor que sea con el flowcode... la programación a código abierto no la conozco.)

el proyecto esta aquí : _https://www.forosdeelectronica.com/f11/obtener-senal-digital-220vac-1-activo-0-activo-82813/index2.html#post718065_

Gracias compañeros ¡


----------



## pnoyam (Oct 8, 2012)

Menu en LCD con 4 botones (Menu,up,down,set)
Buenas tardes a todos, soy nuevo en el foro y aprendiendo el uso del flowcode 5 para AVR/arduino. Estoy queriendo hacer un menu que se visualice en un lcd de 16x2, que se pueda manejar dicho menu con 4 botones (ingreso al menu, subir o bajar y set o enter). Estuve probando con varios ejemplos que encontre, inclusive uno que esta en flowcode para descubrir una password de 3 caracteres, que tambien utiliza un lcd 16x2 4 botones (up, down, enter y end) basandome en algo similar yo quiero un menu de opciones donde al presionar el boton menu me de varias opciones ej: opc1, opc2, opc3, elegir cualquiera de ellas y a partir de ahi otro menu donde poder seleccionar el tiempo de 5,10,20,30,40 minutos al darle al boton set, comience a funcionar una salida y se detenga al termino del tiempo seteado. Adjunto el ejemplo del flowcode y espero puedan ayudarme. 
Muchisimas gracias.


----------



## talquino2012 (Oct 10, 2012)

Termometro

elprofetellez, si no es mucha patudez quisiera hacerle una consulta.

Hace unos dias realice una inquietud en el foro y era que necesito que un a señal de un lm35 fuera mas estable, pienso que debe ser con un tipo de promedio, adjunto los archivos para sus comentarios.

De acuerdo a lo poco que se en FC, no se si se puede hacer con entrada analogica de voltaje

Debo indicar que en elfisico varia, por eso la consulta ( comparo temperaturas )

Esperando su favorable acogida

Javier


----------



## fatronic (Oct 14, 2012)

Buenas a todos,
estoy empezando con el Flowcode y tengo las siguientes dudas:

quisiera saber si es posible lanzar el simulador del Flowcode desde un punto de programa especifico o hay que empezar desde en comienzo cada vez.

Hay alguna forma de saber cuanta memoria estamos ocupando, o nos queda libre?

¿se puede utilizar el ICd2 de microchip desde el flowcode para progrmar el pic?

¿que programador utilizais?

Muchas gracias


----------



## manuel gomez (Oct 15, 2012)

Hola a todos, intento recopilar algo de información para realizar un programador de riego con Flowcode, ¿me podrían dar algunas explicaciones para poder empezar?

Saludos.


----------



## ronnyleiva (Oct 28, 2012)

hola a todos los del foro estoy en realizando prueva con el pic y un modem en este caso un cel nokia 3220 en el hyperterminal todo ok  mi problema es como mandar esos comandos desde el pic  hacia el cel y estoy utilizando flowcade porfavor si alguien me podria ayudar se lo agradeseria mucho


----------



## mabafi (Oct 29, 2012)

Por fin un foro donde se hable de flowcode, en hora buena,paso a exlicaros mi problema estoy haciendo una practica con el entrenador Pic school de un ejemplo de keypad en la simulacion de flowcode todo va correcto pero a la hora de hacerlo fisicamente en la pantalla del LCD me salen numeros aleatorios no concordando con el numero pulsad,alguien me podria decir donde cometo el fallo?


----------



## talquino2012 (Nov 1, 2012)

Hola, quisiera consultar como puedo pasar una variaBLE int a cadena o flotante.

he encontrado como pasar de string a float, de float a string y a  int, pero no de int a float o string

agradecere su ayuda


Javier


----------



## archer1ec (Nov 6, 2012)

Hola amigos del saber un saludo especial a todos, como a muchos no pasa tengo un problema quiero que en un lcd me de el anuncio que quiero, segun  actibe un interup o pulsador, yo e logrado solo con un pulsador y me cada modo en pone un mensage pero como puedo hacer para mas switch y mensage?, vale mucha gracias de antemano adjunto un zip Ver el archivo adjunto LCD + SWICH PARA EL FORO.zip


----------



## manuel gomez (Nov 8, 2012)

Hola a todos, yo también intento realizar algo parecido a lo expuesto por archer1ec, lo que necesito hacer es para aplicar a una maquina que tiene una serie de compuertas y algún nivel que controlar, sería un circuito con un display lcd, un led y una tecla. Me haría falta controlar 16 entradas y el funcionamiento es el siguiente:

al producirse una o varias anomalías se enciende el led indicando que algo a pasado, luego al ir pulsando sobre la tecla aparecerán todas aquellas anomalías que hayan podido producirse. 

Llevo algunos días intentando comentarlo en el foro pero no tengo resultados, también lo he intentado con edgard22 pero parece que no está activo, la verdad es que necesito realizar este pequeño proyecto pero hay cosas que no sé como hacer. Subo un pequeño ejemplo por si sirve para que alguien me pueda echar una mano.


Infinitas gracias a todos.


----------



## manuel gomez (Nov 12, 2012)

Sabe alguien de otro foro de Flowcode en internet?

Gracias.


----------



## 6031575 (Nov 28, 2012)

Bueno por que no lo hace en parsic es mas intuitivo y se hacen programas que trabajan en tiempo real, el flowcode es muy bueno, pero nunca pude hacer el control de un puente tirystor con el detector de cruce por cero para manejar un motor DC a 110v, por que toca hacerlo asi, para que haya un buen control de velocidad.



La idea era hacerlo con interrupciones y variar la velocidad con un pote y con rampa. utilizando el pwm



Con el parsic lo hice, pero cuando el programa se agranda el micro se cuelga, y como flowcode trabaja con interrupciones hice la prueba y no lo logre, en parsic me funciono pero controlando el angulo de disparo y no con PWM. Si alguien de uds lo ha logrado les agradeceria publicaran el programa para tomarlo como referencia.


----------



## jamesoro (Dic 14, 2012)

bueno, primero gracias a todos porque hasta ahora es el primer foro que encuentro tan claro, les cuento yo estaba con niple pero me enredaba mucho y por curiosidad inicie con el flowcode, y de verdad que es mejor, no solo por los recursos sino por lo que se puede encontrar en Internet sobre el. espero poder hacer mis proyectos y si no me pues aquí estaré buscando ayuda.


----------



## archer1ec (Ene 21, 2013)

Hola a todos los amigos del foro saludos, queria saber si alguien sabe porque cuando quiero grabar un pic 16f629 en mi grabadora me da un error y no me deja grabarlo yo tengo una grabadora k150 y el software es el microbrn con los 16 f que tienen 18 pines no tengo problemas a y algo mas hago el programa en flowcode uso el oscilador intermo y no me funcionan los tiempos me graba lento vale muchas gracias de antemano saludos.


----------



## homer32 (Ene 23, 2013)

Hola a todos,
quisiera saber si alguien del foro a utilizado con el flowcode el protocolo I2C. y a ver si me pueden orientar sobre este tema, quiero controlar un modulo MPU6050 con el flowcode, y este utiliza el protocolo I2C.

gracias


----------



## elprofetellez (Ene 23, 2013)

Te subo los ejemplos oficiales de Matrix Multimedia para el uso de I2C, en FCv4

Saludos!


----------



## homer32 (Ene 24, 2013)

muchas gracias elprofetellez, en cuanto pueda me los miro y trato de comprenderlos.


----------



## jamesoro (Ene 27, 2013)

bueno señores tengo una pregunta, como se maneja el teclado matricial en flowcode, he visto ejemplos pero no me queda claro como es que sabe que tecla se pulso, esto para poder usar las demas teclas como las letras. gracias


----------



## homer32 (Feb 22, 2013)

Hola, estoy realizando un contador de RPM, de momento tengo una parte que cuenta los pulsos, (lo simulo con un pulsador), otra parte que cuenta las vueltas. Pero ahora me falta contar estas vueltas por unidad de tiempo, minutos, pero estoy atascado en esta tarea, no se como hacerlo, podria ser con el TMR0? 
Se que el calculo es contar las vueltas que da en 10 seg, (por ejemplo) y el resultado multiplicarlo por 6 para que de las vueltas en un minuto. El problema es como cuento estos 10 seg?
Todo lo presento en un LCD, (de momento los pulsos y las vueltas, cuando sepa hacer las RPM en el LCD se presentaran las RPM

adjunto el programa realizado, no se si se podria realizar de una manera más simple


----------



## jucaceledon (Feb 22, 2013)

alguien sabe como hacer que aparezca la fecha y la hora de forma permanente en un lcd, uso 16f877a

JC


----------



## Meta (Mar 21, 2013)

Hola:

Con el Flowcode4. Quiero usar el PIC12F629. ¿Te lo acepta?

Ahora mismo no tengo el programa para instalarlo y saberlo.

Saludo.


----------



## jherediac (Mar 21, 2013)

si el 12f629 esta en la libreria de flowcode zaludos


----------



## mfi (Mar 25, 2013)

Hola, a ver si alguien me puede ayudar.

Resulta que estoy usando el Flowcode4 para hacer una transmion TX, RX con dos 16f873, simulando en el isis. El ejercicio es encender un led mientras esta pulsado el boton del emisor.

En la simulacion del flow funcionan las dos partes perfectamente, pero al cargar el programa en el isis el receptor no enciende el led, poniendo el virtual terminal del isis se ve como emite al pulsar, pero como digo el receptor no hace su trabajo. Lo que estoy haciendo es enviar un caracter la letra "a" y recivirla con if(letra='a') cuando vea una "a" pues que encienda el led, no se que puede pasar, os dejo los archivos a ver si veis algo raro, os agradeceria mucho una ayudita.

saludos


----------



## elprofetellez (Mar 25, 2013)

Empieza por conseguir la tabla de acaracteres ASCII; NO puedes enviar caracteres como cadenas, en otras palabras, no puedes enviar "a", en dado caso, lees o envias el valor en hexadecimal o decimal (de acuerdo con la tabla ASCII).

Por otro lado, el timeout NO puede ser de 1, no le estas dando tiempo a leer nada, ponlo al menos de 50.

en la decisión, no preguntes por "a", pregunta por el valor hexadecimal o decimal que le corresponde.

En ese mismo punto, el macro de led apagado NO puede estar despues del brazo de SI, ya que asi como lo estas encendiendo, al mismo tiempo lo estas apagando -NUNCA lo veras encender-

Debes meter el macro led apagado exactamente debajo de NO.

Por otro lado, no estoy seguro si es correcta tu palabra de configuración. chécala.
la velocidad en baudios debe ser igual en ambos, por ej, 9600.

En cuanto a la simulación, la terminal virtual sale sobrando.
recuerda los capacitores en los cristales.

saludos!


----------



## Meta (Mar 25, 2013)

Una pregunta tonta.

¿Es muy complejo el RS232 en el Flowcode?

Es decir, hacer que derecte bytes o en viar bytes,


----------



## elprofetellez (Mar 25, 2013)

Para nada es complejo. Solo tienes que tener a la mano la tabla ASCII.
De ahi en fuera, solo recordar que string, se refiere a cadena de caracteres (palabras), y character se refiere a los dígitos (en valor hexadecimal).

En realidad, es muy sencillo.

Saludos!


----------



## mfi (Mar 26, 2013)

elprofetellez dijo:


> Empieza por conseguir la tabla de acaracteres ASCII; NO puedes enviar caracteres como cadenas, en otras palabras, no puedes enviar "a", en dado caso, lees o envias el valor en hexadecimal o decimal (de acuerdo con la tabla ASCII).
> 
> Por otro lado, el timeout NO puede ser de 1, no le estas dando tiempo a leer nada, ponlo al menos de 50.
> 
> ...



Hola, gracias por tu tiempo, te lo agradezco

Acabo de probar lo que me dices, por pasos:

1- baje la tabla ascii para la letra "a" =>  ascii=97    hex= 61  simbolo= a

Lo siguiente fué en el emisor selecionar en la macro rs232, sendRS232Char y en los parametros nChar(INT) pusé la letra "a", despues en el receptor cambié lo que me comentaste del apagado del led y puse un if preguntando por el hex del caracter "a", es decir, if(char='61'), (char es la variable en donde se almacena lo que viene del emisor) pero no me deja poner '61' en el receptor, entonces cambié y puse "61" en el emisor y 'a' en el receptor, pero sigue sin funcionar, no se que puede pasar


----------



## elprofetellez (Mar 26, 2013)

Vamos por partes, sale?
Primero, en el codigo de envio; la palabra de configuración es correcta?, ahi no sé, solo chécalo y ten la seguridad de que lo es; la velocidad del reloj es correcta?, igual chécalo y ten la seguridad; en las propiedades del RS232, la velocidad en baudios por default esta en 9600, lo demás ni lo toques, está bien como aparece por defecto.

ahora, para darle un número hex al programa, le tienes que decir que es un hex, por lo tanto escribes 0x antes del número, en tu caso escribes 0x61 que es la letra a minúscula, ojo, que es solo minúscula, la mayúscula cambia su valor.

en nChar no va la letra a, ahí es el tiempo de espera entre pulsaciones de las teclas, (digámoslo así), coloca el numero 50.

En el receptor, al preguntar, escribes todo juntito sin espacios: char=0x61

sigue las pruebas.

saludos!


----------



## mfi (Mar 27, 2013)

elprofetellez dijo:


> Vamos por partes, sale?
> Primero, en el codigo de envio; la palabra de configuración es correcta?, ahi no sé, solo chécalo y ten la seguridad de que lo es; la velocidad del reloj es correcta?, igual chécalo y ten la seguridad; en las propiedades del RS232, la velocidad en baudios por default esta en 9600, lo demás ni lo toques, está bien como aparece por defecto.
> 
> ahora, para darle un número hex al programa, le tienes que decir que es un hex, por lo tanto escribes 0x antes del número, en tu caso escribes 0x61 que es la letra a minúscula, ojo, que es solo minúscula, la mayúscula cambia su valor.
> ...



Ya funciona, simplemente era enviar 0x61 y preguntar por 'a' 

Ahora lo que quería hacer es aplicarle la salida TX del micro a un emisor de radio frecuencia de 434MHz con una velocidad de hasta 4800bps, y en el receptor conectar la entrada RX para que codifique la señal, lo que pasa es que no se que velocidad de baudios es correcta para este módulo y tampoco que crystal usar...gracias por la ayuda


----------



## elprofetellez (Mar 27, 2013)

EN la hoja de datos dice la velocidad, deben andar por lo 4.8HHz.

Por lo otro, debes ser homogeneo, si mandas 0x61, preguntas por 0x61. cuestion de orden. de no ser así, en un programa grande se te hace un chilaquil.

saludos!


----------



## Meta (Mar 27, 2013)

Auí hay ejemplos.


----------



## homer32 (May 3, 2013)

Hola a todos,
estoy realizando un programa muy simple que con un potenciometro pueda regualar un tiempo de unos 2 seg aprox. hay una entrada de un sensor(será un interruptor),cuando esta este a nivel 1 se ha de encender un led durante el tiempo que hayamos seleccionado con el potenciometro.
el programa en flowcode funciona, pero al simularlo en proteus no regula el tiempo que esta encendido el led.
Alguien sabe que puede pasar, adjunto archivos flowcode, proteus y el hex que me da proteus

gracias


----------



## jucaceledon (May 5, 2013)

Sres, debo hacer un controlador de humedad con el sensor hs1101, en las especificaciones indica un circuito pero tengo una inquietud, este entrega una salida en frecuencia, como discrimino o programa en el pic 16f877a este valor, espero me puedan ayudar

Juan Carlos


----------



## Deltaeco (May 7, 2013)

Hola compañeros buenos dias, estoy teniendo problemas al programar un 12f683 y necesito desconectar el ADC de este pic para que funcione como un pic comun , utilizo el flowcode y no veo por donde tengo que ir para desactivar esta funcion, he programado 16f84 y sin problemas pero claro este no trae el ADC.

Cualquier consejo, opinion o ejemplo se lo agradezco en el alma.

Un saludo chicos.


----------



## shibatoyan (May 8, 2013)

Yo nunca pude, lo único es resistencia a tierra para que no entre ruido y el programa como debe ser.


----------



## jucaceledon (May 29, 2013)

Hola a todos, he estado intentando hacer un sensor de temperatura que me indique en un lcd el promedio de las 10 ultimas lecturas.

1.- al hacerlo en donde paso de flotante a cadena, para leerlo en el lcd se incrementa solo.
2.- si  le indico que muestre la lectura del sensor en flow lo hace pero solo la ultima lectura y no el promedio ( dado que asi se lo indico)
3.- Me muestra un valor que no corresponde me imagino que eso se debe a multiplicar por un factor para que de lo mismo.

En definitivas, quisiera solcitarle ayuda en como puedo hacer que me indique el promedio del sensor ( he buscado en los ejemplos pero ingresan variables int o byte, pero no he encontrado en flotante y en secuencia), o no se puede hacer


plis sos, gracias

juan  carlos

adjunto los archivos


----------



## shibatoyan (May 30, 2013)

La mecánica simple del Flowcode es:.
1-Leer los datos externos.
2-Guardarlos en un registro.
2a-Procesarlos matemáticamente sin modificarlos.
2b-Guardar los resultados en otro registro.
2c-Convertir en cadena, coma flotante, etc. 
3-Enviar lo que se desea al display.

No puedo ver el archivo adjunto pero para mi que el error lo estás teniendo en el procesamiento matemático de los datos obtenidos y el registro donde estás guardando el resultado para luego enviarlo al display.

Ese registro debe ser modificado a intervalos pre establecidos o envía los datos al display cuando estés seguro que el resultado del promedio ya está guardado en el registro que envías al display y no utilices ese registro para guardar ningún otro dato.


----------



## jucaceledon (May 30, 2013)

shibatoyan dijo:


> La mecánica simple del Flowcode es:.
> 1-Leer los datos externos.
> 2-Guardarlos en un registro.
> 2a-Procesarlos matemáticamente sin modificarlos.
> ...



sigo cada uno de estos pasos, solo me falta el promedio de lecturas que  es flotante, volverla a cero, para que empiece de nuevo, como hago eso

agradecere su ayuda

juan carlos


----------



## shibatoyan (May 31, 2013)

Los promedios son complicados porque debes llevar varios registros individuales tomados cada cierto intervalo para luego poder promediar sacando esos registros que ya no varíen.

Por ejemplo: a la 1 am 15º y se guarda en un registro individual, a las 2 am 14º y se guarda en otro registro individual, a las 3am 11º y se guarda en otro registro individual, asi hasta los 10 registros con sus datos individuales; recién allí sacas los cálculos llamando a cada uno de esos registro que ya no cambian y los agrupas en una sola ecuación, recién allí se envía ese resultado al display.

Seguramente deberás crear un reloj para mi ejemplo para que se sincronice en tiempo real (no creo que sea tan critico para tu proyecto) y hacer un ciclo para que se repita la lectura y escritura en cada registro cuando se lleguen a los 10 registros y se envíe al display. No sirve escribir permanente en los registros ya que el resultado estaría variando a cada instante.


----------



## mfi (Jun 1, 2013)

Hola, alguien me puede decir porque no me funciona este circuito? Estoy intentando encender un led, pulsar en el emisor y que se encienda el led en el receptor, a ver si podeis echarle un ojo.

saludos


----------



## elprofetellez (Jun 1, 2013)

Para empezar, en FC tienes configurados los pic con 0x3ffa, y en proteus con 3ffb.
El pulsador del PIC U2 está mal conectado, o se conecta en pull-up, o en pull-down, pero no e esa manera ya que deja RA0 "al aire".
Ninguno de los pic tiene su oscilador.
la terminal virtual, no sé que hace ahí, pero en dado caso, para poder "ver" la "a" que mandas, en sus propiedades hay que ponerla "invertida".
El led en la simulación nunca te va a encender porque esta a 10mA, ponle 1mA para verlo.
Para recibir "char", basta con timeout de 50, no de 100.
para enviar "char", ponle un pequeño retardo.
ojo que el led solo encendería mientras estés pulsando el botón.

por lo demás; no dices si ya lo montaste real, o solo en proteus; si lo montaste asi como está en proteus, pues obvio no funcionará.

realiza los cambios y probemos.

Saludos!.


----------



## mfi (Jun 1, 2013)

muchas gracias por tu tiempo, te lo agradezco.

Acabo de corregir lo que me digiste pero sigue sin funcionar, lo de 0x3ffa, copie y pegue en proteus, no se para que es esto. Despues lo del terminal virtual no entiendo lo que me quieres decir, tal y como estaba se visualizaba la "a", no se si estaba mal puesto...como digo cambié todos esos detalles pero sigue sin funcionar...la intencion que tengo con esto es conseguir la comunicacion de este modo y despues poner modulos RF. Los subo corregidos de nuevo.

Muchas gracias


----------



## elprofetellez (Jun 1, 2013)

La configuración del pic es incorrecta, debe ser 3f3a en ambos casos.
entra a opciones de compilador y desmarca la casilla que tiene la "palomita" (es la unica) y le das aceptar.
luego vas a chip => configurar y en el cuadro en blanco escribes: 0x2007,0x3f3a
tu velocidad de reloj es de 20 000 000 hz en un pic y en el otro tienes 2 000 000 hz; ojo con eso.
en proteus sigue mal el asunto, te faltan los capacitores del cristal, al menos de 22pF,
el MCLR del pic U2 no esta conectado.

en la configuracion de los pic, en proteus, escribe 3F3A  (en mayúsculas, a diferencia del anterior), en ambos.

vuelve a probar.


----------



## jucaceledon (Jun 1, 2013)

shibatoyan dijo:


> Los promedios son complicados porque debes llevar varios registros individuales tomados cada cierto intervalo para luego poder promediar sacando esos registros que ya no varíen.
> 
> Por ejemplo: a la 1 am 15º y se guarda en un registro individual, a las 2 am 14º y se guarda en otro registro individual, a las 3am 11º y se guarda en otro registro individual, asi hasta los 10 registros con sus datos individuales; recién allí sacas los cálculos llamando a cada uno de esos registro que ya no cambian y los agrupas en una sola ecuación, recién allí se envía ese resultado al display.
> 
> Seguramente deberás crear un reloj para mi ejemplo para que se sincronice en tiempo real (no creo que sea tan critico para tu proyecto) y hacer un ciclo para que se repita la lectura y escritura en cada registro cuando se lleguen a los 10 registros y se envíe al display. No sirve escribir permanente en los registros ya que el resultado estaría variando a cada instante.



en relacion a mi  consulta, logre hacer que en flow lea el promedio y vuelva de cero, pero al llevarlo a proteus , mi indica el valor -0.0, pruebo otros programas de lectura de sensor pero sin promedio y lee bien, la idea del promedio es que al variar tan rapido valor del sensor este entrega lectura en el lcd conb diferencia de aveces varios grados lo que complica la accion un calefactor, el que solo debe varia en grado es decir partir en 23 y parar en 24 grados

adjunto fotos de las pantallas y los archivos para ver si alguien me puede ayudar e indicar donde esta mi error.


Espero alguine me pueda ayudar, es urgente plis


----------



## mfi (Jun 2, 2013)

Buaah, se me colo un cero en el reloj! Todo corregido, ahora funciona, lo que pasa es que no funciona al tenerlo pulsado, solo se enciende el led al soltar el pulsador, se que existe una funcion en ccs que hace esto, pero aquí no puse nada... En la configuracion del pic no me dejo poner 3F3A, me daba error. 

Esto que me digiste que pusiera en el cuadro blanco 0x2007,0x3f3a para que es, deduzco que es una configuracion porq ahora no me deja entrar a configurar el pic...

Muchas gracias por tu tiempo, eres muy amable, te lo agradezco


----------



## mfi (Jun 9, 2013)

Bueno agradecer a elprofetellez que me ayudó a conseguir lo que buscaba, pero ahora se me presenta otro problema, estoy haciando la comunicacion serial con dos modulos RF, tan solo tengo 2botones en el emisor y dos leds en el receptor y funciona perfectamente pero hay veces que se encienden los leds solos, supongo que por interferencias, me leí todos los post sobre esto y creo que la solución es utilizar el codigo manchester, este usuario dice lo siguiente: 

Me tomo la libertad de copiar su comentario, espero no molestar.

"Bueno yo estube practicando con unos de estos modulos y tambien tube problemas con el ruido y lo que encontre en un foro es que se suele mandar un dato de "sincronizacion" antes del se quiere ejecutar, este dato de "sincronizacion" normalmente es 55h o AAh (en dinario son 01010101 y 10101010) y despues de este dato se manda el dato que se va a utilizar, es decir que el programa de tu receptor tiene que reconocer si recibio el dato de "sincronizacion" y si lo recibio tiene que esperar el siguente codigo para realizar la tarea que se desae e ingnorar cuarquier otro dato que reciba sin el codigo de "sincronizacion" antes del dato. Otro aspecto que me cauzo problemas es que no se puede mandar una sola vez el paquete de datos, se tiene que mandar varias veces, en mi caso lo mandaba 10 veces cada vez que precionaba un boton y me funciono bien".

Mi pregunta es como puedo hacer esto con flowcode 4, ahora mismo estoy simplemente enviando el caracter 'a' y recibiendo con un if, si es "a" encender el led 2 segundos.

A ver si alguien puede orientarme como hacer esta trama con flowcode, les estaría muy agradecido.

Saludos.


----------



## mfi (Jun 10, 2013)

nadie sabe como hacer esto? me sería de gran ayuda...


----------



## jucaceledon (Jun 25, 2013)

hola estimados, quería hacerle una consulta, gracias a don Mario logre hacer el promedio de mi sensor con el lm35 y 16f877a, todo bien, pero ahora me sucede que se reinicia el sistema, por lo que estado observando, cada vez que se enciende un equipo fluorescente o se pone en marcha algún equipo con bobina, sucede esto.

La consulta como puedo evitar este fenómeno, debo indicar que para los 5 volts he considerado el 7805 y una serie de condensadores pero aun así se reinicia.

Si alguien tiene una solución u orientación para solucionar se lo agradecería

Juan Carlos


----------



## shibatoyan (Jun 26, 2013)

Simple, coloca resistencias de 10k a masa en todos los pines del micro que no usas o estén al aire.


----------



## neon197335 (Jun 29, 2013)

Además pon condensadores en.la.fuente y en los pines de masa a vcc


----------



## jucaceledon (Jul 28, 2013)

neon197335 dijo:


> Además pon condensadores en.la.fuente y en los pines de masa a vcc



Hice lo que me indicaron y ya no se me reinicia, coloque resistencias y condensadores, ademas de usar optoacopladores.

Ahora a mi maquina le quiero poner luces rgb, lo que cuando es prender y apagar no es problema, todo se complica cuando quiero hacer que el led rgb prenda lento y se apague lento, en flow code  lo hice, en proteus tambien, solo que use un transistor npn el 2n222, cuando conecto la salida  del pmw al colector no me enciende el led pero al hacerlo que la salida pmw se conecte al emisor si se prenden (todo esto en proteus), la duda es si esta coneccion esta correcta, ya que todas las conecciones que he visto el Vcc se conecta al colector y el emisor a negativo por el funcionamiento mismo del transistor.

es adjunto archivo, les agradecere indicarme si mi programa esta bien y la coneccion en proteus esta bien. (esto por que cuando lo lleve al fisico no me funcionó)

a lo mejor es algo pequeño pero me tiene mariado, espero me puedan orientar por favor


juka


----------



## neon197335 (Jul 28, 2013)

El pwm va a la base. Del 2222 y el LED al  colector con su resistencia de LED y la de base luego veo el rar tuyo pues estoy del teléfono


----------



## dinoelectro (Jul 28, 2013)

.. no pierdan el tiempo con este sofware, aparentemente es facil de programar, pero a la larga lo unico que termina haciendo es complicar mas las cosas...


----------



## neon197335 (Jul 28, 2013)

Pienso lo mismo


----------



## jucaceledon (Jul 28, 2013)

neon197335 dijo:


> El pwm va a la base. Del 2222 y el LED al  colector con su resistencia de LED y la de base luego veo el rar tuyo pues estoy del teléfono



lo que yo hice fue usar dos salidas, pin 40 y 39,  para comandar encendido (pin 17) y apagado (pin 16), a dos  2n2222, de ahi con tres salidas ( azul, verde, rojo) la 21, 22 y 27 (que son tre 2n2222) para comandar que luz debe encenderce y la salida del pwm a emisor de cada uno de los 2n2222 de los pines 16 y 17 de ahi a el emisor de los tres 2n222 de cada color, en proteus funciona o parece funcionar, pero en fisico no.

Para salir de la duda realice un ejercicio en proteus donde utilizo un 2n222 como conmutador alimeto el emisor con vcc para los led y funciona, cambio el vcc al colector y de ahy a los led y funciona.

dejo el archivo se llama prueba, de esto quede mas confundido, ayuda por favor

juka

PD, en relacion al software fc, hasta el momento todo lo que he realizado me a resultado, claro eso si con la ayuda del foro.

Debo indicar que al solo hacer encendido, todo me resulto tanto el software como en el fisico, el problema es cuando trato de hacer el cambio, tambien adjunto el archivo inicial, se llama luces inicial, tanto en flow como en proteus


----------



## neon197335 (Jul 28, 2013)

mi hermano mira a ver si asi te funciona mejor le hice un cambio a luces inical
	

	
	
		
		

		
			







ahi te puse el arreglo en proteus


----------



## jucaceledon (Jul 28, 2013)

neon197335 dijo:


> mi hermano mira a ver si asi te funciona mejor le hice un cambio a luces inicalhttps://www.forosdeelectronica.com/...FFABcf6of9dE/9CFS0UUARWv/AB5w/wDXNf5UUUUAf//Z
> 
> 
> 
> ahi te puse el arreglo en proteus



realice las modificaciones que me indico y esto es lo que me resulto, aparentemente se ve el cambio de intensidad en los led

espero su cometario

todo lo deje en luces1-1
y flow luces, cambie el tiempo de demora a 10 ms

Juka


----------



## jucaceledon (Jul 29, 2013)

jucaceledon dijo:


> realice las modificaciones que me indico y esto es lo que me resulto, aparentemente se ve el cambio de intensidad en los led
> 
> espero su cometario
> 
> ...


Se le agradece neon197335, por  au grandiosa ayuda, adjunto archivo corregido, le conecte unos motores para ver el efecto optico

a quien le sirva utilicelo

Juan Carlos


----------



## neon197335 (Jul 29, 2013)

Utilizo el cambio que le dejé en proteus?



Me alegro k resolviera aunk no crea todos aprendimos


----------



## neon197335 (Jul 30, 2013)

Amigo vi el circuito en proteus lo que no entendi para que usas dos salidas pwm si con una creo que te funcionaría igual


----------



## gomezguerrero (Jul 31, 2013)

Hola a todos, hace tiempo que con *Flowcode* intento realizar un reloj temporizador, y para ello he utilizado uno de los ejemplos que incorpora el software, pero cuando lo paso a físico no funciona bien, también me han comentado que debería de haber utilizado un RTC, pero la verdad es que no sé como hacerlo. Subo el programa en el que estoy trabajando a ver si alguno de vosotros me puede dar alguna idea de como poder hacer que funciona bien.

Saludos.

se me olvido subir mas información, para ello lo explico en "reloj temporizador"


----------



## andresenez (Ago 1, 2013)

yo programe un reloj con flowcode para encender y apagar una carga a una hora programada ya lleva 6 meses sin problemas con un pic y un ds1307 si quieres te paso el hex y el diagrama de flujo


----------



## gomezguerrero (Ago 1, 2013)

Muchas gracias, enviamelo la verdad es que me vendrá muy bien. Saludos.


----------



## neon197335 (Ago 1, 2013)

Amigo ponlo para todos es interesante


----------



## andresenez (Ago 1, 2013)

buenas amigo les dejo el programa en flowcode espero lo aprovechen si tienen alguna duda me escriben yo ya tengo 6 meses con el circuito trabajando perfectamente


----------



## gomezguerrero (Ago 1, 2013)

Gracias andresenez, lo pondré en práctica y ya contare los resultados. Saludos.


----------



## andresenez (Ago 1, 2013)

ok si necesitas hacer las modificaciones me avisas te envie las conexiones en proteus tu no necesitas el pwm solo eliminalo


----------



## gomezguerrero (Ago 1, 2013)

Si, intentare modificarlo para hacerlo lo mas parecido al archivo que subí, en realidad es lo que necesito, si no lo consigo te pediré ayuda.  Muchas gracias por tu colaboración.


----------



## andresenez (Ago 2, 2013)

aqui mando uno modificado a ver si te sirve y con una pequeña explicacion de las partes que puedes modificar ya que el reloj funciona perfecto busca el datasheet de el ds1307 para coneccion de bareria


----------



## gomezguerrero (Ago 3, 2013)

Buenos dias andresenez, muchisimas gracias por tu trabajo y por  el aporte de  la explicación. 

Me gustaría preguntarte si es muy complicado modificar que la hora apareciera en formato 24h, es porque aquí  en España no utilizamos "am-pm". Por lo demás te quedo muy agradecido. Y en cuanto lo pase a físico te comentaré el resultado.


----------



## andresenez (Ago 3, 2013)

bueno hay que modificar alguito primero se cambia por el ds1307 revisa el dataseet y luego modificar conf_func y con sistem ya te envio la foto del cambio


----------



## gomezguerrero (Ago 4, 2013)

Se me hace muy difícil los cambios que hay que hacer.  Gracias de todas formas.


----------



## andresenez (Ago 7, 2013)

ya modifique a 24 horas amigo necesito que lo quemes y lo pruebes es la forma de probarlo a ver si pasa la prueba en proteus me da unos errores pero ya me ha pasado eso y los programas han funcionado bien en fisico si hay errores me avisas para corregir


----------



## gomezguerrero (Ago 8, 2013)

Hola andresenez te estoy muy agradecido,  tengo que recibir el RTC y en cuanto me llegue hago las pruebas y te comento los resultados.  

Saludos.


----------



## gomezguerrero (Ago 8, 2013)

Hola de nuevo andresenez, he visto en el simulador que el ajuste de la hora lo hace bien, pero veo que a al programar 1act y 2act se salta las 00h osea pasa de las 23h a 01h.

Muchas gracias.


----------



## andresenez (Ago 8, 2013)

si yo se pero esa act no influye en el programa solo tengo q declarar q cuando sea 24 pase a 00 me confundi porq pense q era como las de 12 horas tengo un cangrejito es para ajustar la hora el DS necesito declararle que las 24 horas no me recuerdo como hice eso porq el protocolo I2C me ayudo un amigo que domina mas que yo


----------



## gomezguerrero (Ago 8, 2013)

Hola andresenez, ya cuando lo pase  fisico te contaré. Saludos.



Hola andresenez, ya cuando lo pase a físico te contaré.  Saludos.


----------



## andresenez (Ago 8, 2013)

ya arregle lo de la act ahora si anda bien


----------



## gomezguerrero (Ago 8, 2013)

Perfecto, muchas gracias.


----------



## jucaceledon (Ago 18, 2013)

hola amigos, estaba usando el sensor lm35, para mi pequeño trabajo de sensor, pero ahora se me complico por que me piden con humedad y adquiri el sth15, por lo que entiendo por cada pulso este sensor entrega una dato de temp y despues otro de humedad.

Alguien de Ustedes sabe como programar este sensor en flow, requiere algun algoritmo especial o solo es ir leyendo alternadamente cada dato.


espero me puedan ayudar

juan carlos

no tengo mas alternariva que este sensor


----------



## MDM (Sep 8, 2013)

¡Hola a todos!
...al igual que muchos, durante este mes me he iniciado en el programa Flowcode y me he topado con dos temas que agradeceré me puedan explicar:

1) Al usan una escala de voltímetro distinta a la preestablecida (500 10mV) se usa una expresión matemática para cambiar la escala:
Voltaje = adc_level*5/(1023/100)*3
Bars = Voltaje/93
...en esta relación entiendo la proporcionalidad de pasar de 5 a la nueva escala, pero no entiendo de donde aparecen los otros números (1023 y 3), al igual que tampoco tengo claro por que dividen el voltaje  por 93 ¿?

2) la otra consulta (¡que en realidad es una solicitud!) es pedirles un ejemplo en donde en un displey se quede fija la primear línea y la segunda se desplace de un extremos al otro (solo he logrado que se muevan ambas con el comando DesplazamientoPantalla (1/0)

.....gracias de antemano, un saludo para todos MDM


----------



## ByAxel (Sep 13, 2013)

Hola.
Hace poco que estoy usando el Flowcode 5 y si, realmente es sencillo pero a veces soy algo exigente.
Estaba haciendo una prueba diseñando un matricial con LEDs 8x8 simple estático pero me surge una inquietud.
Al ser estático quise poner los valores en un array en la memoria ROM como se hace en C pero, como se hace esto en flowcode .
Pregunto.
¿Como puedo poner valores en la memoria ROM como cadena/tabla/array?
¿Hay alguna forma de acceder a la memoria ROM (memoria de programa)?
Encontré algo llamado LookUp, lo realicé pero no surge efecto. Sabe alguien como debo de manipular.
¿LookUp solo funciona para algunos PICs?

Saludos.


----------



## gomezguerrero (Sep 19, 2013)

Hola andresenez! he estado probando y probando el tema del reloj 24horas, he utilizado varios programadores de Pic, he utilizado varios 16F877, he utilizado varios displays, he revisado la pcb donde monté el circuito, y por último pedí ayuda a un conocido que es ingeniero electrónico y no somos capaces de hacer funcionar este programa. Mi pregunta es ¿puede haber algo que se te haya pasado y en verdad no funcione? Vuelvo a subir el archivo por si tienes algo de tiempo y puedes volver a revisar. Estaba muy interesado porque era justo lo que necesitaba, pero como he comentado al principio no tengo maneras de hacerlo funcionar.
Solo salen cuadrados negros en la linea superior del display.
De todas formas te estoy muy agradecido, y pediría si alguien del foro ha conseguido hacerlo funcionar también le agradecería lo comentara.

Saludos.


----------



## andresenez (Sep 19, 2013)

buenas noches amigo deja revisar y quemarlo en un pic pero yo te comente que probaras el primero que te envie de 12 horas que me funciono a la perfección  yo ahorita ando full pero esta semana que tenga tiempo dedico un rato a ver site puedo ayudar
tiene unas cosas que no colocastes 
primero estaba en rc el oscilador 
y segundo en configuracion experto habia que variar unas cosas



circuito 24 horas con los cambios


----------



## andresenez (Sep 21, 2013)

amigo gomez monte el reloj a circuito impreso y funciono solo necesita colocar el ds1307 en 24 horas pero el programa corre bien yo no me recuerdo como colocar eso hay q*UE* revisar el datasheet y mandarle al ds una sola ves esa instruccion, el ds guarda esos datos y se conecta al pic con el programa y deberia funcionar bien


----------



## gomezguerrero (Sep 22, 2013)

Hola andresenez, voy a probar grabar el pic con otro grabador, pero necesito tu ayuda, me han dejado un PicKit2, pero tendría que adaptar el patillaje puesto que este grabador solo admite un máximo de 20 pines, ¿me podrías decir como puedo adaptar este grabador para utilizar el 16F877?

De todas formas decirte que tampoco me funcionó el de 12 horas, por ello empiezo a sospechar de otra cosa, ya que de cualquier manera solo lucen cuadrados en la linea superior.

Saludos.


----------



## andresenez (Sep 22, 2013)

prueba con este hex, yo*-*he tenido problemas pero no con el programa creo que lo tuyo es un problema de hardware yo uso un clon de pickit2 y el tiene 5 pines que se conectan a un protoboard vcc vdd vpp data y clock prueba con un programa sencillo de lcd y verifica que corra bien la pantalla y si todo funciona bien quema el otro programa la cosa de flowcode es la configuracion experto que hay q*UE* modificar unas cosas ya las modifique en el hex este


----------



## invesel (Sep 24, 2013)

Hola amigos, he intentado poner en marcha el reloj y a mi tampoco me funciona, no he querido entrar en mas detalles e intentar localizar la posible falla, pero hacer saber al amigo andresenez que a mi tampoco me ha funcionado.

Saludos para todos.


----------



## andresenez (Sep 24, 2013)

a ver yo hace dos dias corri uno que voy a pasar tal cual como lo queme la diferencia es de 12 horas si este les corre yo vere como corregir algun conflicto pero yo lo probe en circuito impreso ya que ese proyecto lo desarrolle para mi tesis de ing hace un año y lo que he cambiado es que funcione a 24 horas y eliminar lo que no le interesaba a el amigo gomez


----------



## gomezguerrero (Sep 25, 2013)

Hola amigo andresenez, problema casi resuelto, estaba utilizando el PIC 16F877-04, y el programa esta colocado el reloj a 20Mhz, por lo que tendría que utilizar el PIC 16F877-20. He cambiado el cristal de cuarzo por un de 4Mhz y he modificado provisionalmente la frecuencia de trabajo en el programa y el LCD luce perfectamente, pero ahora se presenta otro problema, que es que en el display no aparece correctamente ni la fecha ni la hora, pero te pregunto *¿es necesario utilizar el PIC 16F877-20 y volver a que el programa funcione a 20Mhz?*

Te subo una foto del display en funcionamiento. (El pdf de pickit2  lo he subido sin querer y no sabia como se quita)


----------



## gomezguerrero (Sep 26, 2013)

El display presenta exactamente lo mismo que cuando se ejecuta el programa en el simulador de Flowcode.

Aunque se intente programar bien la fecha o la hora al salir de la programación siempre muestra lo mismo.


----------



## andresenez (Sep 28, 2013)

te ap*E*tecen asi por*-*q*UE* no esta comunicandose con el ds 1307 deberia aparecer 00:00:00 am algo asi mueve el ds a ver trabaja primero con el de 12 horas que estaba a toda prueba por*-*q*UE* ese fue parte de mi tesis de ing yo solo elimine cosas que no me pedias en programa trata de ver como mandarle la informacion al ds para q*UE* se active modo 24 horas. te explico, el programa es una cosa y el ds otra hay que mandarle al ds unos bit con las direcciones para que trabaje a 24 horas yo en el programa que te envie lo hice para 12 pero no me acuerdo entonces cuando ajustas a 23 horas ejemplo al salir del menu aparecen 03 pero eso es una tonteria yo voy a ver como te mando pero ando full con mi trabajo ahorita



no veo el cristal del ds de 32678 o algo asi en el datasheet aparece sin el cristal no va a hacer nada


----------



## gomezguerrero (Sep 28, 2013)

Hola andresenez, el cristal del DS está colocado por detrás de la pcb, tambien decirte que he probado con el primero que me enviaste de 12 horas y me sigue apareciendo igual.
Ahora bien,  el primer archivo que subiste indicaba 3 programas, principal, julio y reloj.
Cual de los 3 es el que utilizaste? 

Sludos.


----------



## andresenez (Sep 28, 2013)

revisa el ds por*-*q*UE* flowcode muestra eso debido a que en su librería no tiene ds1307, cuando hay comunicación aparece 00:00:00am y debes conectar las entradas del teclado a su respectiva resistencia y tierra por*-*q*UE* sino las funciones se vuelven locas


----------



## gomezguerrero (Sep 29, 2013)

Me podrías decir si la patilla *7* del DS va al *16F877*? en el esquema que subiste en PROTEUS la patilla 7 del DS lleva una resistencia de 10K a +5V. Por lo demás el DS está conectado como en tu esquema, osea, la 5 del DS con la 23 del PIC y la 6 del DS con la 18 del PIC y por supuesto con sus resistencias de 10K a +5V. 
Las resistencias del teclado también están colocadas, donde tengo la duda es en esto que te comento del pin 7 del DS.

Muchas gracias, cada vez estamos mas cerca de hacerlo funcionar.

Saludos.


----------



## andresenez (Sep 29, 2013)

esa resistencia no va, yo las coloque de 4,7k en mi circuito puede ser eso que te este echando broma el cristal tiene que estar lo mas cerca del ds y conecte a masa su carcasa..te voy a mandar cuando consiga el programa para poner el ds a 24horas aunque ese programa puede ser echo en c, ensamblador, niple etc


----------



## gomezguerrero (Sep 29, 2013)

He conseguido que funcione, le he quitado la resistencia de la patilla 7 y ha empezado a funcionar bien.  De todas formas sigue dando error, pero puede ser por lo que tu decias de conseguir que el DS trabaje a 24h.
Mientras se consigue colocar el DS a 24h, me podrías decir que programa ulizaste para 12h? (principal1, julio o reloj.....)
Gracias .


----------



## andresenez (Sep 29, 2013)

si es eso pero estoy tratando de buscar como era utiliza reloj


----------



## gomezguerrero (Oct 1, 2013)

Hola andresenez, he realizado una prueba con el archivo de 12h ("*reloj*") el cual es el que a ti te está funcionando bien, y efectivamente la hora y la fecha la puedo programar perfectamente, pero cuando entro en act1 / act2 no se puede programar. Subo una foto para que veas lo que aparece en el display.

Saludos.


----------



## andresenez (Oct 2, 2013)

amigo eso es normal para la primera vez que abres esas activaciones solo tienes que subir y desplazar y le das ok y se acomoda y luego no aparece mas


----------



## gomezguerrero (Oct 3, 2013)

Gracias amigo, no se me ocurrió el realizar ese paso que me comentas, efectivamente lo he hecho y funciona bien, incluso le he quitado la pila de litio y lo he dejado sin alimentación un buen rato y al volverlo a conectar no aparecen esos datos raros, te vuelvo a agradecer tu infinita paciencia y la ayuda que me has prestado. Ya lo que faltaría es colocar el DS a 24h y listo, pero eso cuando tu puedas.

Saludos y agradecimientos.


----------



## Meta (Oct 3, 2013)

Como curiosidad., está el FlowCode 6 ya no hace mucho.







Saludo.


----------



## jucaceledon (Oct 16, 2013)

jucaceledon dijo:


> hola amigos, estaba usando el sensor lm35, para mi pequeño trabajo de sensor, pero ahora se me complico por que me piden con humedad y adquiri el sth15, por lo que entiendo por cada pulso este sensor entrega una dato de temp y despues otro de humedad.
> 
> Alguien de Ustedes sabe como programar este sensor en flow, requiere algun algoritmo especial o solo es ir leyendo alternadamente cada dato.
> 
> ...



hola, la verdad que un no puedo programar este famoso sensor hst115, se que es una señal analogica que debo enviar un pulso 1 para temperatura, el proximo pulso deberia ser o para humedad y asi sucesivamente para hecr un promedio, la consulta estoy en lo cierto alguien me puede orientar gracias

Juan Carlos


----------



## hasdhs (Nov 20, 2013)

tengo un problema que el programa no me abre ningun archivo que descargo de esta pagina me sale un error hay algun procedimiento especial???


----------



## mfi (Mar 3, 2014)

alguien me puede pasar un ejemplo de contador con el 7seg de 4 digitos? que se incremente en 1 a medida que se pulsa un interruptor, los e hacer con un lcd pero con el display no...

saludos


----------



## JAGKOS (Mar 3, 2014)

Alguien que tenga un ejemplo del pwm de preferencia para control de velocidad de motores de dc y uno de motores a pasos por favor de ante mano gracias y un saludo.


----------



## andresenez (Mar 4, 2014)

JAGKOS dijo:


> Alguien que tenga un ejemplo del pwm de preferencia para control de velocidad de motores de dc y uno de motores a pasos por favor de ante mano gracias y un saludo.


te envio unos que encontre hacer pwm con flowcode es muy facil hay muchos ejemplos por la red, la frecuencia de trabajo te la puede dar el cristal con que trabajes y hay otra configuración que puedes dividir la frecuencia del cristal, t tambien puedes cambiar el periodo a tu gusto.


----------



## andresenez (Mar 4, 2014)

mfi dijo:


> alguien me puede pasar un ejemplo de contador con el 7seg de 4 digitos? Que se incremente en 1 a medida que se pulsa un interruptor, los e hacer con un lcd pero con el display no...
> 
> Saludos


te lo tengo amigo recién horniadito


----------



## mfi (Mar 4, 2014)

Gracias andresenez pero lo que buscaba era que contase hasta 1000, el que me pasaste cuenta hasta 9 y vuelve empezar, no se si es así o no me funciona en mi ordenador bien...

saludos


----------



## mfi (Mar 4, 2014)

andresenez dijo:


> te lo tengo amigo recién horniadito



Oye si que funciona correctamente, al bajarle la velocidad se ve bien.

Muchas gracias


----------



## andresenez (Mar 4, 2014)

de nada el macro te puede servir para otros proyectos el que te mande cuenta y decrementa el valor con otro pulsador si necesitas que cuente hasta el mil tienes que colocarle una decision vari=1000 depende de la aplicacion que le quieras dar al program


----------



## mfi (Mar 13, 2014)

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


----------



## andresenez (Mar 13, 2014)

mfi dijo:


> 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


----------



## mfi (Mar 20, 2014)

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

gracias


----------



## ByAxel (Mar 20, 2014)

mfi dijo:


> 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.


----------



## andresenez (Mar 20, 2014)

yo te envio un ejemplo es facil trabajar con interrupciones



este es un ejemplo que te puede servir


----------



## andresenez (Mar 21, 2014)

este es el que necesitas contador con 7 segmento flanco en bajada


----------



## jucaceledon (Abr 27, 2014)

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


----------



## mfi (Ago 19, 2014)

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


----------



## mfi (Ago 22, 2014)

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


----------



## mfi (Ago 24, 2014)

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?


----------



## jucaceledon (Sep 2, 2014)

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


----------



## elprofetellez (Sep 2, 2014)

jucaceledon dijo:


> 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.





mfi dijo:


> 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!


----------



## jucaceledon (Sep 5, 2014)

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


----------



## elprofetellez (Sep 5, 2014)

jucaceledon dijo:


> 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!


----------



## jucaceledon (Sep 7, 2014)

elprofetellez dijo:


> 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


----------



## invesel (Nov 17, 2014)

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.


----------



## mfi (Nov 25, 2014)

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?


----------



## shibatoyan (Nov 27, 2014)

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.


----------



## mfi (Nov 28, 2014)

shibatoyan dijo:


> 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 

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?


----------



## shibatoyan (Nov 29, 2014)

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.


----------



## perea (Nov 29, 2014)

mfi
te envio un ejemplo, ojala te sirva


----------



## mfi (Dic 5, 2014)

Gracias compañeros, acabo de hacer un programa sencillo para probar y funciona perfectamente, eso si el programa grande que tengo funcionando perfecto en el FC no me presenta nada en el isis, la llevo clara...

algun consejo?


----------



## shibatoyan (Dic 10, 2014)

Mi consejo es que copies el proyecto y lo modifique lo suficiente como para que te muestre algo muy básico en el display, luego habilitas funciones de a poco y allí va a aparecer el error. Osea, comienza con algo muy basico y llevalo a lo complejo; yo tuve el mismo problema, jamás me funcionaron los programas complejos de una, y siempre fue por errores tontos que no los podía ver en lo complejo.


----------



## mfi (May 19, 2015)

Hola, mi intencion con este programa es que cada vez que se pulse un boton el servo gire unos determinados grados, que siga dando vueltas en el mismo sentido indefinidamente cada vez que se pulse el boton, el problema es que al dar unos 3 apretones al boton el servo salta unos cuantos grados asta el principio, alguien me puede explicar como se hace esto? 

Saludos


----------



## jamesoro (Nov 19, 2015)

Buenos dias, tengo una curiosidad se puede hacer que flowcode guarde el estado de las entradas y las muestre despues de un tiempo en sus salidas, si alguien tiene algun ejemplo me serviria mucho, gracias


----------



## Argonaut (Ene 27, 2016)

Meta dijo:


> Hola:
> 
> Este PDF en español del Flowcode 4. Cuando consiga una versión completa del flowcode y nada de demmo, haré manuales.
> 
> ...



Hola, Buenas... ¿Cómo hago para descargar los manuales?... doy en descargar y solo baja un archivo php creo... Un Saludo.


----------



## Fogonazo (Ene 27, 2016)

Argonaut dijo:


> Hola, Buenas... ¿Cómo hago para descargar los manuales?... doy en descargar y solo baja un archivo php creo... Un Saludo.



Debes descargar ambos archivo en una carpeta, le das doble click al que tiene un N° 1 y se descomprime.

*Edit:*

Debes tener instalado en tu PC el WinRAR o WinZIP


----------



## Argonaut (Ene 27, 2016)

Fogonazo dijo:


> Debes descargar ambos archivo en una carpeta, le das doble click al que tiene un N° 1 y se descomprime.
> 
> *Edit:*
> 
> Debes tener instalado en tu PC el WinRAR o WinZIP



Gracias... he pillado como hacer, tengo que dar con el botón derecho, luego guardar como, y poner un punto e escribir rar, así descarga como archivo rar y no php como estaba ocurriendo, Gracias una vez mas por ter salido en mi auxilio


----------



## fj7495sa (Feb 18, 2017)

Hola, buenas noches.
Aquí pongo un archivo para que me orientéis cómo terminarlo con vuestra sabiduría.
He buscado mucho por Internet, pero no encuentro lo que quiero.
Los programas son en flowcode v4 y proteus v8

Saludos y espero vuestra colaboración. Gracias.


----------



## fj7495sa (Feb 21, 2017)

Hola buenos dias. D@rkbytes he subido estos archivos y por error mio fue a parar a otro sitio y Usted lo ha pasado al sitio donde tiene que estar, bien el problema que veo es, que donde yo lo coloque he tenido 6 visitas y aqui en esta pagina aparece 0 y he recibido un email de Ud. pero las direcciones salen borrosa con lo cual no puedo leer nada y me ha entrado como Spam.
Saludos


----------



## D@rkbytes (Feb 21, 2017)

Cualquier mensaje en el Foro pasa a tener prioridad por tiempo de aparición.
Por lo tanto, todos los mensajes podrán ser vistos en primer plano durante cierto tiempo.

Si aún no existe una respuesta a tu consulta, puede ser debido a lo siguiente:
1) Nadie vio tu consulta.
2) El tema sea aburrido.
3) La pregunta sea mala.
4) Nadie sabe la respuesta.
6) Nadie tiene ganas de escribir la respuesta.
7) Nadie tiene tiempo suficiente como para responderte.
8) Todas las anteriores.

Así que debes tener paciencia y estar consciente que no todos los temas obtienen una respuesta.


----------



## fj7495sa (Feb 22, 2017)

Hola, buenos dias,
gracias por su atencion y contestacion tan rapida, a la respuesta de mi pregunta espero que alguien lo encuentre interesante y tenga tiempo y quiera hecharme una mano como siempre lo haceis.
Saludos y gracias


----------



## NELSON QUINTERO (Mar 1, 2017)

Hola, mi intencion con este programa es que cada vez que se pulse un boton el servo gire unos determinados grados, que siga dando vueltas en el mismo sentido indefinidamente cada vez que se pulse el boton, el problema es que al dar unos 3 apretones al boton el servo salta unos cuantos grados asta el principio, alguien me puede explicar como se hace esto?


----------



## PatrickDLC (Jun 30, 2017)

Que tal, estoy realizando un bargraph en flowcode con Arduino que funciona así: 
Son 10 leds alineados que, mediante un potenciómetro, se van encendiendo hasta el límite. Estoy estancado en la parte del ciclo for ... no sé como implementarlo en el flowcode, ¿Alguien me podría ayudar?

Estoy enviando los archivos + el código (.ino)


----------



## invesel (Sep 27, 2017)

Buenas tardes, intento realizar un conversor BCD, para ello he utilizado un PIC16F677. La cuestion es que en el simulador de Flowcode funciona perfectamente, pero lo tengo hecho fisicamente y me da algunos errores, a veces funciona bien y otras salta un valor cualquiera encendiendo cualquier led aleatoriamente.

No se como hacerlo para que no de esos errores.

Podrían echar un vistazo al archivo?

Muchisimas gracias.


----------



## Nietodom (May 11, 2018)

shibatoyan dijo:


> 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.


Hola. Gracias por el aporte pero no soy electrónico . Si puedes ser más esplicito te lo agradecería . Lo que me envías es del teclado?.gracias


----------



## carlosezabaleta (Sep 28, 2019)

Subo éste esperando le sirva a otros que busquen algo así.


----------

