miliamperios.com

Bootstrap Framework 3.3.6

Más de una docena de componentes reutilizables construidos para proporcionar iconografía, menús desplegables, grupos de entrada, navegación, alertas, y mucho más ...

Todo lo relacionado con el estudio, diseño y funcionamiento de circuitos y componentes electrónicos relacionados con el radio control. Fundado el 4 de Octubre del 2006.

Moderador: Moderadores

Avatar de Usuario
Por tomastell
#790585
hola
me gustaria realizar un proyecto basado en la persistencia de la visiom (pov)
son leds colocados a objetos en movimiento
como ruedas bicicleta motos etc
se genera un dibujo o las palabras que se quiera
lo pienso para las palas del helico
ya esta fabricado
yo tengo conocimientos sobre este tema
con pic 16f84 16f876 y 16f 877
copilacion y programacion
ya programe varios co 8 led y con 12 led
sacando mensages y dibujos
bueno ya contare todo mas detenidamente
darme tiempo y expondre como se programan y demas
que os parece la idea???
mola e
un saludo
Adjuntos
10.jpg
Avatar de Usuario
Por AntonioE
#790594
Bonito proyecto.
Ya tengo ganas de ver lo que se puede hacer con esas luces.

Espero tus progresos.

Saludos.
Avatar de Usuario
Por tomastell
#790597
Hola
este es el esquema de uno de 5 leds que puedes programar
tu nombre y saldra en las palas de tu helico
se puede ampliar a 8 leds porque el 16f84 tiene 8 salidas
bueno tiene en realidad 13 salidas pero se tiene que guardar una para
el sincronismo el esquema no es mio
ya lo comentar mas adelante
un saludo
Adjuntos
ttt1.JPG
Avatar de Usuario
Por tomastell
#889946
hola ya hace tiempo que no me paso por el foro
bueno os mando un codigo de asm para el 16f876
podemos encender mas de 16 leds ***** que pasada


;
; By Tomastell XT WDT on funciona con 16f 876


; para dibujos e imajenes
;
;*******************************************************************************************

List p=16F876 ;Tipo de procesador
include "P16F876.INC" ;Definiciones de registros internos


w equ 0 ; register destination addresses.
f equ 1
same equ 1

z equ 2 ;
zero equ 2
c equ 0
carry equ 0

count1 equ 0C ; wait counter ls digit file register C
count2 equ 0D ; wait counter ms digit file register D

portb equ 06 ; port b I/O register f6
porta equ 05
portc equ 07 ; port a I/O register f5
status equ 03 ; status register f3
time equ .15 ; normal mente a 3.675 Mhz

org 0 ;

Inicio clrf PORTC
clrf PORTB ;Desconecta salidas
clrf PORTA
bsf STATUS,RP0 ;Selecciona banco 1
movlw b'00000110'
movwf ADCON1 ;Puerta A E/S digitales
clrf TRISB
movlw b'00000001' ;PUERTA RA0 ENTRADA LAS DEMAS SALIDAS
movwf TRISA
movlw b'00000000' ;PUERTA B Y C SALIDAS
movwf TRISC
bcf STATUS,RP0 ;Selecciona banco 0
start
goto pulsa

;* ESCRIBE EL MENSAGE AQUI *

fila1 call la
call space1
goto pulsa

;* fin del mensage *


;COMPRUEVA EL ESTADO del pulsador RA0

pulsa bcf status,1
movf porta,w ;gets input from start button on porta.0
movwf status ;read status register, to see value of porta
btfsc status,0
goto pulsa ;si status = 1 salta fila1 or goto pulsa.
goto fila1


;*RUTINA PARA SACAR LOS CARACTERES A LOS LED'S EN EL PUERTO B (PORT B)*



la call wait
movlw B'00000001'
movwf portb ;1
movlw B'00000000'
movwf portc
call wait
movlw B'00000010'
movwf portb ;2
movlw B'00000000'
movwf portc
call wait
movlw B'00000100'
movwf portb ;3
movlw B'00000000'
movwf portc
call wait
movlw B'00001000'
movwf portb ;4
movlw B'00000000'
movwf portc
call wait
movlw B'00010000'
movwf portb ;5
movlw B'00000000'
movwf portc
call wait
movlw B'00100000'
movwf portb
movlw B'00000000'
movwf portc
call wait
movlw B'01000000'
movwf portb
movlw B'00000000'
movwf portc
call wait
movlw B'10000000'
movwf portb
movlw B'00000000'
movwf portc
call wait
movlw B'00000000'
movwf portb
movlw B'00000001'
movwf portc
call wait
movlw B'00000000'
movwf portb
movlw B'00000010'
movwf portc
call wait
movlw B'00000000'
movwf portb
movlw B'00000100'
movwf portc
call wait
movlw B'00000000'
movwf portb
movlw B'00001000'
movwf portc
call wait
movlw B'00000000'
movwf portb
movlw B'00010000'
movwf portc
call wait
movlw B'00000000'
movwf portb
movlw B'00100000'
movwf portc
call wait
movlw B'00000000'
movwf portb
movlw B'01000000'
movwf portc
call wait
movlw B'00000000'
movwf portb
movlw B'10000000'
movwf portc
call space1
return



lb call wait
movlw B'00011111'
movwf porta
movlw B'11111111'
movwf portb
call wait
movlw B'00011111'
movwf porta
movlw B'11111110'
movwf portb
call wait
movlw B'00011111'
movwf porta
movlw B'11111100'
movwf portb
call wait
movlw B'00011111'
movwf porta
movlw B'11111000'
movwf portb
call wait
movlw B'00011111'
movwf porta
movlw B'11110000'
movwf portb
call wait
movlw B'00011111'
movwf porta
movlw B'11100000'
movwf portb
call wait
movlw B'00011111'
movwf porta
movlw B'11000000'
movwf portb
call wait
movlw B'00011111'
movwf porta
movlw B'10000000'
movwf portb
call wait
movlw B'00011111'
movwf porta
movlw B'00000000'
movwf portb
call wait
movlw B'00001111'
movwf porta
movlw B'00000000'
movwf portb
call wait
movlw B'00000111'
movwf porta
movlw B'00000000'
movwf portb
call wait
movlw B'00000011'
movwf porta
movlw B'00000000'
movwf portb
call wait
movlw B'00000001'
movwf porta
movlw B'00000000'
movwf portb
call space1
return





space1 movlw B'00000000' ;
call wait
movlw B'00000000'
movwf portb
movlw B'00000000'
return

space2 nop ;loop
goto space2


;* wait subroutine *

wait

movlw time ;
movwf count1

d1 movlw time ;
movwf count2


d2 decfsz count2,same ;
goto d2 ;
decfsz count1 ;
goto d1 ;
retlw 00
; ----------------------------


END
Por retrotero
#890597
Muchas gracias tomastell.

He compilado el codigo y lo ha convertido a hex. Pero hace falta que pongas el esquema, si no no lo podemos construir.
Avatar de Usuario
Por tomastell
#891871
El esquema del codigo asm es el mismo que el esquema del 16f84
pero con mas puertas habilitadas como salidas puertas B y puerta C
con lo cual tenemos 8 puertas en B (RB0-RB7) y 8 puertas en c (RC0-RC7)
con esto tenemos 16 leds en salida
la puerta RA0 es la entrada de sincronismo
la puerta esta conectada a una resistencia de 100k
a positivo y a un pulsador a masa para dar 0 o 1 a la puerta de entrada
segun el pulsador
el pulsador funciona de la sigiente manera: cuando cambia el estado
en la puerta RA0 se envia el codigo escrito en la rutina del mensage

;* ESCRIBE EL MENSAGE AQUI *

fila1 call la ---( rutina de encendido de los leds segun "la"
call space1 ---(rutina de envio de un espacio entre letra y letra)
goto pulsa

* fin del mensage *

*RUTINA PARA SACAR LOS CARACTERES A LOS LED'S EN EL PUERTO B Y PUERTO C*

rutina "la"

la call wait
movlw B'00000001' el codigo bin indica encende el led conectado a RB0
movwf portb
movlw B'00000000' 1 es encender 0 apagar
movwf portc
call wait
etc .......
etc........
etc .......
etc .......


la rutina "la" manda a los puertos B y c segun el codigo binario que quiere encender
y que apagar con 0 y 1 0 apagado 1 encender
en este ejemplo; B'00000001' manda encender la puerta de menor peso
es simplemente cambiar los ceros y unos por lo que queramos
en el codigo asm ya espuesto en el apartado ;* ESCRIBE EL MENSAGE AQUI *
hay una rutina de llamada a "la" ( call la) y en "la" hay otra de que
queremos encender segun los ceros y unos
con lo cual si miramos el cobigo bin veremos que es una secuencia consecutiva
de encendido desde RB0 a RC7 como el efecto del morro el coche fantastico KIT
pero con 16 leds

ya enviare uno para encender tu nombre o el testo que querais

de la sigiente forma:

fila1 call lh
call lo
call ll
call la
call space1
call lm
call lu
call ln
call ld
call lo
goto pulsa
con esta rutina consegimos encender los leds con el sigiente mensaje "hola mundo"
espero haberme esplicado y ya enviare el codigo asm con letras un saludo
y gracias por el interes creado.
Avatar de Usuario
Por tomastell
#892251
hola de nuevo
envio un codigo asm para sacar el mensaje "hola mundo"
con el 16f84
con 8 leds y alimentado con una pila de relog
cr2016 o parecida de 3 voltios
en las rutinas lh,lo,ll,la,space1,lm,lu,ln,ld,lo
estan los codigos en 0 y 1 para sacar las letras
modificandolos podeis poner lo que querais
modificando los codigos y diseñando las letras
es facil si os dais cuenta como estan los codigos de ejemplo,
el pulsador de sincronismo se puede poner un contacto de
cristal magnetico en el circuito y en una parte fija del helico
podeis poner un iman, cuando pase el contacto magnetico
por el iman activara el mensage
hay que tener encuenta que el led conectado a rb7 tiene que estar
en el circuito en la punta de las palas de helico
y el led rb0 en la parte del plato ciclico y el sentido de giro
es a derechas
sino las letras se leeran al reves
la idea es poner el circuito en una pala con la pila de relog
y equilibrar las palas, o el circuito en una pala y la pila
en otra, unida con unos cables y un interruptor de encendido
la pila puede durar un dia es una idea sencilla pero practica
detodas formas esto se puede modificar
enviarme ideas y diseños
dentro de poco os envio un asm del anagrama del BATMAN
parecido a la foto del primer post
es facil diseñar lo que querais modificando los 0 y 1
de las letras
todo poco a poco primero empezamos con el 16f84
y cuando tengamos esperiencia segimos con el 16f876
y mas........
un saludo y aqui estare para ayudar en lo que sea
Avatar de Usuario
Por tomastell
#892301
este es el esquema del circito del 16f84 con el codigo en asm
y una explicacion de como poner las letras
un saludo
Adjuntos
ttt2.JPG
ttt3.JPG
(7.33 KiB) Descargado 322 veces
Por Mushito
#958980
:D
Felicidades es un lindo trabajo.
Estimado tomastell por favor podrias postear el mismo codigo en mikrobasic?
Saludos,
Gracias de antemano.
Avatar de Usuario
Por tomastell
#960364
Hola mushito
dime que no entiendes de la programacion del ejemplo realizado en ASM
si me pides el codigo en microbasic entiendo que entiendes o manejas el basic
----- Bueno aunque no venga a cuenta ya seme paso el cabreo :shock: :shock: --------
dime que problema tienes y entre los dos lo realizaremos
Este proyecto lo tengo en mente desde hace años
y e decidido terminarlo, como la centralita de dedalo y demás gente que es una maravilla con placa , pruevas y terminacion
pretendo realizarlo completo, con placa de circuito impreso, grabado del pic,
pruevas y ensallos,todo desde el pincipio al fin
asi temino las cosas como dios manda
saludos
Por Mushito
#961291
:D Soy novato en programación, el que mas o menos estoy empezando a usar es el mikrobasic.
Ya tengo construido un POV muy parecido al que posteo tomastell, pero el sensor de sincronismo que yo le instalé era diferente. Así como lo pone tomastell está muy bien es más simple delo que pensaba. El POV que intente construir (por la falla en el sensor óptico) se quedo sin sincronización y por lo tanto se quedo como un proyecto abandonado. Por otra parte estuve pensando en modificar el código en assembler que posteo tomastell y editar solamente el llamado de letras, pero esto me dejaría una laguna mental por que el asembler es un lenguaje que no entiendo, soy como un analfabeto intentando leer chino.
Ojala subieras la parte de sincronización escrito en BASIC (mikrobasic o picbasic pro)
Avatar de Usuario
Por tomastell
#961731
Hola a todo el mundo y saludos a la gente que merece la pena
ya estoy con este proyecto a tope
mirara estos videos que pasada
http://www.youtube.com/watch?v=Y9YPonHVdaQ

http://www.youtube.com/watch?v=HYGGGDnzxx0
Bueno esto no es sencillo de realizar :cry: :cry:
o alomejor si ¡¡¡¡¡¡¡ :D :D :D :D
pensar ,pensar ,pensar,
en la uni fue la mejor leccion
es lo mas sencillo del mundo
esta semana estoy currando de noche y no tengo tiempo para enviar el primer programa que ya esta realizado
Ya lo tengo.......
necesito ayuda de gente que pueda decirme como integrar 32 LEDS en las palas de un heli
SI 32 LEDS..... :lol: :lol: :lol: :wink: :wink:
ya vereis que dibujos sacaremos en nuestros helicos
pero necesito ayuda de diseño de las palas, si las cajeo o simplemente pego los leds
darme ideas y como realizarlas
que quiero terminar este POV YA
y si tiene algien un modelo de pov me diga como esta integrado para darme una idea
tanbien necesito saver que tipo de informacion seria la mas apropiada para sacar en las palas aparte de los dibus y demas vereis que pov tendremos todos y darme ideas de los dibujos que querais sacar en las palas
el proyecto ya esta realizado en programacion y en diseño ,ya pondre las placas de CI . Me faltan estos retoques que os comento para mejorar el diseño ,,,,,Help Help Help .-.- .-.-
Avatar de Usuario
Por xerex
#961773
leds smd?
Avatar de Usuario
Por tomastell
#962998
Hola
os muestro como quedara el Pov 1.0
mirar que dibus estoy programando
en basic es sencillo:
un ejemplo
'PROYECTO POV TOMASTELL 2010 PRIMER PROGRAMA BASIC
'MUESTRA UN DIBUJO EN EL HELICO TIPO ONDA

Define CONF_WORD = 0x3d71

'para 16f877

AllDigital

TRISA = %00000001 'entrada RA0 entrada sincronismo las demas salidas, 5 leds
TRISB = %00000000 'todo el PORTB SALIDAS ,8 leds
TRISC = %00000000 'todo el PORTC SALIDAS ,8 leds
TRISD = %00000000 'todo el PORTD SALIDAS ,8 leds
TRISE = %00000000 'todo el PORTD SALIDAS ,3 leds

'en total 32 leds y una pata para sincronismo RA0
'estamos justitos con un 16f877

inicio:

If PORTA = %00000001 Then Goto dibujo 'ESPERA LA SEÑAL DEL SINCRONISMO

Goto inicio

dibujo:
'aqui se pone la primera linea de los 32 leds del dibujo

PORTA = %00111110 '5 LEDS , RA0 SIMPRE EN CER0 ¡¡¡¡ES EL SINCRONISMO¡¡¡¡
PORTB = %11111111 '8 LEDS
PORTC = %11111111 '8 LEDS
PORTD = %11111111 '8 LEDS
PORTE = %00000111 '3 LEDS
'aqui se pone la segunda linea de los 32 leds del dibujo
PORTA = %00111110 '5 LEDS , RA0 SIMPRE EN CER0 ¡¡¡¡ES EL SINCRONISMO¡¡¡¡
PORTB = %11111111 '8 LEDS
PORTC = %11111111 '8 LEDS
PORTD = %11111111 '8 LEDS
PORTE = %00000111 '3 LEDS
'aqui se pone la tercera linea de los 32 leds del dibujo
'y mas y mas y mas lineas de codigo de dibujo asta las 62 lineas
WaitMs 12

Goto inicio

End
Última edición por tomastell el Vie, 09 Jul 2010 19:38, editado 1 vez en total.
Avatar de Usuario
Por tomastell
#962999
Para ayudar un poco pongo un ejemplo de como se convierten los dibujos
mirar este codigo de ceros y unos , 0 apagados 1 encendidos
envio el dibu y el codigo binario correspondiente es de lo mas sencillo
podeys diseñar buestro anagrama personalizado
yo estoy programando dibus al azar
este es el dibu :
y este el el codigo correspondiente:
Adjuntos
(17 KiB) Descargado 284 veces
Por retrotero
#970460
Hola Tomastell

¿Que hay de nuevo? Tengo un esquema de un POV que te envié de un solo mensaje, pero este se pueden poner hasta 15 ó menos mensajes y mediante un pulsador cambias los mensajes de uno a uno aleatoriamente con el pic 12f629. Y otro esquema que es un reloj digital (3:05:23),así se muestra, puedo hacerlo que salgan horas y minutos ó horas, minutos y segundos. Este lo estoy probando y de momento se retrasa o se recupera 1 minuto mas o menos de cada semana y media. Este es con el pic 16f84A.

Bueno. Está claro que estos circuitos no son para ponerlos en las palas de un heli, pero sí para tenerlo de decoración en casa.

Ya me contaras algo. Un saludo. Retrotero.
Por Nico P
#990168
hola.. quiero realizar el proyecto del pov que dice "hola mundo" pero el programa que ha publicado tomastell me salta con error cuando lo pruebo en el programa MPLAB...por favor lo podrian subir bien...porque eh tratado de encontrar el error pero no lo encuentro... desde ya muchas gracias.. esta muy bueno este proyecto!!

¡Elija que Addons deben funcionar, utilice sólo lo que realmente necesita!