Problema con dsiplay de 7 segmentos

Any bugs you encounter with Flowcode should be discussed here.
Carmelo
Posts: 123
http://meble-kuchenne.info.pl
Joined: Thu Oct 14, 2021 10:04 am
Has thanked: 50 times
Been thanked: 4 times

Flowcode v10 Problema con dsiplay de 7 segmentos

Post by Carmelo »

Hola,
Necesito realizar un proyecto utilizando 3 display de 7 segmentos. He consultado el ejemplo de la wiki y he construido la parte de la visualización de forma similar a loa del ejemplo.
La diferencia se encuentra en que en el ejemplo se utiliza un modulo de 4 displays juntos y yo necesito utilizar solo 3 de forma individual.
Por tanto la macro del componente supongo que son distintas.
Lo que sucede es que en uno de ellos 8 en que se encuentra en el medio, NUNCA representa el valor que se le especifica.
Los tiempo son los mismos y la activación de los displays se realiza de forma secuencial para realizar el multiplexado.
Adjunto el proyecto de Flowcode y una captura de pantalla donde se observa que si quiero representar un 6 en el 2º display, en realidad aparece un 9 y asi con todo valor.

Me pueden ayudar e indicar que es lo que estoy haciendo mal.

El proyecto consistirá en realizar un contador de pulsos por medio de un par de pulsadores, pero de momento me he centrado en poder ver el funcionamiento del multiplexado.
Attachments
Termostato_10_90.fcfx
(28.08 KiB) Downloaded 31 times
ERROR.png
ERROR.png (35.6 KiB) Viewed 3530 times
Last edited by Carmelo on Wed Feb 26, 2025 7:56 pm, edited 1 time in total.

Carmelo
Posts: 123
Joined: Thu Oct 14, 2021 10:04 am
Has thanked: 50 times
Been thanked: 4 times

Flowcode v10 Re: Problema con dsiplay de 7 segmentos

Post by Carmelo »

Ya conseguí arreglar el problema anterior.
Pero he copiado, del ejemplo de la wiki, la parte de la multiplexación de los displays usando una interrupción y en en la simulación dentro de Flowcode no veo ningún valor de forma clara en los display.
En el ejemplo de la wiki se ve perfectamente los valores que se van representando.
Por mi parte, dentro del main solo he puesto 2 bloques uno de calculo, incrementando una variable y asignado los valores para digito y un segundo bloque de delay de 1sg.
Adjunto el fichero, a ver si me pueden indicar porque no puedo ver los valores del contador de forma correcta.
Attachments
Termostato_10_90_v02.fcfx
(29.28 KiB) Downloaded 24 times

mnfisher
Valued Contributor
Posts: 1518
Joined: Wed Dec 09, 2020 9:37 pm
Has thanked: 138 times
Been thanked: 729 times

Re: Problema con dsiplay de 7 segmentos

Post by mnfisher »

One issue is that AumentaSeleccion is set as a boolean variable - it's value is 0, 1, 0, 1 Setting it to a byte (0..255) or larger type and it should work as expected.

In the first version - the interrupt handler should just write to one display per call (rather than attempting to write to all three)

Martin

Carmelo
Posts: 123
Joined: Thu Oct 14, 2021 10:04 am
Has thanked: 50 times
Been thanked: 4 times

Re: Problema con dsiplay de 7 segmentos

Post by Carmelo »

Gracias Martín por la respuesta.
Cambie el tipo de la variable y ahora funciona bien.
El problema es que había pensado usar esa variable como valor de una de las entradas de un pulsador.
De todas formas veo un pequeño rebote y que a veces cuenta 2 pulsaciones en vez de una, pero creo que eso no va a ser problema para solucionarlo.

Carmelo

chipfryer27
Valued Contributor
Posts: 1575
Joined: Thu Dec 03, 2020 10:57 am
Has thanked: 357 times
Been thanked: 560 times

Re: Problema con dsiplay de 7 segmentos

Post by chipfryer27 »

Hola

No puedo descargar su gráfico, pero el foro tiene muchas ideas para eliminar Switch Bounce. Los componentes del interruptor/botón de código de flujo tienen una función antirrebote de software, pero debe usar el interruptor/componente de código de flujo para que funcione, no leer el pin directamente o algo similar.

Los interruptores baratos, etc., pueden ser muy, muy ruidosos y es posible que necesite una combinación de técnicas para eliminarlos por completo. Sin embargo, debería poder encontrar una técnica que funcione.

Saludos

Translated by Google

Hi

Not able to download your chart but the forum has many ideas to eliminate Switch Bounce. Flowcode Switch /Button components have a software debounce feature but you must use the Flowcode Switch/Component for it to work, not read the pin direct or such like.

Cheap switches etc can be very, very noisy and you may need a combination of techniques to fully eliminate. However you should be able to find a technique that works.

Regards

Carmelo
Posts: 123
Joined: Thu Oct 14, 2021 10:04 am
Has thanked: 50 times
Been thanked: 4 times

Re: Problema con dsiplay de 7 segmentos

Post by Carmelo »

Thanks for your response.

That problem is already corrected but now I have 2 new ones:
1º One is that frequently, some of the display segments turn off randomly. Even the decimal points flash too

2º And more importantly, what happens is that when I make any changes to the project, before debugging, it proceeds to save the project. Then I do the simulation and when I stop it the indication that the project is not saved always appears again. This didn't happen to me until yesterday.
Can you tell me what could be the possible solutions to both problems?

I attach the project file
Attachments
Termostato_10_90_v02.fcfx
(37.9 KiB) Downloaded 23 times

chipfryer27
Valued Contributor
Posts: 1575
Joined: Thu Dec 03, 2020 10:57 am
Has thanked: 357 times
Been thanked: 560 times

Re: Problema con dsiplay de 7 segmentos

Post by chipfryer27 »

Hi

Late at night for me. I should with luck be able to download your chart tomorrow as I hopefully will have reasonable access then.

A good way to check for connectivity problems is to display the digit 8 and decimal point, disturb all wiring and see if anything bad happens, then move on to the next digit / point etc. If nothing bad shows up it eliminates dodgy connections.

As mentioned I haven't downloaded your chart yet so cannot really suggest much, but do you have an interrupt firing that may possibly be interfering with displaying the digits?

I will try and reply in the morning once hopefully I get better Internet.

Regards

Carmelo
Posts: 123
Joined: Thu Oct 14, 2021 10:04 am
Has thanked: 50 times
Been thanked: 4 times

Re: Problema con dsiplay de 7 segmentos

Post by Carmelo »

Gracias por la respuesta

De momento no tengo nada físico montado, estoy trabajando solo con el simulador.

Lo del uso de la interrupción es porque copié la parte del multiplexado del ejemplo del control de 7 segmentos que aparece en la ayuda de la wiki.

C.

mnfisher
Valued Contributor
Posts: 1518
Joined: Wed Dec 09, 2020 9:37 pm
Has thanked: 138 times
Been thanked: 729 times

Re: Problema con dsiplay de 7 segmentos

Post by mnfisher »

One issue is that you have the thermistor connected to AN13 - this is the same as the common pin for one of the displays - and will probably cause an issue. (I changed to AN8)

Also in supervisaTempMax - you attempt to re-enable the TMR2 interrupt at a much higher rate.

Still getting odd stuff on the display though... This seems to be a bug - closing FC and restarting it and it works fine.
I'd rewritten bits - try and work out where the issue was.... Mostly I changed the temperature to an integer value...

Martin
Attachments
Multiplex.fcfx
(37.16 KiB) Downloaded 23 times

chipfryer27
Valued Contributor
Posts: 1575
Joined: Thu Dec 03, 2020 10:57 am
Has thanked: 357 times
Been thanked: 560 times

Re: Problema con dsiplay de 7 segmentos

Post by chipfryer27 »

Hola

El insomnio no es algo por lo que perder el sueño...

Descargué su gráfico más reciente y puedo confirmar que durante la simulación aparecen caracteres aleatorios como los que usted describe.

Sin embargo, esto es una simulación y puede que en realidad no sea el caso en el hardware. No puedo probar eso ahora. Los PC son enormemente más rápidos que los microcontroladores y, como tales, las simulaciones no siempre funcionan como nos gustaría, especialmente cuando se simulan interrupciones.

Como prueba muy rápida, miré su interrupción y vi que tenía una frecuencia de 150 Hz. Bajar esto a alrededor de 50 Hz en mi PC mejoró la estabilidad de la pantalla y redujo los caracteres aleatorios. Por lo tanto, creo que el problema es la simulación y no lo que creaste.

Intentaré mirar más a fondo más tarde en la mañana.

Saludos


--- All hail Google translate ---

Hi

Insomnia isn't something to lose sleep over.........

Downloaded your latest chart and can confirm that during simulation random characters appear as you describe.

However this is in simulation and may not actually be the case in hardware. I can't test such just now. PC's are hugely faster than microcontrollers and as such simulations don't always work as we would like, especially when interrupts are being simulated.

As a very quick test I looked at your interrupt as saw it had a frequency of 150Hz. Dropping this to around 50Hz on my PC improved the stability of the display and reduced the random characters. Therefore I think the problem is simulation rather than what you created.

I'll try and look further later in my morning.

Regards

Edit...
I see Martin replied as I was :)

Post Reply