Algoritmo para nombre and POV led

Hola compañeros este es uno de los muchos temas que escribiré para preguntar y debatir sobre los PIC's. Bueno, la cuestion es la siguiente: en josepino se encuentra un proyecto sobre un airdisplay (parecido al propeller clock que tanto me gusta y me gustara) y se muestra un algoritmo para personalizar el mensaje. Me gustaria que me explicaran cuales son los pasos que debo tomar para modificar el algoritmo con mi nombre (anthony) y en diversas ocaciones cambiarlos a otros.
Aqui se encuentra el link del algoritmo: http://www.josepino.com/pic_projects/air_display/airdisplay_code.html. Gracias por su atensión y tiempo y espero sugerencias, modificaciones, etc. Gracias
 
Con lo sencillo que es decir "usar tablas"
¿Cual es el problema? es tan facil como... pos no, lo es más aun. dolo tienes que ir llamando ´a la letra que quieres invocar. en orden claro está.

con fijarte un poco, igual te das cuenta y todo.

PD joer como se notan los tripis
 
Pues lo que pasa es que estoy superrrrr novato en esto de los PIC's y no se que tomar. Saludos.
PD: Me podrias mostrar como se haria con las 2 primeras letras?
 
Algo asi?

Código:
 ;Microcontroller:  12f629 Speed: 4 Mhz Internal RC

delay 200 miliseconds
Set Comparator Mode 7

variable byte f = 00000000b   ; Output data
variable byte s                  ; Temporal variable
variable byte o                  ; message number.

procedure salida( s as byte ) is
gpio = s
delay 500 us
gpio = 00000000b
delay 200 us         
end procedure

procedure disp ( f as byte ) is
if f = "0" then f = "O" 
if f = "A" then
   salida(0011_0110)
   salida(0000_0101)
   salida(0000_0101)
   salida(0011_0110)
end if
if f = "B" then
   salida(0011_0111)
   salida(0010_0101)
   salida(0010_0101)
   salida(0001_0010)
end if
if f = "C" then
   salida(0001_0110)
   salida(0010_0001)
   salida(0010_0001)
   salida(0010_0001)
end if
if f = "D" then
   salida(0011_0111)
   salida(0010_0001)
   salida(0010_0001)
   salida(0001_0110)
end if
if f = "E" then
   salida(0011_0111)
   salida(0010_0101)
   salida(0010_0101)
   salida(0010_0001)
end if
if f = "F" then
   salida(0011_0111)
   salida(0000_0101)
   salida(0000_0101)
   salida(0000_0001)
end if
if f = "G" then
   salida(0001_0110)
   salida(0010_0001)
   salida(0010_0101)
   salida(0011_0101)
end if
if f = "H" then
   salida(0011_0111)
   salida(0000_0100)
   salida(0000_0100)
   salida(0011_0111)
end if
if f = "I" then
   salida(0010_0001)
   salida(0011_0111)
   salida(0010_0001)
end if
if f = "J" then
   salida(0001_0000)
   salida(0010_0000)
   salida(0010_0000)
   salida(0001_0111)
end if
if f = "K" then
   salida(0011_0111)
   salida(0000_0100)
   salida(0001_0010)
   salida(0010_0001)
end if
if f = "L" then
   salida(0011_0111)
   salida(0010_0000)
   salida(0010_0000)
   salida(0010_0000)
end if
if f = "M" then
   salida(0011_0111)
   salida(0000_0010)
   salida(0000_0100)
   salida(0000_0010)
   salida(0011_1111)
end if
if f = "N" then
   salida(0011_0111)
   salida(0000_0010)
   salida(0000_0100)
   salida(0001_0000)
   salida(0011_0111)
end if
if f = "O" then
   salida(0001_0110)
   salida(0010_0001)
   salida(0010_0001)
   salida(0001_0110)
end if
if f = "P" then
   salida(0011_0111)
   salida(0000_0101)
   salida(0000_0101)
   salida(0000_0010)
end if
if f = "Q" then
   salida(0001_0110)
   salida(0010_0001)
   salida(0011_0001)
   salida(0011_0110)
end if
if f = "R" then
   salida(0011_0111)
   salida(0000_0101)
   salida(0000_0101)
   salida(0011_0010)
end if
if f = "S" then
   salida(0010_0010)
   salida(0010_0101)
   salida(0010_0101)
   salida(0001_0001)
end if
if f = "T" then
   salida(0000_0001)
   salida(0011_0111)
   salida(0000_0001)
end if
if f = "U" then
   salida(0001_0111)
   salida(0010_0000)
   salida(0010_0000)
   salida(0001_0111)
end if
if f = "V" then
   salida(0000_0111)
   salida(0001_0000)
   salida(0010_0000)
   salida(0001_0000)
   salida(0000_0111)
end if
if f = "W" then
   salida(0011_0111)
   salida(0001_0000)
   salida(0000_0100)
   salida(0001_0000)
   salida(0011_0111)
end if
if f = "X" then
   salida(0010_0001)
   salida(0001_0010)
   salida(0000_0100)
   salida(0001_0010)
   salida(0010_0001)
end if
if f = "Y" then
   salida(0000_0001)
   salida(0000_0010)
   salida(0011_0100)
   salida(0000_0010)
   salida(0000_0001)
end if
if f = "Z" then
   salida(0011_0001)
   salida(0010_0101)
   salida(0010_0101)
   salida(0010_0011)
end if
if f = "1" then
   salida(0010_0001)
   salida(0011_0111)
   salida(0010_0000)
end if
if f = "h" then         ; 'h' lowercase = Hearth character
   salida(0000_0010)
   salida(0000_0111)
   salida(0001_0111)
   salida(0011_0110)
   salida(0001_0111)
   salida(0000_0111)
   salida(0000_0010)
end if
if f = "!" then
   salida(0000_0000)
   salida(0010_0111)
   salida(0000_0000)
end if
if f = "'" then
   salida(0000_0011)
end if
if f = "." then
   salida(0010_0000)
end if
if f = "o" then        ; 'o' Lowecase
   salida(0001_0000)
   salida(0010_0100)
   salida(0010_0100)
   salida(0001_0000)
end if
if f = " " then        ; space character.
   delay 4 miliseconds
end if
delay 1 milisecond
end procedure

; main program
gpio = all output

if o = 0 then
; Display  "ANTHONY"
o = o + 1
anthony loop
disp("A")
disp("N")
disp("T")
disp("H")
disp("O")
disp("N")
disp("Y")
disp(" ")
disp("h")
end loop
end if
o = 0
salida(0000_0000)
sleep microcontroller   ; sleep command
nop   ; No operation
 
Hay una opción, no te lo tomes a mal, que te permite simular los programas. Prueba a usarla a ver que ocurre.

Saludos

PD me encanta tu postura. eres un autodidacta que merece la pena apoyar.
 
Muchas gracias, pues lo que se lo saque de leer ,comprender y preguntar demasssss. Bueno me podrias decir que programa? Estube conversando con algunos compañeros y me dijeron que necesito copilarlo o algo por el estilo y trabajar en conjunto con el MPlab
 
mira anthony
en el mplab puedes crear tus programas y compilarlos y luego consiguete el proteus , una herramienta poderosisima para simulacion de microcontroladores y en ella lo simulas
 
LA pregunta más lógica no sería ¿El programa original funciona?
Contesta eso primero. y luego continuamos.

Saludos

PD. Esa pregunta te va a costar unas birras.
 
El nombre dijo:
PD. Esa pregunta te va a costar unas birras.
Ya las estoy enviando por fedex!
Pues la verdad que modifique el codigo en microbasic y lo copile. Falta que me llegue el PIC y lo armo de una.
PD: Todavia dejo una pregunta al aire ¿Como lo hago con mas resolusion empleando el archiconocido 16F84A?
 
te adjunto un programita muy sencillo para sacar un código de una tabla.
Primero aprende a utilizar la tabla simulando con el Mplab.
Si comprendes como funciona podrás hacerte el que quieras facilmente. Tiene una pega si tasas con las tablas. ya te darás cuenta.

Saludos y paciencia
 

Adjuntos

  • ejem1_10_123.asm
    1.3 KB · Visitas: 411
mmm la verdad tedria que ir intentando. Pero siempre me ha gustado tener una persona que me ayude personalmente o que acuda a un curso no se. Creo que se aprende mejor asi. Pero gracias por la ayuda. Seguire intentando. Cualquier cosa lo publico aki.
 
hombre, viene a ser como nadar. tienes que empezar por el principio.
Bájate un tutorial y...
Tienes todo el permiso del mundo para bombardear mi correo cuanto quieras y respecto a lo que quieras. (no más que cervezas, pasta ni un ctmo).

A tu servicio
 
No sé si entiendo la pregunta.

Los códigos que mandas a los leds los enciendes y apagan, formando el dibujo de las letras. Si inclinas tu cabeza sobre el hombro derecho y te fijas en los códigos, verás el "dibujo" que se manda para "dibujar" cada letra.

Con eso puede crear cualquier gráfico. Prueba a dibujar el texto que quieres en papel cuadriculado, y pasa luego la secuencia de casillas encendidas/apagadas al PIC.

Si no estoy respondiendo a la pregunta, disculpadme :)
 
En breve voy a disponer de mi ordenata y así poder terminar una cosa que tengo pendiente en este gran foro. Si quieres podemos abrir un par de temas ya que nadie se decide:
En uno voy comentando el pic en ensamblador, desde cero.
En otro se van comentando problemas.
De esa forma se puede quedar un bonito tutorial
 
Hola he visto el circuito del enlace que aparece en el primer post, me podriais explicar de como con ese circuito, tan solo 7 leds, se puede ver una palabra, perdonad la intrusion en el tema pero parece interesante.
Un saludo.
 
patriceloco dijo:
Hola he visto el circuito del enlace que aparece en el primer post, me podriais explicar de como con ese circuito, tan solo 7 leds, se puede ver una palabra, perdonad la intrusion en el tema pero parece interesante.
Un saludo.

Letra A:

Código:
  **
 *  *
*    *
******
*    *
*    *

Letra K

Código:
*      *
*    *
*  *
**
*  *
*    *
*      *

Los 7 leds que giran son cuando están en la posición angular "1", se iluminan todos a la vez
un momento despues, que se han movido, se apagan todos menos el central. Un momento despues se apaga el central y se encienden los que tenía a cada lado. Un poco despues, se apagan esos dos y se encienden los dos que tienen a su lado, hacia el exterior... etc.
Acabas de dibujar una letra "k" en el aire
 
Atrás
Arriba