TODOPIC
Microcontroladores PIC => - Flowcode - => Mensaje iniciado por: cicloide2 en 13 de Octubre de 2019, 18:39:18
-
Hola alguien que pueda mostrarme como se hace esto con flowcode8, por favor? necesito saber como implementar un potenciometro con una entrada ADC (en realidad despues lo quiero poner en un PWM) pero empecemos por un potenciometro y un led, para ver como se hace.
Gracias.
-
¿Tal vez algo como lo adjuntado?
-
¿Tal vez algo como lo adjuntado?
Gracias Fer, una consulta intento excluir de Windows Defender la carpeta donde guardo todo los programas hechos con Flowcode 8 ya que si no lo hago no me deja compilar, detecta como amenaza todo lo que cambie en esa carpeta.
Busque y encontre este metodo pero asi y todo sigue estando protegida y no puedo compilar ningun codigo alguna solucion :? ? (perdona que me desvie del tema es que si no corrijo esto tengo que tener windows defender desactivado para que me compile)
Saludos.
-
No utilizo el Windows defender, tengo el NOD, cuando instalé Flowcode no tuve que hacer nada.
No sé cómo se hará, veo que ya has puesto un video que lo has sacado de Google. Hay muchos más al respecto, mira y prueba con algún otro método. No te puedo decir nada más al no disponer de dicho programa.
F.
-
En todo caso creo que deberías de excluir donde tienes la carpeta de los ficheros a compilar y la carpeta dónde se encuentra el ejecutable se Flowcode.
Al menos eso creo que debería de bastar.
No obstante luego miro si dentro de las configuraciones de Flowcode hay algo que pueda afectar , pero no creo.
F.
-
En todo caso creo que deberías de excluir donde tienes la carpeta de los ficheros a compilar y la carpeta dónde se encuentra el ejecutable se Flowcode.
Al menos eso creo que debería de bastar.
No obstante luego miro si dentro de las configuraciones de Flowcode hay algo que pueda afectar , pero no creo.
F.
Si se me ocurrio instalar Kaspersky free por 30 dias y cero problemas, pero igual tengo que investigar lo de windows defender no puede ser, pruebo y comento. Respecto al archivo que me enviaste esta genial :) como tarea se lo quiero agregar a un PWM (voy a ir subiendo avances) .
Gracias. :-/ :mrgreen:
-
Esperamos los avances.
F.
-
Esperamos los avances.
F.
Hola Fer. vos lo probaste en proteu? yo primero lo pase a PIC16F877A lo simule en Flowcode y funciona, hora, lo paso a proteus simula (de hecho el led actua) pero el display no muestra nada :? podrias mostrarme como tenes conectado el display en proteus para que funcione?.
Gracias.
-
Ahora soy yo el que tengo un problema con el antivirus, me borra el ejecutable y no puedo abrirlo.
Cunado lo solucione te podré decir algo.
De todas formas el displey en proteus tienes que tenerlo conectado a:
Datos->pines
d0-> B0
d1-> B1
d2-> B2
d3->B3
RS-> B4
E-> B5
-
Ahora soy yo el que tengo un problema con el antivirus, me borra el ejecutable y no puedo abrirlo.
Cunado lo solucione te podré decir algo.
De todas formas el displey en proteus tienes que tenerlo conectado a:
Datos->pines
d0-> B0
d1-> B1
d2-> B2
d3->B3
RS-> B4
E-> B5
Solucionado, gracias :-) ((:-)).
Te pasa lo que me pasaba a mi, con Widows Defender?. En mi caso no me permitia generar el .hex (el .c si) pero no el .hex y ahun no se como excluirlo de window defender. Es por eso que me baje Kaspersky free official x 30 dias que tengo que renovar una vez que caduca. Queres que abra un hilo para ver si alguien sabe como solucionar esto?.
Saludos.
-
Solucionado, gracias :-) ((:-)).
Me supongo que tendrías mal conectado el LCD
Por mi no hace falta que habrás ningún hilo nuevo.
A mi directamente ni me genera el hex, ni el c, ni asm, ni na.
Directamente me borra el ejecutable Flowcode.exe.
F.
-
Solucionado, gracias :-) ((:-)).
Me supongo que tendrías mal conectado el LCD
Por mi no hace falta que habrás ningún hilo nuevo.
A mi directamente ni me genera el hex, ni el c, ni asm, ni na.
Directamente me borra el ejecutable Flowcode.exe.
F.
:shock: :shock: :shock: :shock: Probaste en desinstalarlo y volver a instalarlo?. Aca lo prometido, deseo que puedas solucionar tu tema con flowcode, asi puedo seguir consultandote.
Saludos FT.
-
Deberías editar tu mensaje y eliminar la referencia a una descarga no legal. :lol: :lol:
Mañana descargo lo que has adjuntado y te comento.
Igual debes mirar tu carpeta de MP.
F.
-
Deberías editar tu mensaje y eliminar la referencia a una descarga no legal. :lol: :lol:
Mañana descargo lo que has adjuntado y te comento.
Igual debes mirar tu carpeta de MP.
F.
Bueno voy a ponerme a realizar esos pasos, pero mientras tanto sigo asi (es un dolor de huesos hacer todo eso, lo voy a hacer pero no ahora) no molesta (por ahora) . Respecto a mi archivo descubri que en flowcode funciona pero en proteus no, el display se queda en cero que podra ser?
Saluds Fermin.
-
Puedes adjuntar el fichero de proteus para ver que es lo que sucede y que no te muestre los valores.
-
Puedes adjuntar el fichero de proteus para ver que es lo que sucede y que no te muestre los valores.
No tenemos el mismo proteus (no se si recordas, cuando vimos el primer PWM sin ADC), mi version es la 8.8 sp1. Basicamente es un pic16f877a un potenciometro un led y el display, nada mas-
-
Creo que el problema con la no visualización en Proteus se debe a los tiempos de refresco del LCD. Para Proteus no deben estar optimizados con la compilación de Flowcode.
En Flowcode al ser un simulación propio no lo tiene en cuenta y por ese motivo no se ve nada en Proteus.
Al menos esa es mi opinión.
¿No lo puedes probar d forma física?
F.
-
Hola Fermin, aca te subo el archivo que tu me enviaste mas el archivo de proteus. Aparentemente a de ser lo que tu dices, prueva y ve que el led se enciende y se apaga (pero a destiempo) y en el LCD no se muestra nada directamente.
Con el archivo anterior (el que yo subi, que no es mas que tu mismo archivo pero hecho para el micro que tengo a mano que es un 16F877A ) pasa lo mismo, a diferencia que en este el display muestra cero en ambas lineas, pero el led no se enciende.
Otra cosa que note que tiene problemas es en Flowcode al querer setear un frecuencia en particular (20K, son los que me interesan) en cada simulacion cambia por si solo el valor sin que haga nada.
Como probarlo en fisico puedo, tengo un pote de 10K un micro 16F877A un led y alguna r por ahi, el punto es que no voy a poder saber si la frecuencia del PWM es la que sete, por que no tengo osci.
-
Acabo de ver lo adjuntado.
En el LCD no se aprecia nada. Me reafirmo en lo indicado en el post anterior.
Referente al problema de Flowcode no entiendo muy bien el problema que se te origina.
Si no tienes oscilador, quizás tengas un micro que tenga oscilador interno y puedas probar de forma física.
F.
-
Creo haber encontrado tu error con el PWM en tu ejemplo:
1º Tienes seleccionado 2 módulos PWM uno en el panel 3D que has llamado PWM1 y el otro lo tienes seleccionado en el panel 2D, donde tienes el LCD, en este le has llamado PWM2.
2º En el diagrama de flujo tienes, al inicio habilitado el PWM2 y después quieres presentar el valor del ADC en el PWM1, por eso no ves el duty cycle.
Tienes que:
a.- Borrar el componente PWM1 del panel 3d
b.- Cambiar el bloque de asignar el valor del duty cycle de acuerdo a la figura adjunta.
F.
-
Mira con mas detenimiento he revisado todo y también he encontrado algunos fallos en la parte del fichero de proteus.
1º.- Faltaban las conexiones a los pines RS(RB4) y E(RB5) del LCD.
2º.- Las lineas de datos también estaban mal colocadas las he cambiado a los pines D4(RB0),5(RB1),6(RB2),7(RB3), del LCD.
Con todo esto ya se aprecian los valores en el LCD de proteus , pero la simulación falla y no encuentro porque. Me da un error de TIME-OUT y el cambio de valores solo van en modo ascendente.
De todas formas y con referencia la diagrama de Flowcode cuando lees el valor del ADC, este puede llegar hasta 1023 y cuando le asignas al duty cicle este aumenta hasta 255, al llegara a ese valor vuelve a empezar desde 0. Esto es debido porque la asignación la tienes declarada con BYTE y por tanto solo llega hasta 255. Debes de poner algún tipo de limitación, conversión o declarar el valor leído con otro tipo.
Te adjunto los ficheros actualizados.
F.
-
Mira con mas detenimiento he revisado todo y también he encontrado algunos fallos en la parte del fichero de proteus.
1º.- Faltaban las conexiones a los pines RS(RB4) y E(RB5) del LCD.
2º.- Las lineas de datos también estaban mal colocadas las he cambiado a los pines D4(RB0),5(RB1),6(RB2),7(RB3), del LCD.
Con todo esto ya se aprecian los valores en el LCD de proteus , pero la simulación falla y no encuentro porque. Me da un error de TIME-OUT y el cambio de valores solo van en modo ascendente.
De todas formas y con referencia la diagrama de Flowcode cuando lees el valor del ADC, este puede llegar hasta 1023 y cuando le asignas al duty cicle este aumenta hasta 255, al llegara a ese valor vuelve a empezar desde 0. Esto es debido porque la asignación la tienes declarada con BYTE y por tanto solo llega hasta 255. Debes de poner algún tipo de limitación, conversión o declarar el valor leído con otro tipo.
Te adjunto los ficheros actualizados.
F.
Si Fer es verdad me di cuenta tarde pero me di cuenta :mrgreen: (de de esas dos conecciones en el lcd) ahora mira lo hice toooooooodo otra vez y voila funciona pero proteus muestra una frecuencia de 5 Khz y flowcode de 20Khz ¿? por que, no se.
Respecto al duty yo selecciono conversion a 10 bit en el pwm, (la imagen en el siguiente post por que no se como pegar la imagen como lo haces vos.
Compilalo en flowcode y fijate ese "warning" que aparece dice que es algo que esta en uso pero no recibe valores, pasa tanto en este archivo que subo ahora como en el que vos modificaste.
-
Mira con mas detenimiento he revisado todo y también he encontrado algunos fallos en la parte del fichero de proteus.
1º.- Faltaban las conexiones a los pines RS(RB4) y E(RB5) del LCD.
2º.- Las lineas de datos también estaban mal colocadas las he cambiado a los pines D4(RB0),5(RB1),6(RB2),7(RB3), del LCD.
Con todo esto ya se aprecian los valores en el LCD de proteus , pero la simulación falla y no encuentro porque. Me da un error de TIME-OUT y el cambio de valores solo van en modo ascendente.
De todas formas y con referencia la diagrama de Flowcode cuando lees el valor del ADC, este puede llegar hasta 1023 y cuando le asignas al duty cicle este aumenta hasta 255, al llegara a ese valor vuelve a empezar desde 0. Esto es debido porque la asignación la tienes declarada con BYTE y por tanto solo llega hasta 255. Debes de poner algún tipo de limitación, conversión o declarar el valor leído con otro tipo.
Te adjunto los ficheros actualizados.
F.
Si Fer es verdad me di cuenta tarde pero me di cuenta :mrgreen: (de de esas dos conecciones en el lcd) ahora mira lo hice toooooooodo otra vez y voila funciona pero proteus muestra una frecuencia de 5 Khz y flowcode de 20Khz ¿? por que, no se.
Respecto al duty yo selecciono conversion a 10 bit en el pwm, (la imagen en el siguiente post por que no se como pegar la imagen como lo haces vos.
Compilalo en flowcode y fijate ese "warning" que aparece dice que es algo que esta en uso pero no recibe valores, pasa tanto en este archivo que subo ahora como en el que vos modificaste.
Aca la captura donde seteo que valores que tomara el duty
-
En la última captura lo que se elige es que el valor leído para el duty cicle sea de 10bits
Los warnings de la compilación lo único que indican es que Flowcode no utiliza una serie de variables internas.
Con respecto a los valores de la frecuencia distintos no entiendo porque, ni tampoco sabría ahora decirte cual es el correcto.
F.
P.D.: Lo que si he visto es que cambiando la frecuencia de Flowcode, la que se observa en Proteus siempre es la cuarta parte de lo que indica Flowcode.
-
En la última captura lo que se elige es que el valor leído para el duty cicle sea de 10bits
Los warnings de la compilación lo único que indican es que Flowcode no utiliza una serie de variables internas.
Con respecto a los valores de la frecuencia distintos no entiendo porque, ni tampoco sabría ahora decirte cual es el correcto.
F.
P.D.: Lo que si he visto es que cambiando la frecuencia de Flowcode, la que se observa en Proteus siempre es la cuarta parte de lo que indica Flowcode.
Si en la captura lo que te quiero mostrar es que esta bien asignada la variable al duty del pwm el adc (potenciometro realiza la convercion a 10 bit) y el seteo que hago en el PWM (captura) es a 10 bit.
Pero sin embargo en el ejercicio del PWM y el led (no de este post del que vimos en su momento cuando consulte por los PWM) bueno, en ese ejercicio si funcionaba correctamente la frecuencia de flowcode era la misma que mostraba proteus, raro no? vos aconsejas que para ver 20Khz en proteus genere una frecuencia de 100Khz en flowcode? en ese caso como compruebo quien miente si no tengo osci? gracias. :? :(
-
Si en la captura lo que te quiero mostrar es que esta bien asignada la variable al duty del pwm el adc (potenciometro realiza la convercion a 10 bit) y el seteo que hago en el PWM (captura) es a 10 bit.
Pero sin embargo en el ejercicio del PWM y el led (no de este post del que vimos en su momento cuando consulte por los PWM) bueno, en ese ejercicio si funcionaba correctamente la frecuencia de flowcode era la misma que mostraba proteus, raro no? vos aconsejas que para ver 20Khz en proteus genere una frecuencia de 100Khz en flowcode? en ese caso como compruebo quien miente si no tengo osci? gracias. :? :(
Yo también creo que es raro la diferencia de la frecuencia y no se cual es lo correcto. De todas formas si tienes por ahí el ejemplo donde si funcionaba y me lo pasas puedo investigar mas a ver si encuentro el porque.
No te aconsejo lo de colocar la frecuencia a 80KHz para obtener los 20Khz, hasta no saber cual es el dato verdadero.
F.
-
Si en la captura lo que te quiero mostrar es que esta bien asignada la variable al duty del pwm el adc (potenciometro realiza la convercion a 10 bit) y el seteo que hago en el PWM (captura) es a 10 bit.
Pero sin embargo en el ejercicio del PWM y el led (no de este post del que vimos en su momento cuando consulte por los PWM) bueno, en ese ejercicio si funcionaba correctamente la frecuencia de flowcode era la misma que mostraba proteus, raro no? vos aconsejas que para ver 20Khz en proteus genere una frecuencia de 100Khz en flowcode? en ese caso como compruebo quien miente si no tengo osci? gracias. :? :(
Yo también creo que es raro la diferencia de la frecuencia y no se cual es lo correcto. De todas formas si tienes por ahí el ejemplo donde si funcionaba y me lo pasas puedo investigar mas a ver si encuentro el porque.
No te aconsejo lo de colocar la frecuencia a 80KHz para obtener los 20Khz, hasta no saber cual es el dato verdadero.
F.
Hola Fermin, no en realidad no tengo un ejercicio que funcione como deberia, yo pense que este https://www.todopic.com.ar/foros/index.php?topic=49397.0 si funcionaba, pero lo simule en proteus y tira como 50khz cuando fue programado en flowcode a 20khz (lo que es no tener un osci. para provarlo) :(