Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

20/04/2012 #1


Algoritmo POV (Persistence Of Vision) led
Siempre quise hacer un pov (Persistence Of Vision) de mas de 8 filas y encontré lo que buscaba... pero tengo un solo problema... el inicio del código.

Si ven el video lo explica perfectamente... pero me falta la primera parte del código q no se como hacerlo porque no se programar en ese lenguaje... a duras penas puedo hacerlo en c
pero me pareció muy sencillo y quisiera hacerlo.


La parte del código que muestra el video es esta:

Código:
trisa=0
trisb=0
trisc=0
    t VAR WORD
t=1500

start:
porta=0
portb=15
portc=0

PAUSE t

porta=48
portb=48
portc=0

....
.... etc

GOTO start

Si alguien me puede dar una mano en la primera parte antes del trisa trisb etc.. se lo agradecería

estoy usando un 16f877a
y quiero hacerlo con este lenguaje porque me pareció muy bueno lo de poner las salidas en binario.. así es mas fácil armar el pov.
20/04/2012 #2


Es basic y no hay nada antes de ese codigo, nada mas un adcon1=7 para poner como digitales lo puertos y definir el oscilador a usar...(y los fuses si se quiere hacer desde el codigo) y lo de las salidas en binario tambien se puede en C
20/04/2012 #3


lubeck dijo: Ver Mensaje
Es basic y no hay nada antes de ese codigo, nada mas un adcon1=7 para poner como digitales lo puertos y definir el oscilador a usar...(y los fuses si se quiere hacer desde el codigo) y lo de las salidas en binario tambien se puede en C
gracias por la respuesta... me interesaria usar este codigo por la simplicidad...

no se casi nada de programacion por lo que te pido si tenes paciencia de explicarme qué tengo q poner antes de los trisa trisb etc...

Ej.. definir el pic... el oscilador... y eso que me habias explicado antes

como hago para ponerlo en "codigo"

Otra cosa... el cogido termina asi como estaba? (GOTO start) y listo?? o hay que poner algo mas..

muchisimas gracias por tu respuesta
20/04/2012 #4


Cosigue el Picbasic Pro.... y pones esto...

Código:
@ Device Pic16F877A
@ Device XT_Osc
@ Device WDT_Off
@ Device Pwrt_On
@ Device Bod_Off
@ Device LVP_Off
@ Device CPD_OFF 
@ Device WRT_OFF         
@ Device DEBUG_OFF       
@ Device PROTECT_OFF  

Define Osc 4
Adcon1=7

trisa=0
trisb=0
trisc=0
t VAR WORD
t=1500

start:
porta=0
portb=15
portc=0

PAUSE t

porta=48
portb=48
portc=0


GOTO start
Armas el circuito, lo compilas, lo cargas y seguramente te va a funcionar...
20/04/2012 #5

Avatar de sangreaztk

stornipro dijo: Ver Mensaje
...Otra cosa... el cogido termina asi como estaba? (GOTO start) y listo?? o hay que poner algo mas...

Tienes que sacar los valores de los puertos para cada tiempo dado, en el vídeo la columna 1 es para el tiempo 1, la columna 2 es el tiempo 2, etc. Siguiendo la sig. estructura:

Código:
PAUSE t

porta=48
portb=48
portc=0
Sería mas inteligente crear una función a la que le pases los valores para cada puerto.

Y al final pones un GOTO start para que el código se repita hasta el fin del universo.

Saludos!
21/04/2012 #6


muchas gracias por las respuestas... ya pude compilarlo y andubo.....

funciona bastante bien

Ahora tengo una preguna en pics en general... que ya me ha pasado muchas veces desde que enpeze con pics.

Te cuento:

Yo programo el pic - lo pongo en el protoboard - lo pruebo - Funciona perfectamente

pero si desconecto la fuente un tiempo, y al otro dia lo vuelvo a prender, anda muy mal.. (se pone como loco el pic) . y si lo saco y lo pongo devuelta, vuelve a funcionar bien.

Que es lo que pasara???
gracias
21/04/2012 #7


Que es lo que pasara???
Niiiii iiiideeaaa, es la primer vez que escucho de un caso asi....

podrias poner el esquema completo , el codigo y especifica con claridad como esta echa la fuente de alimentacion para darte mi opinion....

asi de rapido se me ocurre que se queda sin alimentacion, y hay una cosa que se llama WDT(Watch Dog) que sirve mas o menos para eso, pero tu caso es muy raro...
21/04/2012 #8

Avatar de Dario

stornipro dijo: Ver Mensaje
Ahora tengo una preguna en pics en general... que ya me ha pasado muchas veces desde que enpeze con pics.

Te cuento:

Yo programo el pic - lo pongo en el protoboard - lo pruebo - Funciona perfectamente

pero si desconecto la fuente un tiempo, y al otro dia lo vuelvo a prender, anda muy mal.. (se pone como loco el pic) . y si lo saco y lo pongo devuelta, vuelve a funcionar bien.

Que es lo que pasara???
gracias
parami hay 2 posibilidades: la primera, podrias tener ruido en la fuente y la segunda, talvez no estes conectando el mclr (pin 4) con una resistencia de unos 47k a positivo o vcc. perdon que te pregunte esto que a lo mejor suena pavo pero ¿estas alimentando el circuito con 5 volt verdad? saludosss
22/04/2012 #9

Avatar de sangreaztk

Ponle además un pushbutton de reset entre el MCLR y la referencia (GND), además de su resistor pullup de 4k7......... de menos así no sera necesario quitar-poner el uC, bastará con oprimir el botón. je.

Saludos!
23/04/2012 #10


lo de la fuente ya losolucione.. era de 5 v pero no estaba bien filtrada.

lo que decis de crear una fuincion como seria? me das un ejemplo??

gracias
sangreaztk dijo: Ver Mensaje
Tienes que sacar los valores de los puertos para cada tiempo dado, en el vídeo la columna 1 es para el tiempo 1, la columna 2 es el tiempo 2, etc. Siguiendo la sig. estructura:

Código:
PAUSE t

porta=48
portb=48
portc=0
Sería mas inteligente crear una función a la que le pases los valores para cada puerto.

Y al final pones un GOTO start para que el código se repita hasta el fin del universo.

Saludos!
23/04/2012 #11

Avatar de sangreaztk

stornipro dijo: Ver Mensaje
...lo que decis de crear una fuincion como seria? me das un ejemplo??...

La verdad es que yo no uso picbasic, pero supuse que dado que era un lenguaje de "alto" nivel debiese de soportar el empleo de funciones..... ahorita estuve buscando para responderte pero creo que picbasic no permite funciones, ni macros, y usando una subrutina el código sería igual de largo.......

A ver si alguien nos ayuda y nos informa si de verdad picbasic no tiene implementado el uso de funciones.

Saludos!
23/04/2012 #12


sangreaztk dijo: Ver Mensaje
La verdad es que yo no uso picbasic, pero supuse que dado que era un lenguaje de "alto" nivel debiese de soportar el empleo de funciones..... ahorita estuve buscando para responderte pero creo que picbasic no permite funciones, ni macros, y usando una subrutina el código sería igual de largo.......

A ver si alguien nos ayuda y nos informa si de verdad picbasic no tiene implementado el uso de funciones.

Saludos!
y porque le pones las comillas en "Alto" nivel.?..

por supuesto que es de alto nivel, lo de alto nivel no significa que sea muy fregon o no...

http://es.wikipedia.org/wiki/Lenguaje_de_alto_nivel

y en realidad usando arreglos y la eeprom eso se hace en unas cuantas lineas..
25/04/2012 #13


ya solucione lo del pic.. era un problema de capacitores


Tengo una pregunta para los que saben de pic basic pro:

yo en el 16f877a puedo cargarle varias imagenes pero quiero poder con un pulsador ir cambiando 1 por una...

Intente pero no pude la verdad

Por ejemplo tengo

Imagen1:

Porta=3
Portb=2
Portc=45
Portd=12
Porte=1
etc, etc

GOTO imagen 1

Imagen 2:

y asi suscesivamente...


el Porte 0 lo uso como salida para una fila de leds

Pero el Port e 1 y 2 los puedo poner como entradas ... ahora.. como hago para que al presionar un pulsador pueda ir pasando de imagen 1 a 2... de 2 a 3.. etc.

muchisimas gracias a todos los q responden

PD: use el IF Porte.1=1 THEN imagen2

Pero funciona mal y ademas no quiero que valla a la siguiente...
26/04/2012 #14

Avatar de sangreaztk

lubeck dijo: Ver Mensaje
y porque le pones las comillas en "Alto" nivel.?..
Bueno, puse las comillas porque sinceramente no me gusta Basic, lo sé....... está mal subestimar dicho lenguaje. Aunque otra razón porqué puse las comillas fue porque si no posse la capacidad de emplear funciones se aleja del paradigma de representar código compresible, dado que se tienen que emplear técnicas más relacionadas a la arquitectura del procesador.

Pero es sólo mi manera de ver las cosas. Sin duda picbasic es una herramienta valida.

Saludos!
26/04/2012 #15


Si entiendo lo que dices, mas o menos, yo se programar en ambos y los dos me gustan... en ambos se puede hacer lo mismo, hasta ahorita lo unico que he visto que hay en C y no lo he visto que lo hagan en basic es el uso de los monitores VGA, pero esta dentro de mis proyectos hacerlo en basic a futuro... aahhh y en basic todavia no he visto soporte para dspic.... aunque creo que debe haber...

Bueno, yo no mas te lo pasaba como dato....

Saludos...
07/12/2013 #16

Avatar de Gustavo.gmb

como se puede saber que retraso hay que ponerle al pov? osea supongo que es depende de las rpm del motor que se use, hay alguna formula o algo para que se vea lo mejor posible? en el video usa un retraso de 1,5ms
08/10/2015 #17

Avatar de shukugan1

Algoritmo POV (Persistence Of Vision) led
Hola miembros que componen foro de electrónica, estos días me he decidido armar un pov de 32 leds, para mostrar texto o inclusive imágenes, les cuento.

Mi diseño cuenta con 4 registros serial a paralelo (74hc595), un microcontrolador pic18f4550, un sensor infrarrojo, la tira de led la tengo sujetada a un motor de ventilador haciendo la función como si de una aspa se tratase, Bien mi problema radica en como haces ustedes en cuestión de calcular tiempo correcto al pasar el diodo receptor infrarrojo por el punto de origen del pov para visualizar un arreglo alojado en la memoria del microcontrolador de la siguiente manera:

const unsigned int8 letras[] = {0x01,0x02,0x03,0x04 etc etc};

yo especialmente uso ccs compiler, y me atrevo y estoy abierto a sugerencias mis amigos, experiencias, y sobre todo nuevas ideas. De antemano un saludo vida y bienestar a todos. ...
08/10/2015 #18

Avatar de papirrin

se utiliza generalmente la interrupcion externa para el sensor, y con un timer puedes medir las revoluciones, despues divides el tiempo entre el numero de variables en el arreglo y en ese tiempo desplegas la variable.

o puedes hacerlo a ojillo XD
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.