LED Cube

lo que pasa es que escoji ese pic porque tiene entradas analogicas y queria que se moviera al ritmo de la musica y aparte era el que tenia a la mano, puedes usar el 16f84, lo unico que tendrias que modificar serian los puertos


es un post que subi en taringa, es como hacer tus propias rutinas para que lo programes tu mismo y puedas cambiar de pic
http://www.taringa.net/posts/ciencia-educacion/12341063/crear-rutinas-para-cubo-de-leds-3x3x3.html
 
de hecho si se puede y seria bueno probarlo, seria de que tu le checaras.

por ahora ando algo ocupado y no me da tienpo de probarlos, tambien se puede con el purto serial y paralelo, hasta por el cable ethernet.

lo puedes tambien programar en visual basic o el lenguaje en el que mas te acomodes
 
Última edición:
Hola Gente:

Les dejo imagen de un 4x4x4 comandado por micro de ATMEL.

cubo.jpg
 
Última edición:
Muy buenas noches, antes de escribir nada.. no se si este es el sitio correcto para aportar y preguntar lo siguiente.

La imagen que he subido (Dibujo) es el esquema del cubo. Respecto al montaje, cuando haga el pcb subiré fotos de como hacerlo, pero como no se cuanto voy a tardar avanzo una cosita, la pata común para los layers es el positivo, y para las columnas es el negativo.

La segunda imagen que he subido (Dibujo2) es el funcionamiento "básico". (el circuito esta ambientado al ledcube 5x5x5 que es el siguiente que haré).


Corregidme si me equivoco:

Cuando tu mandas un 1 lógico desde el PIC por los puertos PB2 y PA0 activas el "transistor de paso" BC237 y BC337 y el led se enciende.


Como hacer figuras con este cubo se hace con barridos, o multiplexado, eso significa que tienes que hacer cada movimiento uno a uno y con demoras de 5mS. (aquí estará una de mis preguntas)



un ejemplo de mis programaciones es la siguiente (digamos que es a lo basto para probar que funcionase bien el PIC y el cubo):

Código:
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : Soopy46 *
'* Notice : Copyright (c) 2011 Mulinee..46 ] *
'* : All Rights Reserved *
'* Date : 11/11/2011 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
cmcon=7 ;convertir puerto A en digital
peter var byte ;crea la variable peter y le asigna
;un espacio de memoria de 0 a 255 
nike var byte ;crea la variable nike y le asigna
;un espacio de memoria de 0 a 255 
x1 var portb.0 ;asigna el nombre de x1 al pin B.0
x2 var portb.1 ;asigna el nombre de x2 al pin B.1
x3 var portb.2 ;asigna el nombre de x3 al pin B.2
x4 var portb.3 ;asigna el nombre de x4 al pin B.3
x5 var portb.4 ;asigna el nombre de x5 al pin B.4
x6 var portb.5 ;asigna el nombre de x6 al pin B.5
x7 var portb.6 ;asigna el nombre de x7 al pin B.6
x8 var portb.7 ;asigna el nombre de x8 al pin B.7
x9 var porta.0 ;asigna el nombre de x9 al pin A.0
y1 var porta.2 ;asigna el nombre de y1 al pin A.2
y2 var porta.3 ;asigna el nombre de y2 al pin A.3
y3 var porta.1 ;asigna el nombre de y3 al pin A.1
 
main:
trisa = %00000000 ;Hace todo el puerto A como salida
high porta.7 ;Enciende el led para comprobar que funciona
pause 500 ;Demora de 1/2 segundo
low porta.7 ;Desconecta led
pause 500
 
;----------Movimiento en cuadrados-------
inicio:
for peter = 1 to 10 ;repetir un total de 10 veces
high y1 ;--------------------------
high y2 ;--------------------------
high y3 ;Enciende las columnas x7 
high x7 ;x8 y x9-------------------
high x8 ;--------------------------
high x9 ;--------------------------
gosub pausar
low x7 ;--------------------------
low x8 ;Apaga las columnas x7 x8 y 
low x9 ;x9 y enciende las columnas
high x4 ;x4 x5 y x6----------------
high x5 ;--------------------------
high x6 ;--------------------------
gosub pausar
low x4 ;--------------------------
low x5 ;Apaga las columnas x4 x5 y
low x6 ;x6 y enciende las columnas
high x1 ;x3 x2 y x1----------------
high x2 ;--------------------------
high x3 ;--------------------------
gosub pausar
low x1 ;--------------------------
low x2 ;Hacer los movimientos de 
low x3 ;antes pero en sentido 
high x4 ;opuesto (Antes < ,ahora >)
high x5 ;--------------------------
high x6 ;--------------------------
gosub pausar
low x4 ;--------------------------
low x5 ;--------------------------
low x6 ;--------------------------
high x7 ;--------------------------
high x8 ;--------------------------
high x9 ;--------------------------
gosub pausar
low x7 ;--------------------------
low x8 ;--------------------------
low x9 ;--------------------------
next ;siguiente repetición
 
For nike = 1 to 2
porta = %0001111 ;Encender todos los lays y la columna x9 
portb = %1111111 ;Encender todas las columnas
pause 500 ;Demora de 1/2 segundo
porta = %1000000 ;Apaga los lays y la columna x9 y enciende led rojo de pruebas
portb = %0000000 ;Apaga todas las columnas
pause 500 ;Demora de 1/2 segundo
next
goto inicio ;volver a la línea de programa inicio
pausar:
pause 200
return
 
end ;fin de la programación.


Digo que es a lo basto porque es controlar todos y cada uno de los movimientos uno a uno.. y yo creo recordar que había alguna manera de guardar una figura y luego representarla..
Por ejemplo decir que un mando mide desde el eje 0:

0-3 de largo
0-1 de ancho

y yo hacer un programa que lo hace ir hacia alante y hacia atras simplemente cambiando lo siguiente

0-3 de largo
1-2 de ancho
0-3 de largo
2-3 de ancho
y viceversa..

No se si me entendéis.
Hacer una figura por ejemplo y luego esta representarla y cambiar su posición con un par de códigos..

Lo que esta en rojo es la pregunta.. ya que si quiero hacer varias programaciones y tengo que hacer todos y cada uno de los movimientos uno a uno el PIC lo voy a llenar con nada.. (ya me entiendo..)

o maneras de hacer que se vayan encendiendo los leds como en este video

Partes:
0:08
0:53
1:20 este es el que mas me interesa.. hacer que se enciendan "a boleo"..

a ver se programar bastante en Basic pero quizás hay cosas que podría hacer de otro modo por eso pregunto..



Si alguien me puede ayudar con esto.. de la programación, cuando la acabe la subo y los pcb también ;)
(Utilizo MicroCode Studio 3.0.0.5 y pbp 3.47)

Saludos
 

Adjuntos

  • Dibujo.GIF
    Dibujo.GIF
    12.5 KB · Visitas: 197
  • Dibujo2.GIF
    Dibujo2.GIF
    21.4 KB · Visitas: 145
un saludo a todos, disculpen, no habra forma de que me puedan ayudar a mas o menos guiarme de como hacer la programacion en assambler/ensamblador... eh visto puros cubos de leds en Basic pero no se programar en Basic por lo tal no los entiendo y no nos permitieron programar en C para este proyecto, sera posible que alguien me pueda echar una mano con esto?

porcierto, estoy usando el Pic 16f887, equivalente al 16f877 pero con cristal interno...
 
Última edición:
cito:

Cubo led
Muy buenas, a ver, yo solo se programar en basic pero.. si que podria ayudar a guiarte para seguir mas o menos un orden..
tambien te paso un trozo de codigo en ASM y me dices si es así como tu programas..

(mas o menos..)

Código:
 INCLUDE "16F628A.INC"
RAM_START         EQU 00020h
RAM_END           EQU 0014Fh
RAM_BANKS         EQU 00003h
BANK0_START       EQU 00020h
BANK0_END         EQU 0007Fh
BANK1_START       EQU 000A0h
BANK1_END         EQU 000EFh
BANK2_START       EQU 00120h
BANK2_END         EQU 0014Fh
EEPROM_START      EQU 02100h
EEPROM_END        EQU 0217Fh
R0                EQU RAM_START + 000h
R1                EQU RAM_START + 002h
R2                EQU RAM_START + 004h
R3                EQU RAM_START + 006h
R4                EQU RAM_START + 008h
R5                EQU RAM_START + 00Ah
R6                EQU RAM_START + 00Ch
R7                EQU RAM_START + 00Eh
R8                EQU RAM_START + 010h
FLAGS             EQU RAM_START + 012h
GOP               EQU RAM_START + 013h
RM1               EQU RAM_START + 014h
RM2               EQU RAM_START + 015h
RR1               EQU RAM_START + 016h
RR2               EQU RAM_START + 017h
_peter             EQU RAM_START + 018h
_raton             EQU RAM_START + 019h
_salto             EQU RAM_START + 01Ah
_PORTL             EQU  PORTB
_PORTH             EQU  PORTA
_TRISL             EQU  TRISB
_TRISH             EQU  TRISA
#define _x1               _PORTB??0
#define _x2               _PORTB??1
#define _x3               _PORTB??2
#define _x4               _PORTB??3
#define _x5               _PORTB??4
#define _x6               _PORTB??5
#define _x7               _PORTB??6
#define _x8               _PORTB??7
#define _x9               _PORTA??0
#define _y1               _PORTA??1
#define _y2               _PORTA??2
#define _y3               _PORTA??3
#define _rutbot           _PORTA??6
#define _PORTB??0          PORTB, 000h
#define _PORTB??1          PORTB, 001h
#define _PORTB??2          PORTB, 002h
#define _PORTB??3          PORTB, 003h
#define _PORTB??4          PORTB, 004h
#define _PORTB??5          PORTB, 005h
#define _PORTB??6          PORTB, 006h
#define _PORTB??7          PORTB, 007h
#define _PORTA??0          PORTA, 000h
#define _PORTA??1          PORTA, 001h
#define _PORTA??2          PORTA, 002h
#define _PORTA??3          PORTA, 003h
#define _PORTA??6          PORTA, 006h
#define _PORTA??7          PORTA, 007h
 INCLUDE "LEDCUB~1.MAC"
 INCLUDE "PBPPIC14.LIB"
 MOVE?CB 007h, CMCON
 MOVE?CB 000h, TRISA
 MOVE?CB 000h, TRISB
 HIGH?T _PORTA??7
 PAUSE?C 001F4h
 LOW?T _PORTA??7
 PAUSE?C 001F4h
 LABEL?L _subbaja 
 MOVE?CB 0FFh, PORTB
 MOVE?CB 003h, PORTA
 GOSUB?L _tsb
 GOSUB?L _comprobar
 MOVE?CB 0FFh, PORTB
 MOVE?CB 005h, PORTA
 GOSUB?L _tsb
 GOSUB?L _comprobar
 MOVE?CB 0FFh, PORTB
 MOVE?CB 009h, PORTA
 GOSUB?L _tsb
 GOSUB?L _comprobar
 MOVE?CB 0FFh, PORTB
 MOVE?CB 005h, PORTA
 GOSUB?L _tsb
 GOSUB?L _comprobar
 MOVE?CB 0FFh, PORTB
 MOVE?CB 003h, PORTA
 GOSUB?L _tsb
 GOSUB?L _comprobar
 GOTO?L _subbaja
 LABEL?L _tsb 
 PAUSE?C 0C8h
 RETURN?

saludos y ya iremos hablando para avanzar con tu proyecto..
porcierto que dimensiones quieres de cubo? :O
3x3x3 4x4x4 5x5x5 .. ?


RESPUESTA para soopy

soopy, la verdad yo uso ese ensamblador te mostrare un fragmento de la forma de programar que uso

Código:
  ORG 0x0000
  
 GOTO INICIO
  
  ORG 0x0010

INICIO: CLRF PORTC
  
  BSF STATUS, RP0
  BSF STATUS, RP1
  
  CLRF ANSEL
  CLRF ANSELH

  BSF STATUS,RP0
  BCF STATUS,RP1
    
  CLRF TRISC
    
  MOVLW 0x03
  MOVWF TRISB      
  
  BCF STATUS,RP0
  BCF STATUS,RP1
  
 MOVLW CTE2
 MOVWF PORTC
  
CICLO: CALL RETARDO
  
 BTFSS PORTB,RB0


y en cuanto a las dimensiones de mi cubo, ahorita estoy trabajando en un prototipo de 3x3x3 pero mi proyecto en realidad es de 6x6x6 es proyecto final de materia, si alguien me puede echar una mano con la programacion en assambler o bien, como dije, ayudarme saber por donde empezar y que hacer mas o menos, no se programar en basic por tal, no entiendo los codigos en basic, yo estoy usando ensamblador y pues si alguien me puede echar la mano con eso pues me haria un gran favor
 
Última edición por un moderador:
Hola! Bueno me presento porque soy nuevo en este foro. :rolleyes: Soy estudiante de electrónica, y me parece buen proyecto el del cubo de led, y veo que se hacen grandes avances en el subforo.

La verdad que con este proyecto ando algo liado. Con la programación no hay problema, ahora que con el esquema tengo problemas. He visto diferentes esquemas y algunos no tienen que nada que ver con el resto.

Los PIC que utilizo son el 16f876A y el 16F84A.

Mi duda es sobre como conectar los leds al PIC. Si quiero un cubo de 4x4x4 ¿necesito 20 transistores? ¿no? 4 para las 4 plantas y 16 para las columnas?

¿Porque he llegado a ver circuitos con apenas 4 transistores, conectando directamente las 16 columnas al PIC, si ambos PICs no dan corriente suficiente?

Disculpen mi ignorancia. Saludos y gracias!
 
lo que pasa es que puedes reducir tus conexiones a un led de dimensiones mayores conectando registros de memoria temporal (asi los llamo yo) que son los flip flop, en mi cubo 6x6x6 tengo planeado usar 74573 o su equivalente que seria 74373 es un flip flop tipo D, conectas todas las salidas del pic en comun a las entradas de 6 registros flip flop, es decir.. todas las entradas D1 de todos los registros, y luego todas las D2
de otro modo ocuparia 36 direcciones para todos mis anodos

los clock van a un multiplexor de 3 a 8 salidas y los /oe van en comun igual que los datos

de este modo te quedarian 6 del pic para los anodos, 6 para los enables, y 3 para el multiplexor de 3a6, y 6 salidas para las tierras... un total de 21 puertos del pic, en mi caso uso el 16f887, sin embargo, todavia tengo problemas con el programa, te dejo el instructivo del cual me estoy guiando en este link
http://dl.dropbox.com/u/33508060/Cubo de Leds.pdf
 
Última edición:
Jeryus he estado viendo más o menos el circuito que me has dicho. La verdad que es un buen planteamiento para cubos de mayores dimensiones. Tengo una duda, que en cuanto me la resuelvas entenderé...creo que todo... o al menos una parte del problema :unsure:. La cuestion es que si quieres encender dos led que esten en pisos diferentes y en columnas diferentes, Al estas los enables conectados al multiplexor, solo podras habilitar un integrado (74ls373 en mi caso), por lo que solo tendras un led encendido asi que por lo que puedo llegar a entender, tienes que habilitar uno por uno cada cierto tiempo, para que de la sensación de que estan los dos a la vez, me imagino que será un mínimo de 24 fps.

Por otra parte, el 74ls373 actuaría como "buffer", donde la patilla G (habilitación), la podremos poner a Vcc, y jugamos con la patilla /oe para activar o desactivar (estado de alta impedancia) los pisos.

Por último, los transistores de los cátodos (de cada piso) no harían falta al estar el 74ls373 ¿no?

Sigo motando los LEDs, en cuanto termine y me haga con el pic, voy con la programación y comento.
 
hola saludos a todos me les voy a unir en la realizacion de un cubo led.


En la siguiente pagina encontraran todo lo necesario para realizar el cubo de 5x5x5, incluye los archivos hex para programar la pic 16f688

http://picprojects.org.uk/projects/lc/index.htm#PCB_Layout


encontre el archivo pdf para la realizacion del cubo 8x8x8, es el mismo de la pagina que mencionan al principio, esta el pdf pero faltan los archivos para programar los microcontroladores

http://www.mediafire.com/?7w2itbx9cjjwbx1

si alguien pudiera encontrar los archivos para este ultimo de 8x8x8 seria muy bueno
 
aca estan unas imagenes de la placa que diseñe.
ya esta probada, funciona y lo mejor de todo es que es con pic 16F877.
trae su matriz para hacer los niveles.
espero comenten.
picture.php


picture.php
 
Hola, Saludos a todos.


En primera instancia tambien tengo muchas ganas de realizar este proyecto y estoy recopilando informacion y en ello encontre el esquematico del cubo 8x8x8 pero tal como dicen otros comentarios, los LED resultan ser bastante costosos (serian 512 led en total y saldrian unos 300 Dolares) por lo que me veo en la obligacion a realizar uno mas pequeño y el de 5x5x5 que subio el usuario Rash me agrado bastante, pero cuando quiero descargar los archivos para revisarlos, el segundo pdf (080355_pcb_205.pdf) aparece como archivo corrupto por lo cual no puedo continuar ya que tengo unas ciertas dudas que quiero esclarecer ...
No se si alguien mas tiene ese archivo y lo pudiera subir nuevamente al topic cosa de seguir buscando informacion de ello.

Atte. muchas gracias.

Hyperion.



aca estan unas imagenes de la placa que diseñe.
ya esta probada, funciona y lo mejor de todo es que es con pic 16F877.
trae su matriz para hacer los niveles.
espero comenten.
picture.php


picture.php

Ericktronil, esta buenisimo el diseño de tu cubo ... tengo unas dudas y no se si me puedes ayudar .... necesito esclarecer dudas sobre el esquematico y el PCB del cubo, seria mucho pedir que me las envies ??

Saludos.
 

Adjuntos

  • 080355_11_317.zip
    161.9 KB · Visitas: 210
Última edición:
Ericktronil, esta buenisimo el diseño de tu cubo ... tengo unas dudas y no se si me puedes ayudar .... necesito esclarecer dudas sobre el esquematico y el PCB del cubo, seria mucho pedir que me las envies ??

Saludos.

Hola Hperion.

En primera, los archivos que subiste son del popular cubo hecho con un microcontrolador atmel.
yo tambien pense en armar ese cubo, pero para poder hacerlo tenia que hacer un programador de atmel, y la placa salia mucho mas costosa que la que acabo de hacer.

te enviare los archivos del cubo porsupuesto, pero solo los el PDF para hacer el montaje con su respectiva lista de materiales, ya que trabaje mucho para poder diseñar ese circuito(el cadigo no esta finalizado).

espero poder tener respuestas para tu dudas(cualquier cosa MP).

trabajare en estos dias para tener los archivos totalmente listos y poder enviartelos.

Saludos.
P.S. espero que cuando lo montes me envies algunas fotos.
 
Hola Hperion.

En primera, los archivos que subiste son del popular cubo hecho con un microcontrolador atmel.
yo tambien pense en armar ese cubo, pero para poder hacerlo tenia que hacer un programador de atmel, y la placa salia mucho mas costosa que la que acabo de hacer.

te enviare los archivos del cubo porsupuesto, pero solo los el PDF para hacer el montaje con su respectiva lista de materiales, ya que trabaje mucho para poder diseñar ese circuito(el cadigo no esta finalizado).

espero poder tener respuestas para tu dudas(cualquier cosa MP).

trabajare en estos dias para tener los archivos totalmente listos y poder enviartelos.

Saludos.
P.S. espero que cuando lo montes me envies algunas fotos.


Claro que subire fotos a medida que avance y luego realizare un topic de los progresos, cosa que los usuarios del foro vean los progresos y puedan realizar preguntas.

No te puede enviar MP ya que aun no tengo los mensajes necesarios. Ademas, me serviran mucho lo que puedas enviarme cosa de avanzar con el proyecto.


Saludos.

Hyperion
 
Ericktronik , consulta ....


en el archivo pdf que esta en la pagina 1 de este topic, aparece el esquematico pero no aparece el cristal de cuarzo que aparece en tu esquematico ... es necesario que este o es escencial ???


Saludos.

PD: esperare tu esquematico con el pic ... mientras realizo pruebas con el pcb wizzard ... si puedes enviamelo a mi correo, por favor :)
 
en el archivo pdf que esta en la pagina 1 de este topic, aparece el esquematico pero no aparece el cristal de cuarzo que aparece en tu esquematico ... es necesario que este o es escencial ???

Hola Hyperion.

en realidad el cristal de cuarzo se usa solo para los microcontroladores de Micrhocip(que yo sepa), los micros de atmel no necesitan un cristal.

pero en realidad prefiero trabajar con microchip pues es mas barato que atmel.

PS. con respecto a los archivos creo que vas a tener que esperar mas de lo que te dije, pues el lunes fuy operado, y no puedo usar demaciado tiempo la PC.


PS2. con respecto al topic del cubo, quiero ser yo el que haga el topic dedicado(ya que es mi cricuito) y juntos podriamos complementarlo poco a poco.
 
Atrás
Arriba