Título: Eléctronica - Display7seg Publicado por: Myth.ck en 17 Noviembre 2008, 16:34 pm Hola... Estoy desarrollando un programa para la visualización de números en display de 7 segmentos hechos con shapes...
1º Hice un SHAPE1(Index as integer), con la cual controladré cada segmento de dicho "display" 2ºIncluí dos procedimientos para el conteo ascendente y descendente. 3ºIncluí un botón de pause. Bueno como verán ya se imaginaron todo el código y es algo sencillo. El problema es que solo controlo una sola matriz: Private Sub Tmr_Contar_Ascendente() cnt=cnt+1 if cnt=999 then cnt=0 end if unidades= (cnt\10)MOD 10 ' me otorga el valor de las unidades para el display display7seg End Sub Ahora bien en la rutina display7seg hago un select case para unidades... Como debería hacer para que por ejemplo si pondría decenas=(cnt\10) MOD 100 Me las muestre en otro display (otra matriz) con las mismas propiedades? y no tener que hacer un select case decenas y describir cuales son los segmentos a encender?, a lo que me refiero es que con sólo los datos de unidades, decenas y centenas pueda controlar tres display, con las mismas propiedades y no tener que hacerlo por separado... Salu2" Título: Re: Eléctronica - Display7seg Publicado por: cobein en 17 Noviembre 2008, 22:54 pm Podes hacer algo asi y poner el select case adentro del for
Código: Option Explicit Título: Re: Eléctronica - Display7seg Publicado por: Myth.ck en 19 Noviembre 2008, 12:04 pm Hola... Mira este es el programa...
http://rapidshare.com/files/165278303/7segdisplay.rar.html Lo que necesito es que a partir de una sola matriz de segmentos es decir Shape1(Index as Integer)controle los demás dígitos, para no tener que hacer un respectivo select case para cada segmento... Es algo parecido a la técnica de multiplexado en microcontroladores... Salu2 Título: Re: Eléctronica - Display7seg Publicado por: Jedaias en 21 Noviembre 2008, 18:17 pm Hola, he estado testeando tu programa. Por lo pronto te digo que no creo que sea posible hacerlo como tu quieres, ya que aun cuando muestres el valor de una variable en 2 displays, necesariamente tienes que hacer el case para cada display. Es como utilizar un decodificador BCD a 7 Segmentos en electronica, utilizas un PIC para hacer el contador pero 1 deco para cada display.
De todos modos seguire intentando a ver que se puede lograr ;) Título: Re: Eléctronica - Display7seg Publicado por: Myth.ck en 21 Noviembre 2008, 19:03 pm Gracias por responder...
Lo que a mi me parece es que no es algo muy "elegante o profesional" el código, ustedes que dicen?, osea teniendo en cuenta que no es algo muy complejo o terminado Salu2! Título: Re: Eléctronica - Display7seg Publicado por: Jedaias en 21 Noviembre 2008, 19:34 pm Bueno, eso depende de las circunstancias, porque no es lo mismo presentarlo en una empresa ante ejecutivos a presentarlo a un profesor para una calificacion. Aun asi, seran pocas las personas que te pregunten por el codigo, y eso te lo digo por experiencia, les importa mas que trabaje y cumpla con lo que te pidieron que haga.
Desde mi punto de vista le doy mas peso a la funcionalidad. Si hace lo que quieres que haga entonces esta bien. A mi me ha pasado que haciendo un progama me salian varias linas, que despues de un tiempo al aprender mas de programacion en VB, simplificaba algunos pasos. Aun asi le segire pensando, si logro algo te lo informare. Editando: Lo que se me ocurrio es declarar una variable sin tipo, y con un for ir recorriendo todos los elementos del form, de manera que cuando encontrara un elemento shape llamar una funcion, pasandole como parametro el nombre del elemento shape y el valor, para encender los segmentos , pero me marca error de referencia al objeto. Tampoco me funciono declarando una variable tipo shape. Ejemplo del codigo: Código
Saludos ::) |