[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4713: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3848)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4715: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3848)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4716: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3848)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4717: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3848)
openhardware.sv • View topic - Cubo led con PIC y Arduino

Cubo led con PIC y Arduino

Si ya has avanzado en un proyecto Open Hardware comparte tus avances en este foro. Este es el espacio para que compartas tus experiencias con el desarrollo de tu proyecto.

Cubo led con PIC y Arduino

Postby Eoth » Sat Sep 07, 2013 11:17 pm

Saludos a toda la Comunidad, ya que no hay mucho por acá después del evento, me animo y posteo mi primer monstruo XD , algo sencillo (de veras es sencillo si te lo explican bien): un cubo led 3x3x3.

Para empezar, utilicé este diagrama que se encuentra en este blog:



Image

Sólo modifiqué el cable que va hacia el pin 2 del PIC (RA3) y lo pasé al pin 16 (RA7) para facilitarme el código. Armar el cubo no tiene mayor compilcación, en la página explican muy bien como construirlo, lo bonito viene a la hora de programar. Yo aprendí (y sigo usando) PicBasic, por lo que mi programa está en eso, basandome en el programa de ejemplo que está en el blog llegué a este programita:

_________________________________________________________________________________________________________
cmcon=7
trisa=0
trisb=0

x var byte

inicio:
for x=1 to 50
portb=%00000001 : porta=%00000010
pause 1
portb=%00000010 : porta=%00000101
pause 1
portb=%00000100 : porta=%00000010
pause 1
next

for x=1 to 100
portb=%00001000 : porta=%00000010
pause 1
portb=%00010000 : porta=%00000101
pause 1
portb=%00100000 : porta=%00000010
pause 1
next

for x=1 to 50
portb=%01000000 : porta=%00000010
pause 1
portb=%10000000 : porta=%00000101
pause 1
portb=%00000000 : porta=%10000010
pause 1
next

for x=1 to 50
portb=%11111111 : porta=%10000010
pause 1

goto inicio

end
_________________________________________________________________________________________________________

Aquí, los bits 0 al 2 del puerto A (porta=% xxxxx000) controlan los cátodos comunes de cada nivel, necesitando un cero para que circule la corriente, si quisieramos activarlo con un uno en lugar de un cero (para facilitar la lectura) debería usarse un transistor en modo de interruptor o bien un inversor NOT (pero no tenía ni uno ni el otro, así que será para la versión 0.2). Además, el bit 7 (porta=% 0xxxxxxx) controla la última fila de ánodos del cubo, el resto de ánodos están controlados por el puerto B (portb=% 00000000).

El programa realiza la siguiente secuencia: dibuja una "x" en la primer capa y la traslada a las demás, para mantener la "imagen" repite cada ciclo 50 veces (el bucle for-next) y luego pasa a la siguiente "imagen", hoy tipo 6 que me puse a "travesiar" funcionó de maravilla con un PIC16f628, pero luego que quise probar con dos 16F628A se queda trabado en la primer secuencia y no hace nada mas, obviamente cambié el tipo de pic en el MicroCode Studio y a la hora de quemarlo también, será que los pics están malos (porque los compré baratus baratus en ebay) o no sé si realmente sea eso o hay algun parámetro del 628A que estoy olvidando.

Otra cosa es que, teniendo ya armado el "prototipo feo", quise probarlo en Arduino, modificando el clásico blink, (que conste que soy absolutamente newbie con Arduino, hace una semana vino un clon del Nano 328), pero al tratar de hacerlo SORPRESA!!! tengo que declarar uno a uno los pines, y yo sdfasdfasdfsdfsdf, no habrá una forma más sencilla (como en el pic) de declarar el estado de todo el puerto digital con una sola sentencia? Además, en los cubos que he visto en Instructables, usan una especie de matriz en el código para representar más fácilmente las secuencias del cubo. Estoy queriendo hacer con mis alumnos un cubo RGB de 5x5x5 usando el mismo Arduino y los 74HC595, pero en lenguaje C estoy bieeeen verde. Apreciaría algo de AYUUUUUUUUUUUUUUDAAAAAAA XD .

Sin más blabla, las fotos de mis dos "prototipos feos"







Este es el minientrenador para Pic16f628 que hice en un apuro XD , funciona y es lo importante jaja, a pesar de haber caido en el "pecado" de la galleta jaja.





Este quise hacerlo sin cátodo común porque aun no había entendido cómo se controlaba, pero ya lo modifiqué.





Videos pronto!
Eoth
 
Posts: 3
Joined: Sat Sep 07, 2013 9:56 pm

Re: Cubo led con PIC y Arduino

Postby openhardwareadmin » Sat Sep 07, 2013 11:29 pm

¡Gracias por el aporte Eoth! Se ve que ya lo tienes prácticamente terminado... ¡Esperamos muy pronto los videos!

No tiene nada de malo usar galleta, yo me acuerdo cuando salí del colegio no me gustaba, pero hoy que trabajo y tengo cosas que hacer sinceramente no me queda tiempo de quemar tabletas, además del relajo que dejaba siempre jejejeje

Mario.
openhardwareadmin
Site Admin
 
Posts: 7
Joined: Fri Aug 30, 2013 12:24 am

Re: Cubo led con PIC y Arduino

Postby keikkun4 » Sun Sep 08, 2013 2:55 am

WOW que bueno!!! comenzar a ver proyectos!!! por aqui.... muy bueno eh interesante y tranquilo todo buen proyecto inicia con galleta luego cuando ya se tiene funcionando bueno vale la pena gastar en y realizar algo en limpio... buenisimo genial seria ver la siguiente face del cubo ya un poco mas estetica pero muy bueno!!! Felicitaciones!!!
User avatar
keikkun4
 
Posts: 8
Joined: Sat Sep 07, 2013 2:51 am

Re: Cubo led con PIC y Arduino

Postby Luis » Sun Sep 08, 2013 3:39 am

¡Rompiste el hielo! Está interesante el proyecto siempre me han llamado la atención los cubos LED, traen para inventar mucho. Aquí todos los prototipos son monstruos pero así empiezan todos nuestros proyectos. :)
Luis
 
Posts: 6
Joined: Fri Sep 06, 2013 4:33 am

Re: Cubo led con PIC y Arduino

Postby Eoth » Sun Sep 08, 2013 10:47 am

Hey gracias por sus mensajes, pues como me dijo alguien en el encuentro: "la galleta es tu amiga" XD , hasta hoy lo voy comprendiendo jaja, pues ya mas inspirado dije a hacer otro esta noche/madrugada, un RGB 2x2x2:



ya me dediqué un poquito más y que me quedara mas estético, separé los pinheader de los ánodos por color (4 para el rojo, 4 para el verde y 4 para el azul), supongo que así será más fácil programarlo.

Ya tengo un poco de sueño, pero subiré los videos, estoy pendiente de ellos.
Eoth
 
Posts: 3
Joined: Sat Sep 07, 2013 9:56 pm

Re: Cubo led con PIC y Arduino

Postby oarsnos » Mon Sep 09, 2013 1:38 am

Así es Eoth, la galleta es tu amiga, muy interesante tu proyecto, Felicidades por romper el hielo como postearon por ahí.

Ademas como dice Mario cuando tenes 4 o 5 proyectos q sacar para el mismo día, (típico en mientras estas en la u) presentar algo en una galleta bien hecha es mejor q llevar un trabajo en breadboard

Aprovechando quisiera compartirles una secuencia de trabajo q me ha servido mucho en lo personal.

Inicias planteando bien lo q queres lograr, al inicio una función o dos bastan (por q si te pones "exquisito" agregando cosas en esta etapa nunca inicias jajaja), luego seleccionas los componentes (si son reciclados mejor ;) ) y luego paso a simular en un programa SPICE (a gusto del cliente), cuando la simulación parece satisfactoria, pasas a probar en breadboard por q es casi seguro q el SPICE habra tenido errores de simulación y aparte hay variables q el software ignora y la verdad como dice uno de mis maestros "la mejor manera de aprender es arruinando o quemando las cosas y ademas el mejor simulador es la vida real" a este punto pues ya te habrás dado cuenta de problemas, posibles mejoras, cambiado valores de componentes, un par de cositas quemadas y en fin ya tenes un diseño depurado.

Aquí ya podes pasar con toda calma a la galleta, en lo personal prefiero mucho la que no trae "pistas" predefinidas, es importante planees como colocar los elementos de forma q uses la menor cantidad de puentes posibles, y por ultimo ya con la experiencia y las pruebas hechas en la galleta podes pasar a darte gusto haciendo una PCB. Con este proceso te aseguras q el tiempo y los recursos q vas a invertir haciéndolo valdrán la pena y estarás seguro q funcionará.
Orlando Rivera Sagastizado
oarsnos
 
Posts: 5
Joined: Sun Sep 08, 2013 2:12 am
Location: San Salvador, El Salvador


Return to Construye

Who is online

Users browsing this forum: No registered users and 1 guest

cron