Sunteți pe pagina 1din 55

Cubo de led 8x8x8

link: http://www.youtube.com/v/6mXM-oGggrM rel

!"bilid"de# re$uerid"#

%lectr&nic" b'#ic". C&mo re"li("r #old"dur". C&mo utili("r un mult)metro* etc.

li#t" de componente#

+%,: -./x +%, 0m'# "lg1n extr" p"r" cometer errore#23 4e#i#tenci"# de 65x. 06e" el p"#o por #ep"r"do p"r" el v"lor de ohmio#3 prototipo de gr"n t"m"7o. %l tipo de cobre* con 8o9o#8* ver im"gen. .x :;M%G:</ microcontrol"dor 0t"mbi=n #e puede utili("r el :;meg".6 pin " pin comp"tible3 +%,# de e#t"do de <x. >#ted elige el color y el t"m"7o. 4e#i#tenci"# de <x p"r" lo# +%,# de e#t"do. 8x ?C# @5!C-@5 .6x AB//// tr"n#i#tore# .6x re#i#tenci"# de .k .x @5!C.<8 ?C .x M"xim M:X/</ ?C .x .5*@5-6 M!( corte(" /x conden#"dore# de //pC cer'mico# Conden#"dore# D..uC cer'mico .6x <x conden#"dor electrol)tico .DDDuC <x .DuC conden#"dor electrol)tico .x conden#"dore# electrol)tico# .DDuC 8x de /D pine# Conectore# ?C .x conector de 5D pine# ?C /x .6 pine# ?C (&c"lo .x /-pin termin"l de tornillo .x c"ble de / hilo# con enchuEe# F x 8-pine# cl"vi9"# de lo# termin"le#

.x 5-pine# cl"vi9"# de lo# termin"le#* en 'ngulo recto /x .6-pin conector del c"ble de cint" .x .D-pin conector del c"ble de cint" C"ble de cint" /x pul#"dore# /x cl"vi9"# de lo# c"ble# de cint" Fx 8-pin conector hembr" #e conect" C"ble en #erie y c"becer" de 5 pine# conector hembr" Aie(" de m"der" p"r" l" pl"ntill" y l" b"#e 8x opcion"le# re#i#tenci"# pull-up p"r" l"# c"p"# -6 de "liment"ci&n 0con#ulte el p"#o por #ep"r"do p"r" l" Euente de "liment"ci&n3

GHu= e# un cubo de +%,

>n cubo +%, e# como un" p"nt"ll" +%,* pero e# e#peci"l en $ue tiene un" tercer" dimen#i&n* lo $ue lo convierte en <,. Aien#e en ello como much"# de l"# p"nt"ll"# tr"n#p"rente# de b"9" re#oluci&n. %n l"# p"nt"ll"# norm"le# e# norm"l p"r" tr"t"r de "pil"r lo# pixele# t"n cerc" como #e" po#ible " Ein de h"cer $ue #e ve" me9or* pero en un cubo uno debe #er c"p"( de ver " tr"v=# de ell"* y m'# e#p"cio entre lo# p)xele# 0en re"lid"d e# voxel#* y" $ue e# en <d3 $ue #e nece#it". %l e#p"cio e# un tr"de-oEE entre lo E'cil $ue detr'# de l"# c"p"# $ue #e ve* y l" Eidelid"d voxel. ,"do $ue e# mucho m'# tr"b"9o h"cer un cubo de +%, $ue un" p"nt"ll" de +%,* por lo gener"l #on de b"9" re#oluci&n. >n" p"nt"ll" +%, de 8x8 p)xele# e# #&lo 65 +%,#* pero un cubo de +%, en 8x8x8 e# de -./ +%,#* un orden de m"gnitud m'# diE)cil de h"cer2 %#t" e# l" r"(&n cubo# +%, #&lo #e h"cen en b"9" re#oluci&n. >n cubo +%, no tiene por $u= #er #im=tric"* e# po#ible h"cer un @x8xF* o inclu#o l"# Eorm"# extr"7"#.

GC&mo Euncion" un cubo de +%,

%#te cubo de +%, tiene -./ +%,#. Ibvi"mente* tener un puerto dedic"do ?I p"r" c"d" +%, #er)" muy poco pr'ctico. >#ted tendr)" un micro control"dor con -./ puerto# ?I* y e9ecut"r -./ hilo# " tr"v=# del cubo. %n c"mbio* lo# cubo# de +%, #e b"#"n en un Een&meno &ptico denomin"do per#i#tenci" de l" vi#i&n 0AI63. Ji p"rp"de" un led muy r'pido* l" im"gen perm"necer' en #u l" retin" por un corto tiempo de#pu=# de $ue el led #e "p"g". :l p"rp"de"r c"d" c"p" del cubo* uno tr"# otro muy* muy r'pido* $ue d" l" ilu#i&n de un" im"gen en <,* "l hecho de int u#ted e#t' bu#c"ndo en un" #erie de im'gene# en /, "pil"d"# one"nother ontop. %#to t"mbi=n #e denomin" multiplex"ci&n. Con e#t" conEigur"ci&n* #&lo nece#it"mo# 65 0p"r" lo# 'nodo#3 K 8 0p"r" c"d" c"p"3 Auerto# ?I p"r" control"r el cubo de +%,. %n el video* el proce#o #e r"lenti(" lo #uEiciente p"r" $ue u#ted lo ve"* " continu"ci&n* #e e9ecut" m'# r'pido y m'# r'pido h"#t" l" Erecuenci" de "ctu"li("ci&n e# lo #uEicientemente r'pido p"r" l" c'm"r" p"r" c"ptur"r el eEecto de Aunto de vi#t".

+" "n"tom)" de un cubo de +%,

6"mo# " e#t"r h"bl"ndo de 'nodo#* c'todo#* column"# y c"p"#* por lo $ue le permite tom"r un momento p"r" E"mili"ri("r#e con l" "n"tom)" de un cubo de +%,. >n +%, tiene do# piern"#. >no po#itivo 0el 'nodo3 y uno neg"tivo 0c'todo3. Con el Ein de ilumin"r un +%,* tiene $ue e9ecut"r l" corriente de lo po#itivo " l" p"t" neg"tiv". 0Ji no recuerdo m"l l" corriente re"l de lo# electrone# e# "l rev=#. Aero v"mo# " ponerle " el Elu9o de corriente $ue e# de po#itivo " neg"tivo por "hor"3. %l cubo de +%, #e compone de column"# y c"p"#. +"# p"t"# de c'todo de c"d" +%, en un" c"p" #e #ueld"n 9unto#. ;od"# l"# p"t"# de 'nodo en un" column" #e #ueld"n 9unto#. C"d" un" de l"# column"# 65 e#t'n conect"do# " l" t"r9et" de conexi&n con un c"ble #ep"r"do. C"d" column" puede control"r#e individu"lmente. C"d" un" de l"# c"p"# 8 t"mbi=n tiene un c"ble #ep"r"do de ir " l" t"r9et" de conexi&n. C"d" un" de l"# c"p"# e#t'n conect"d"# " un tr"n#i#tor $ue permite $ue el cubo p"r" "ctiv"r y de#"ctiv"r el Elu9o de corriente " tr"v=# de c"d" c"p". Aor #&lo encender el tr"n#i#tor p"r" un" c"p"* l" corriente de l"# column"# de 'nodo #&lo puede Eluir " tr"v=# de e#" c"p". +o# tr"n#i#tore# p"r" l"# otr"# c"p"# e#t'n "p"g"d"#* y l" im"gen emitid" en lo# 65 c"ble# de 'nodo# #&lo #e mue#tr"n en l" c"p" #eleccion"d". A"r" mo#tr"r l" #iguiente c"p"* b"#t" con "p"g"r el tr"n#i#tor de l" c"p" "ctu"l* c"mbi"r l" im"gen de lo# 65 c"ble# de 'nodo# " l" im"gen de l" #iguiente c"p". : continu"ci&n* enciend" el tr"n#i#tor de l" #iguiente c"p". :cl"r"r y repetir muy muy r'pido. +"# c"p"# #e conoce como c"p"#* c"p"# de c'todo o c"p"# de tierr". +"# column"# #e h"r' reEerenci" " como column"#* l"# column"# de 'nodo o 'nodo#.

?I puerto de exp"n#i&n* m'# de multiplex"ci&n

Bo# reunimo# en el 1ltimo p"#o $ue un cubo de 8x8x8 +%, re$uiere 65 8 l)ne"# de ?I p"r" oper"r. Bo :64 micro control"dor con un p"$uete ,?A 0el tipo de chip de " tr"v=# de "gu9ero $ue u#ted puede E'cilmente l" #old"dur" o el u#o de un" pl"c"* p"$uete en l)ne" du"l3 $ue tienen much"# l)ne"# de ?I di#ponible#. A"r" obtener l"# l)ne"# de #"lid" de 65 re$uerido# nece#"rio# p"r" lo# 'nodo# de +%,* cre"remo# un circuito multiplexor #encillo. %#te circuito m1ltiplex .. l)ne"# de ?I en 65 l)ne"# de #"lid". %l multiplexor #e con#truye medi"nte el u#o de un componente ll"m"do un cierre o un Elip-Elop. 6"mo# " ll"m"r " lo# cierre# de "$u) en "del"nte. %#te multiplexor utili(" un eng"nche de 8 bit# ll"m"d" ?C @5!C-@5. %#te chip tiene l"# p"till"# #iguiente#: 8 entr"d"# 0,D-@3 8 #"lid"# 0HD-@3 >n 8cerro9o8 pin 0CA3 . #"lid" de h"bilit"ci&n pine# 0I%3 %l tr"b"9o de l" tr"b" e# l" de #ervir como un" e#pecie de memori" #imple. %l pe#tillo puede contener 8 bit# de inEorm"ci&n* y e#to# 8 bit# e#t'n repre#ent"do# en lo# pine# de #"lid". Con#idere l" po#ibilid"d de un cierre con un +%, p"r" conect"r l" #"lid" HD. A"r" "ctiv"r e#te +%,* #e "plic"n 6 K 0.3 " l" entr"d" ,D* " continu"ci&n* tire de l" CA pin b"9o 0GB,3* entonce# "lto 06 K3. Cu"ndo lo# c"mbio# de pin del AA de b"9o " "lto* el e#t"do de l" entr"d" ,D e#t' 8conect"do 8" l" #"lid" HD* y e#t" #"lid" #e m"ntiene en e#e e#t"do* independientemente de c"mbio# Euturo# en el e#t"do de l" entr"d" ,D* h"#t" $ue nuevo# d"to# #e c"rg" tir"ndo de l" cl"vi9" de CA de "lt" y b"9" de nuevo. A"r" h"cer un" gr"n tr"b" $ue #e

puede record"r el de encendido / Euer" de e#t"do de 65 +%,# $ue nece#it"mo# 8 de e#to# cierre#. +"# entr"d"# ,D-@ de todo# lo# cierre# e#t'n conect"do# entre #) en un bu# de 8 bit#. A"r" c"rg"r el encendido / "p"g"do e#t"do# de todo# lo# 65 +%,# $ue #implemente h"cer e#to: C"rgue lo# d"to# de l" primer" tr"b" en el "utob1#. tire del p"#"dor de l" CA b"9o pe#tillo primero y luego de "lt". C"rgue lo# d"to# del #egundo cierre en el "utob1#. tire del p"#"dor de l" cerr"dur" CA #egund" b"9" vuelve " #ubir. C"rg"r lo# d"to# de l" tercer" pe#tillo en el bu#. tire del p"#"dor de l" CA b"9o pe#tillo tercero vuelve " #ubir. :cl"r"r y repetir. %l 1nico problem" con e#t" conEigur"ci&n e# $ue tenemo# 8 l)ne"# de ?I p"r" control"r l" l)ne" de AC p"r" c"d" cierre. +" #oluci&n e# utili("r un @5!C.<8. %#te circuito integr"do tiene < l)ne"# de entr"d" y 8 #"lid"#. +"# l)ne"# de entr"d" #e utili("n p"r" control"r cu'l de l"# 8 l)ne"# de #"lid" $ue #e nece#iten b"9" en cu"l$uier momento. %l re#to #er' "lto. C"d" c"bo l"# #"lid"# en el @5!C.<8 e#t' conect"d" " l" cl"vi9" de CA en uno de lo# pe#tillo#. %l #iguiente p#eudoc&digo #e c"rg" el contenido de un" m"tri( de t"mp&n en l" m"tri( de pe#tillo: / / A>%4;I : L bu# de d"to# / / A>%4;I M L direcci&n "utob1# 0@5!C.<83 / / ch"r buEEer tiene 65 bit# de d"to# p"r" l" m"tri( de cierre AI4;M L DxDDN. / / %#t" tir" AA en el pe#tillo de un" b"9" Eor 0i L DN i O8N i K K3 P

+" pr'ctic" en pe$ue7" e#c"l"

C"d" ve( $ue ,e#tructore# de mito# e#t'n poniendo " prueb" un mito comple9o* $ue comien("n por "lguno# experimento# " pe$ue7" e#c"l". +e recomend"mo# $ue h"g" lo mi#mo. :nte# de con#truir el cubo de 8x8x8 +%,* empe("mo# por h"cer un" ver#i&n m'# pe$ue7" de l" mi#m"* 5x5x5. :l h"cer l" ver#i&n de 5x5x5 en primer lug"r* #e puede perEeccion"r #u

t=cnic" de #old"dur" del cubo "nte# de comen("r en l" gr"nde.

Gener"r el cubo: cre"r un" pl"ntill"

Con el Ein de h"cer un buen cubo bu#c"ndo +%,* e# import"nte $ue e# complet"mente #im=trico* $ue el e#p"cio entre c"d" +%, e# id=ntic"* y $ue c"d" +%, punto# de l" mi#m" m"ner". +" Eorm" m'# #encill" de logr"r e#to e# p"r" cre"r un" pl"ntill" tempor"l de #old"dur" / pl"ntill". .3 %ncontr"r un ped"(o de m"der" o pl'#tico $ue e# m'# gr"nde $ue el t"m"7o de #u cubo. /3 Mu#c"r un" broc" $ue #e h"ce un "gu9ero $ue #e "9u#t" perEect"mente un +%, en #u lug"r. >#ted no $ui#ier" $ue Euer" "l "l"* y" $ue h"r)" m'# diE)cil p"r" elimin"r l" c"p" #old"do de l" pl"ntill"* #in dobl"rlo. Ji lo# "gu9ero# #on dem"#i"do gr"nde#* "lguno# de lo# +%,# podr)" #"lir torcido. <3 >#e un" regl" y un 'ngulo de hierro p"r" el"bor"r un" red de 8 por 8 l)ne"# $ue #e cort"n en 65 punto#* utili("ndo el e#p"cio de +%, determin" en un p"#o "nterior. 53 >tilice un ob9eto punti"gudo Euerte p"r" h"cer #"ngr)"# en c"d" inter#ecci&n. %#t"# #"ngr)"# evit"r' $ue l" broc" #e de#lice h"ci" lo# l"do# cu"ndo #e inici" l" perEor"ci&n. -3 AerEore todo# lo# "gu9ero#. 63 ;om"r un +%, y tr"t"r por todo# lo# "gu9ero# de t"m"7o. Ji el "gu9ero e# dem"#i"do "9u#t"do* con cuid"do perEore nuev"mente h"#t" $ue el +%, #e "9u#t" perEect"mente y #e puede #"c"r #in much" re#i#tenci". @3 %n "lg1n lug"r cerc" de l" mit"d de uno de lo# l"do#* dibu9"r un" pe$ue7" m"rc" o un" Elech". >n "l"mbre de "cero #e #ueld"n en "$u) en c"d" c"p" p"r" d"r el cubo "lgo de rigide( "dicion"l.

Gener"r el cubo: un" c"p" de #old"dur"

C"d" c"p" e#t' Eorm"d" por 8 column"# de +%,# #e m"ntienen unid"# por l"# p"t"# de c"d" +%,. %n l" p"rte #uperior de c"d" c"p" de c"d" +%, #e gir" FD gr"do# en #entido hor"rio* de modo $ue l" p"t" #e conect" con el +%, #uperior de l" column" #iguiente. %n l" column" " l" derech" e#t" p"t" #e peg"r' Euer" del l"do de l" c"p". ,e9"mo# e#to en #u lug"r y lo utili("n p"r" conect"r tierr" "l prob"r todo# lo# +%, en un p"#o po#terior. .3 Arep"r"r 65 +%,# * doble l"# piern"# c'todo de c"d" +%, de FD gr"do#. :#eg1re#e de $ue l"# piern"# #e dobl"n en l" mi#m" direcci&n en todo# lo# indic"dore# +%,. %n cu"nto " l" #e#i&n de +%, en un "gu9ero en l" pl"ntill" con l" mue#c" " l" derech"* no# inclin"mo# h"ci" "rrib" de l"# piern"#. /3 Comience con l" Eil" en l" p"rte #uperior de inicio medi"nte l" coloc"ci&n de l" p"rte #uperior derech" de +%, en l" pl"ntill". : continu"ci&n* colo$ue l" un" " l" i($uierd"* coloc'ndolo de m"ner" $ue l" piern" de c'todo e#t' en cont"cto con l" piern" c'todo del +%, "nterior. :cl"r"r y repetir h"#t" $ue llegue l" lu( +%, i($uierd". Jold"r tod"# l"# "rticul"cione#. <3 Juelde tod"# l"# 8 column"# Ji u#ted e# die#tro* le recomend"mo# $ue comience con l" column" " l" i($uierd". ,e e#" m"ner" l" m"no puede de#c"n#"r en l" pl"ntill" de m"der"* cu"ndo l" #old"dur". >#ted nece#it"r' un" m"no Eirme "l #old"r " m"no "l("d" como e#te. Comience por coloc"r el #egundo +%, de l" p"rte #uperior* l" "line"ci&n $ue por lo $ue toc" l" piern" de l" uni&n de #old"dur" de l" et"p" "nterior. : continu"ci&n* colo$ue el +%,. Aor deb"9o de e#e modo $ue l" piern" to$ue el c'todo +%, por encim" de 4epit" el proce#o h"#t" lleg"r " l" p"rte inEerior. Juelde tod"# l"# "rticul"cione#. 53 :7"dir reEuer(o# :hor" tiene un" c"p" $ue #e p"rece " un peine. %n e#te punto* todo el "#unto e# muy endeble* y u#ted tendr' $ue "greg"r un poco de "poyo. Je utili(& un reEuer(o en l" p"rte inEerior y uno cerc" de l" mit"d. ;ome un" p"( de "l"mbre recto* m'# o meno# #e "line"n en l" $ue de#e" $ue uno de lo# extremo# y l" #old"dur" de l" c"p". :Ein"r l" "line"ci&n y l" #old"dur" del otro extremo en #u lug"r. :hor"* h"cer 9unt"# de #old"dur" " l"# column"# re#t"nte# 6. !"g" e#to p"r" "mb"# ll"ve#. -3 prueb" $ue todo# lo# +%,# %#to #e explic" en el #iguiente p"#o. J&lo mencion"r "$u) lo $ue no e# elimin"r l" c"p" por el momento. 63 4etire l" c"p" e# todo +" primer" c"p" del

cubo de +%, hecho* "hor" todo lo $ue tiene# $ue h"cer e# #"c"rlo de l" pl"ntill". ,ependiendo del t"m"7o de lo# "gu9ero#* "lguno# +%, pueden tener m'# re#i#tenci" "l intent"r #"c"rlo. M"#t" con coger lo# do# extremo# de l" c"p" y tir"ndo prob"blemente #e romper)" tod" l" co#"* #i un p"r de lo# +%,# e#t'n "tr"p"do#. Comience lev"nt"ndo c"d" +%, de un p"r de mil)metro#. J&lo lo #uEiciente p"r" #entir $ue no h"y ningun" re#i#tenci".

Gener"r el cubo

%n nue#tr" opini&n* un cubo de +%, e# un" obr" de "rte y debe #er perEect"mente #im=trico# y recto#. Ji no# Ei9"mo# en lo# indic"dore# +%, en l" pl"ntill" de l"do* e# prob"ble $ue e#t=n dobl"d"# en "lgun" direcci&n. >#ted $uiere $ue tod"# l"# p"t"# de "punt"r h"ci" "rrib"* en un 'ngulo de FD gr"do# de l" pl"ntill". Mientr"# ob#erv" l" pl"ntill" de#de el l"do* enderece tod"# l"# piern"#. : continu"ci&n* gire l" pl"ntill" de FD gr"do#* p"r" poder verl" de#de el otro l"do* y luego h"cer el mi#mo proce#o. :hor" tiene un" c"p" perEect" $ue e#t' li#to p"r" #er retir"do de l" pl"ntill".

dobl"r l"# p"t"#

%n l"# column"# del cubo de +%,* $ueremo# $ue c"d" +%, #e #iente centr"do* preci#"mente* por encim" de lo# +%, " continu"ci&n. +"# p"t"# de lo# +%,# de #"lir del cuerpo de l" mit"d de un +%,. Mil)metro de m'# o meno# de#de el borde A"r" h"cer un" uni&n de #old"dur"* h"y $ue dobl"r l" piern" 'nodo de modo $ue to$ue l" piern" en el 'nodo por deb"9o del +%,. !"cer un" curv" en l" piern" del 'nodo h"ci" el c'todo piern" "proxim"d"mente < mm de#de el extremo de l" piern". %#to e# #uEiciente p"r" $ue l" piern" #e dobl" "lrededor del +%, "b"9o y h"cer cont"cto con #u piern" 'nodo.

#old"dur" de l"# c"p"# 9unt"#

:hor" viene l" p"rte diE)cil* p"r" #old"r todo 9unto2 +"# do# primer"# c"p"# pueden #er muy Er'gil "nte# de $ue #e #ueld"n entre #). >#ted puede $uerer poner l" p"rte de "tr'# l" primer" c"p" en l" pl"ntill" p"r" d"rle "lgo de e#t"bilid"d. Con el Ein de evit"r el de#"#tre tot"l* #e nece#it" "lgo p"r" m"ntener l" c"p" en #u lug"r "nte# de $ue #e #ueld"n en #u lug"r. Aor #uerte* el "ncho de un" b"ter)" de F6 e#t' b"#t"nte cerc" de /- mm. Arob"blemente m'# cerc" de /-*- /6mm* pero e#o e#t' bien. :dvertenci": +o# F voltio# de un" b"ter)" de F6 puede #obrec"rg"r lo# +%,# #i lo# cont"cto# de l" b"ter)" entr" en cont"cto con l"# p"t"# de lo# +%,#. Gr"b"mo# en lo# polo# de l" b"ter)" p"r" evit"r $ue "ccident"lmente "rruin"r lo# +%, $ue er"n de #old"dur". !emo# tenido un mont&n de b"ter)"# de F6 por "h)* "#) $ue le# #irven de "poyo tempor"le#. Comience por coloc"r un" b"ter)" de F6 en c"d" e#$uin". :#eg1re#e de $ue todo e#t' perEect"mente "line"do* luego de #old"dur" de l" e#$uin" +%,. :hor" #old"r todo# lo# +%,# "lrededor del borde del cubo* movi=ndo#e " lo l"rgo de l"# b"ter)"# de F6 " medid" $ue "v"n(" "lrededor. %#to "#egur"r' $ue l"# c"p"# #e #ueld"n perEect"mente p"r"lel"# entre #). :hor" muev" un" b"ter)" de F voltio# " l" mit"d del cubo. J&lo #e de#lice en uno de lo# l"do#. Jold"r un p"r de lo# +%,# en el centro. ;odo e#to debe #er b"#t"nte e#t"ble en e#te momento* y u#ted puede #eguir p"r" #old"r el re#to de lo# +%, #in nece#id"d de utili("r l"# b"ter)"# de F6 p"r" el "poyo.

cre"r l" b"#e

A"r" tr"n#Eorm"r l" pl"ntill" en un" b"#e* $ue "c"b" de perEor"r todo# lo# "gu9ero# " tr"v=# de l" 9unt". +uego perEor"do 8 "gu9ero# m'# pe$ue7o# de lo# 8 hilo# de e9ecuci&n c"t&dico# h"#t" l"# 8 c"p"# de c'todo. Aor #upue#to* u#ted no $uiere $ue #u cubo de +%, en un" b"#e de m"der" de color.

mont"r el cubo

Mont"r el cubo. %#o #uen" muy E'cil* pero no lo e#. !"y $ue "line"r l"# piern"# 65 +%, p"r" de#li("r#e " tr"v=# de 65 oriEicio#* "l mi#mo tiempo. %# como enhebr"r un" "gu9"* lo# tiempo# de 65. Je h"n encontr"do m'# E'cil comen("r con un extremo* luego* gr"du"lmente* "p"reciendo l"# piern"# en #u lug"r. >tilice un bol)gr"Eo o "lgo p"r" meter en l"# piern"# de +%, $ue E"lt"n " #u# "gu9ero#. >n" ve( $ue tod"# l"# 65 piern"# de +%, e#t'n "#om"ndo " tr"v=# de l" b"#e* con cuid"do enciend" #u l"do. +uego* dobl"r l"# piern"# en lo# 65 " FD gr"do#. %#to e# #uEiciente p"r" m"ntener el cubo Eirmemente mont"do " l" b"#e.

conecte lo# c"ble#

65 K 8 c"ble# $ue v"n de#de el control"dor "l cubo de +%,. Je utili(& c"ble de cint" p"r" h"cer l"# co#"# un poco m'# E'cil. +"# c"p"# de #uelo u#"r un c"ble pl"no de 8 hilo#. +o# c'todo# e#t'n conect"do# con 5 c"ble# pl"no# de .6 hilo#. C"d" uno de e#to# c"ble# pl"no# #e dividen en do# en c"d" extremo* p"r" obtener do# c"ble# de 8 hilo#. %n el l"do del control"dor* #e "d9unt" conectore# de D.. 8de c"becer" de #exo Eemenino. %#to# plug e#t'nd"r de D*. en el hormigueo de un" hiler" de c"becer" de ACM. %l conector de c"becer" e# un conector modul"r $ue #e pre#ent" en do# p"rte#* in#erto# de met"l y un cuerpo de pl'#tico. +o# in#erto# met'lico# #e #upone $ue #e doble* con un" herr"mient". Bo ten)"mo# l" herr"mient" "decu"d" en l" m"no* "#) $ue utili("mo# un "lic"te. ;"mbi=n hemo# "7"dido un poco de #old"dur" p"r" "#egur"r#e de $ue lo# c"ble# no #e c"y& de con el u#o. .3 Arep"r"r un 8 hilo# del c"ble pl"no y 5 de .6 c"ble# de cint" de "l"mbre de l" longitud de#e"d" /3 Crimp o l" #old"dur" de lo# in#erto# met'lico#. < 3 ?ntroducir el in#erto de met"l en l" c"rc"#" del conector de pl'#tico. 53 Juelde el c"ble pl"no de 8 hilo# " l"# b"nd"# del c'todo. Are-e#t"7o lo# c"ble# "nte# de #old"r2 #old"dur" -3 en el re#to de lo# c"ble#. +" r"y" ro9" en el primer c"ble indic" $ue e#te e# el bit D. 63 :priete lo# tornillo# de l" brid" de #u9eci&n p"r" "#egur"r#e de $ue todo #e $ued" en #u lug"r. @3 Conecte todo# lo# c"ble# de cint" " lo# ACM en el orden correcto. 6e" l"# Eoto# "b"9o. %l c"ble de cint" de 8 no tiene un c"ble ro9o. J&lo l" vuelt" "l conector de .8D gr"do# #i el cubo e#t' boc" "b"9o.

Cre"r el control"dor

J"c"mo# el m"yor tipo de ACM $ue ten)" di#ponible 0Fx.-cm3 y comen(& " experiment"r con diEerente# di#e7o# de t"blero. Aronto #e hi(o cl"ro $ue "b"rrot"r todo# lo# componente# en un" pl"c" no er" un" buen" #oluci&n. %n lug"r de e#o decidi& #ep"r"r de l" m"tri( pe#tillo y l" p"rte de "liment"ci&n del circuito y coloc"rlo en un" t"bl" #ep"r"d". : l"# tr"n#Eerenci"# de

c"ble pl"no de d"to# de l"# l)ne"# entre l"# do# pl"c"#. %lecci&n de do# t"blero# #ep"r"do# Eue un" buen" deci#i&n. +" m"tri( de pe#tillo tom& c"#i todo el e#p"cio de l" pl"c" de circuito. Bo h"br)" #ido mucho e#p"cio p"r" el control"dor de micro y otr"# p"rte#. Auede $ue no teng" l"# t"bl"# ex"ct"mente el mi#mo circuito $ue no#otro#* o lo de#e"* puede org"ni("r lo# componente# de un" m"ner" diEerente. ;r"te de coloc"r todo# lo# componente# en l" pl"c" de circuito p"r" comprob"r $u= di#e7o me9or #e "d"pte " #u t"blero de circuito#.

;ermin"l de "liment"ci&n y lo# conden#"dore# de Eiltr"do

+" Euente de "liment"ci&n con#t" de un termin"l de tornillo p"r" conect"r el GB, y lo# c"ble# de 6CC* "lguno# de Eiltr"do conden#"dore#* un #witch y un un +%, p"r" indic"r l" "liment"ci&n. . ?nici"lmente* #e h"b)" di#e7"do un #i#tem" de "liment"ci&n de " bordo con un p"#o por el regul"dor de ten#i&n +M@8D- Jin emb"rgo* e#to re#ult& #er un E"llo gr"nde. Je utili(& e#te con un" verrug" ./6 p"red. Aero como u#ted y" #"be* l" m"yor)" de l"# verrug"# de p"red #"lid" de volt"9e# m'# "lto# $ue lo# e#peciEic"do# en l" eti$uet". %l nue#tro emite "lgo "#) como .5 voltio#. %l +M@8D- no e# un regul"dor de volt"9e muy #oEi#tic"do* $ue #&lo utili(" l" re#i#tenci" " b"9"r el volt"9e. A"r" obtener #"lid" de - voltio# de .5 voltio# de entr"d" #igniEic" $ue el +M@8D- tiene $ue b"9"r F voltio#. %l exce#o de energ)" #e di#per#" en Eorm" de c"lor. ?nclu#o con el di#ip"dor de c"lor $ue #e ve en l" im"gen* #e hi(o muy* muy c"liente. C"mino " l" c"liente "l t"cto2 :dem'# de e#o* el rendimiento no er" geni"l. Bo er" c"p"( de #umini#tr"r l" corriente nece#"ri" p"r" e9ecut"r el cubo en el brillo completo. %l +M@8D- #e retir& m'# t"rde* y un "l"mbre #e #ueld" entre l" entr"d" y lo# pine# de #"lid". %n #u lug"r* utili(" un" Euente de -6 de "liment"ci&n extern"* como #e explic" en el p"#o "nterior. GAor $u= t"nto# conden#"dore#Q %l cubo de +%, v" " c"mbi"r uno# -DDm: dentro y Euer" de v"rio# ciento# de vece# por #egundo. %n el momento de l" c"rg" -DDm: e#t' encendido* l" ten#i&n #e v" " c"er " tr"v=# de todo el circuito. Much"# co#"# contribuyen " ello. +" re#i#tenci" en lo# c"ble# de l" Euente de "liment"ci&n* l" lentitud en el #umini#tro de energ)" p"r" compen#"r el "umento de l" c"rg"* y prob"blemente "lgun"# otr"# co#"# $ue no #"b)" n"d" Medi"nte l" "dici&n de conden#"dore#* #e cre" un buEEer entre el circuito y el Euente de "liment"ci&n. Cu"ndo l" c"rg" -DDm: e#t' conect"do* l" corriente re$uerid" #e puede extr"er de lo# conden#"dore# dur"nte el tiempo $ue t"rd" l" Euente de "liment"ci&n p"r" compen#"r el "umento de l" c"rg". conden#"dore# gr"nde# pueden #umini#tr"r gr"nde# corriente# dur"nte per)odo# m'# l"rgo# de tiempo* mientr"# $ue pe$ue7o# conden#"dore# puede #umini#tr"r pe$ue7"# r'E"g"#* pero r'pid" de energ)". !emo# coloc"do un conden#"dor de .DDDuC 9u#to de#pu=# del interruptor princip"l. %#to Euncion" como nue#tro buEEer de "liment"ci&n

princip"l. ,e#pu=# de e#o* h"y un conden#"dor .DDuC. %# un" pr'ctic" com1n tener un gr"n conden#"dor en el pin de entr"d" de un +M@8D- y un conden#"dor m'# pe$ue7o en l" p"till" de #"lid" $ue e#. %l conden#"dor de .DDuC prob"blemente no e# nece#"ri"* pero creemo# $ue lo# conden#"dore# $ue #u mir"d" m'# Er)" del circuito2 %l +%, e#t' conect"do " 6CC 9u#to de#pu=# del interruptor princip"l de "liment"ci&n* " tr"v=# de un" re#i#tenci".

Conecte lo# circuito# integr"do#* 8 bit# de bu# K I%

%n l" Eoto* ver'# $ue h"y un mont&n de c"ble# h"n entr"do en #u lug"r. ;odo# lo# c"ble# "(ule# pe$ue7"# conEorm"n el bu# de 8 bit# . $ue conect" todo# lo# circuito# integr"do# de eng"nche. 8 bit# #on p"r" lo# d"to#* y el bit . e# permitir l" #"lid" de l)ne". %n l" p"rte #uperior de l" pl"c"* #e h" "7"dido un conector de .6 pine#. %#te #e conect" l" t"r9et" " l" pl"c" del pe#tillo de micro control"dor. Runto " e#to* #e ve el @5!C.<8. +o# c"ble# "(ule# pe$ue7"# #on de "l"mbre de Syn"r. Je tr"t" de un <D o </ :TG 0:meric"n Tire G"uge3 de "l"mbre.

;r"n#i#tor m"tri(

%#t"blecer lo# bit# de lo# Eu#ible#

%l :;M%G:</ tiene do# byte# de Eu#ible#. %#to# contienen "9u#te# $ue tienen $ue #er c"rg"do "nte# de l" CA> puede comen("r* como Euente de relo9 y otr"# co#"#. !"y $ue progr"m"r el :tmeg" debe utili("r#e un o#cil"dor de "lt" velocid"d y el cri#t"l de de#"ctiv"r R;:G. !emo#

e#t"blecido el byte Eu#ible inEerior 0lEu#e3 p"r" Db...D....* y el byte de Eu#ible# de "lt" " Db..DD.DD.. 0Db #igniEic" $ue todo lo $ue de#pu=# de l" b #e encuentr" en bin"rio3. Je utili(& "vrdude y >JMtiny?JA 0http://www.l"dy"d".net/m"ke/u#btinyi#p/3 p"r" progr"m"r nue#tr" :;meg". %n todo# lo# e9emplo# #iguiente#* v"mo# " utili("r un >buntu +inux orden"dor. +o# com"ndo# deben #er id=ntico# #i #e e9ecut" en Tindow# "vrdude. "vrdude-c u#btiny-p m</-> lEu#e: w: Db...D....: m "vrdude-c u#btiny-p m</-> hEu#e: w: Db..DD.DD.: m

:64 con el c&digo de prueb"

http://www.in#truct"ble#.com/Eile#/orig/CHX/!FM-/G?CUMF<;/CHX!FM-G?CUMF<;.tmp

%# hor" de prob"r #i #u nuevo +%, cubo re"lmente Euncion"2 !emo# prep"r"do un progr"m" de prueb" #imple p"r" comprob"r #i todo el tr"b"9o de lo# +%,# y #i e#t'n conect"do# correct"mente. Auede de#c"rg"r el Eirmw"re te#t.hex en e#te p"#o* o de#c"rg"r el c&digo Euente y compil"rlo t1 mi#mo. :l igu"l $ue en el p"#o "nterior* #e utili(" p"r" l" progr"m"ci&n "vrdude: "vrdude-c u#btiny-p m</-M .-> El"#h: w: te#t.hex

Arueb" del cubo

%l c&digo de prueb" $ue h"y" progr"m"do en el p"#o "nterior le permitir' conEirm"r $ue todo e#t' conect"do correct"mente. Je inici"r' medi"nte l" el"bor"ci&n de un pl"no " lo l"rgo de un e9e* entonce# #e mueve " lo l"rgo de l"# 8 po#icione# de e#e e9e.

Arogr"m" del :64 con el c&digo re"l

:#) $ue todo el check out en l" prueb". %# hor" de progr"m"r el :tmeg" con el Eirmw"re re"l %n #u m"yor p"rte* el proce#o e# el mi#mo $ue en el p"#o de progr"m"ci&n "nterior. Aero "dem'# h"y $ue progr"m"r l" memori" %%A4IM. %l cubo de +%, tiene un" Euente de m"p" de bit# "lm"cen"do# en l" %%A4IM de b"#e* 9unto con "lguno# otro# d"to#. Eirmw"re #e progr"m"n utili("ndo el mi#mo procedimiento $ue con el c&digo de prueb". Cirmw"re: "vrdude-c u#btiny-p m</-M .-> El"#h: w: m"in.hex %%A4IM: "vrdude-c u#btiny-p m</-M .-> eeprom: w: m"in.eep -> eeprom: w: m"in.eep e#peciEic" $ue e#t"mo# "ccediendo " l" memori" %%A4IM* en modo de e#critur". :64-GCC pone todo# lo# d"to# de l" %%A4IM en m"in.eep. Ji u#ted no $uiere 9ug"r con el c&digo* el cubo de +%, #e termin" en e#te punto. Jin emb"rgo* le recomend"mo# $ue p"#"r "lg1n tiempo en el l"do del #oEtw"re de l"# co#"# "#). %#o e# "l meno# t"n divertido como el h"rdw"re2 Ji de#c"rg" lo# "rchivo# bin"rio#* lo $ue tiene# $ue c"mbi"r lo# nombre# de "rchivo en lo# com"ndo# con el nombre de lo# "rchivo# de#c"rg"do#. Ji compil" de#de el c&digo Euente e# el nombre m"in.hex y m"in.eep. http://www.in#truct"ble#.com/Eile#/orig/C-</HC,H/G?CUMF55/C-<HC,HG?CUMF55.tmp http://www.in#truct"ble#.com/Eile#/orig/C6V/U8S//G?CUMF5-/C6VU8S/G?CUMF5-.tmp

l" inici"li("ci&n de ?I

+o primero $ue el :;meg" h"ce de#pu=# del "rr"n$ue* e# ll"m"r " l" ioinit 03 Eunci&n. %#t" Eunci&n conEigur" lo# puerto# de entr"d" y #"lid"* tempori("dore#* "l"rm"# y comunic"cione# de #erie. ;odo# lo# puerto# ?I en el :;meg" #on bidireccion"le#. Je pueden utili("r y" #e" como un" entr"d" o un" #"lid". ConEigur"mo# todo como #"lid"#* excepto lo# pine# ?I* donde lo# do# botone# e#t'n conect"do#. %l pin 4X de l" l)ne" #erie #e convierte "utom'tic"mente en un" entr"d" cu"ndo >J:4; 4X e#t' "ctiv"do. .3 ,,4X e#t"blece l" direcci&n de lo# d"to# de lo# pine# ?I. 04egi#tro de d"to# de l" ,irecci&n3. . #"lid" de lo# medio#* lo# medio# de entr"d" de D. /3 ,e#pu=# de l" direccion"lid"d #e h" conEigur"do* ponemo# tod"# l"# #"lid"# " D p"r" cu"l$uier entu#i"#t" de p"rp"de"r lo# +%,#* etc "nte# de l" interrupci&n h" comen("do. <3 A"r" lo# pine# conEigur"do# como entr"d"#* lo# c"mbio# de bit# AI4;x #u Eunci&n. ConEigur"ci&n de un . en el bit AI4;x regi#tro permite un" intern" tire h"ci" "rrib" l"

re#i#tenci". %l puerto #e detuvo " 6CC. +o# botone# e#t'n conect"do# entre el puerto y GB,. Cu"ndo #e pul#" un bot&n del bit corre#pondiente AinX lee un D l&gico. 53 ;empori("dor / e#t' conEigur"do y un tempori("dor de interrupci&n h"bilit"d". %#to #e tr"t" en un" et"p" di#tint". -3 +"# comunic"cione# #erie #e h" conEigur"do y h"bilit"do.

el modo de #elecci&n y l" #emill" "le"tori"

Cu"ndo empe("mo# " e#cribir y depur"r lo# eEecto# de ello#* no# dimo# cuent" de $ue l"# Euncione# $ue utili("n n1mero# "le"torio# mue#tr" l"# "nim"cione# ex"ct"mente l" mi#m" c"d" ve(. Je Eue "l "("r bien* pero l" mi#m" #ecuenci" "le"tori" c"d" ve(. 4e#ult" $ue el gener"dor de n1mero# "le"torio# en el :;meg" nece#it" #er #embr"do con un n1mero "le"torio p"r" cre"r verd"dero# n1mero# "le"torio#. Je e#cribi& un" pe$ue7" Eunci&n ll"m"d" bootw"it 03. %#t" Eunci&n #irve p"r" do# prop&#ito#. .3 Cre"r un" #emill" "le"tori". /3 %#cuch"r "l pul#"r un bot&n p"r" #eleccion"r el modo de oper"ci&n. Je h"ce lo #iguiente: .3 :9u#te x cont"dor " D. /3 ?nici"r un bucle inEinito* mientr"# $ue 0.3. <3 incremento de X por uno de vent" libre. 53 >tilice x como un" #emill" "le"tori". -3 4etr"#"r por un tiempo y e#t"blecer el e#t"do de led ro9o. 63 Control"r "l pul#"r un bot&n. Ji el bot&n princip"l #e pul#"* l" Eunci&n devuelve .. Ji el bot&n #e pul#e AGM returne# /. +"# decl"r"cione# de retorno #"le de l" Eunci&n termin"ndo "#) el bucle inEinito. @3 4etr"#o y e#t"blecer de nuevo el led verde. 83 Compruebe #i pre#ion" el bot&n de nuevo. F3 +oop p"r" #iempre h"#t" $ue #e pul#" un bot&n. %l bucle de bucle# muy r'pido* por lo $ue l" prob"bilid"d de $ue lo v" " p"r"r en el mi#mo v"lor de x do# vece# #eguid"# e# muy remot". %#t" e# un" m"ner" muy #encill" pero eEic"( p"r" obtener un" buen" #emill" "le"tori". Mootw"it 03 #e ll"m" de#de l" Eunci&n m"in 03 y #u v"lor de retorno "#ign"do " l" v"ri"ble i.

Ji i LL .* el bucle princip"l #e inici" un ciclo $ue mue#tr" lo# eEecto# gener"do# por el :;meg". Ji i LL /* entr" en el modo 4J-/</ y e#per" " $ue lo# d"to# de un orden"dor.

el e#p"cio cubo virtu"l

: p"rtir de "hor"* l" po#ici&n n"tur"l del cubo de +%, e#t"r' con lo# c"ble# $ue #"len h"ci" l" i($uierd". %n e#t" orient"ci&n* el e9e U v" de i($uierd" " derech". %l e9e X v" de "del"nte h"ci" "tr'#. %l e9e V v" de#de "b"9o h"ci" "rrib". +"# coorden"d"# de e#te in#truct"ble #iempre #e repre#ent" como x* y* (. Ao#ici&n D*D*D e# l" e#$uin" inEerior i($uierd" del"nter". Ao#ici&n @*@*@ e# l" e#$uin" #uperior derech" de nuevo. GAor $u= u#"mo# el e9e U p"r" l" i($uierd" / derech" y X p"r" del"nte / detr'#Q GBo deber)" #er "l rev=#Q J)* no#otro# t"mbi=n lo creo. !emo# di#e7"do el cubo de +%, p"r" #er vi#to en el 8Erente8 con lo# c"ble# $ue #"len de l" e#p"ld". Jin emb"rgo* e#to er" muy poco pr'ctico cu"ndo #e tiene el cubo de +%, en el e#critorio* $ue er" m'# pr'ctico tener lo# c"ble# $ue #"len del l"do* y teniendo en cubo y el l"do del control"dor "l l"do del otro.

%Eecto .* de l" lluvi"

6"mo# " empe("r con uno de lo# m'# #imple# eEecto#. %n eEEect.c #e encuentr" el eEEectWr"in Eunci&n 0int iter"cione#3. %#te eEecto "7"de l"# got"# de lluvi" " l" c"p" #uperior del cubo* y

luego lo# de9" c"er " l" c"p" inEerior. +" m"yor)" de lo# eEecto# tiene un bucle princip"l de 03 $ue recorre de#de i L D " i Oiter"cione#. eEEectWr"in 0int iter"cione#3* #&lo tom" un "rgumento* $ue e# el n1mero de iter"cione#. %n el interior del bucle de iter"ci&n* l" Eunci&n h"ce lo #iguiente: . .3 Cre"r un n1mero "le"torio entre D y <* le ll"m"n "$u) n /3 4epetici&n de l" de 03 bucle n1mero n de vece#. <3 A"r" c"d" iter"ci&n de e#te bucle* coloc"r un p)xel en l" c"p" @ 0( L @3 en x "l "("r y l"# coorden"d"# y. 53 de ret"rdo por un tiempo -3 ,e#pl"("r el contenido de todo el cubo " lo l"rgo del e9e V por -. po#icione#. %#to c"mbi" todo* h"#t" un nivel. %#te e# un eEecto b"#t"nte #imple* pero Euncion"2

%EEect /* el "vi&n boing

%#te eEecto dibu9" un pl"no " lo l"rgo del e9e e#peciEic"do " continu"ci&n* #e mueve de#de l" po#ici&n D " @ en el e9e y vicever#". %#to e# muy #imple* pero re"lmente pone de m"niEie#to l" proEundid"d del cubo <, +%, %#t" Eunci&n no tiene un bucle de iter"ci&n. %n #u lug"r* #e ll"m" do# vece# p"r" c"d" e9e en l"unchWeEEect 03. %#to e# lo $ue h"ce: .3 A"r" 03-bucle i de#de D " @. /3 +impi"r el cubo con relleno 0DxDD3N <3 #etpl"ne de ll"m"d"# 03 p"r" dibu9"r un pl"no " lo l"rgo del e9e de#e"do en l" po#ici&n i. %l "vi&n no e#t' dibu9"do en el e9e e#peciEic"do* #e dibu9" en lo# otro# do# e9e#. Ji #e e#peciEic" :X?JWV* un "vi&n #e dibu9" en el e9e X e U. %# m'# E'cil pen#"r de e#" m"ner". %n ve( de h"ber con#t"nte# ll"m"do A+:B%WXU* etc A+:B%WUV 53 4etr"#"r por un tiempo. -3 4epit" el mi#mo bucle con i "l p"#"r de @ " D

%Eecto <* #endvoxel# "le"tori" V

%#te eEecto env)" voxel# "rrib" y h"ci" "b"9o del e9e V* como l" implic". void #endvoxel#Wr"ndW( 03 tom" tre# "rgumento#. ?ter"cione# e# el n1mero de vece# $ue #e env)" un voxel "rrib" o h"ci" "b"9o. 4et"rdo e# l" velocid"d del movimiento 0m"yor retr"#o #igniEic" un" velocid"d m'# b"9"3. Bo h"y $ue e#per"r el tiempo tr"n#currido entre c"d" voxel $ue #e env)". :#) e# como Euncion": .3 %l cubo #e borr" con el relleno 0DxDD3N /3 4ecorrer l"# 65 po#icione# " lo l"rgo de X / U y gener" "le"tori"mente un voxel* y" #e" en V L D o V L @. <3 ?ntrodu(c" el bucle de iter"ci&n princip"l 53 Jeleccion"r "l "("r l"# coorden"d"# X e U de entre D y @. Ji l"# coorden"d"# X e U #on id=ntico# " l"# coorden"d"# "nterior* e#t" iter"ci&n #e omite. -3 Comprob"r #i el voxel en e#te coorden"d"# X / U e# en V L D o V L @* y envi"rlo h"ci" el l"do opue#to con #endvoxelW( 03. 63 4etr"#o por un tiempo y gu"rd"r l"# coorden"d"# de e#t" iter"ci&n p"r" $ue pod"mo# cote9"r con l"# coorden"d"# "l "("r en l" #iguiente iter"ci&n. A"rec)" r"ro p"r" mover el mi#mo voxel do# vece# #eguid"#. %l movimiento re"l de lo# voxel# #e h"ce por otr" Eunci&n* #endvoxelW(. +" r"(&n de e#to* e# $ue un p"r de otro# eEecto# h"ce lo mi#mo #&lo en Eorm"# diEerente#. %l #endvoxelW( Eunction 03 tom" cu"tro "rgumento#. Coorden"d"# X e U. Coorden"d" V* e#te e# el de#tino y* o bien puede #er D o @. 4etr"#o $ue control" l" velocid"d. :#) e# como Euncion": .3 A"r" 03-bucle i de#de D " @. /3 Ji el de#tino e# @* e#t"blecemo# ?? de @-.* h"ciendo "#) ii l" inver#" de i. Morr"r el voxel en V L . ii. Cu"ndo #e mueve h"ci" "b"9o* ii un voxel e# el "nterior. <3Ji el de#tino e# D* #e" ii #er igu"l " i. Morr"r ??-.. Cu"ndo #e mueve h"ci" "rrib"* -. e# el voxel "nterior. 53 %#t"blecer el voxel en ( L ii. -3 %#pere un poco.

%Eecto 5* #hrinkgrow c"9" y woopwoop

Je tom" cu"tro "rgumento#* el n1mero de iter"cione#* l" rot"ci&n* volte"r y el retr"#o. 4ot"ci&n e#peciEic" rot"ci&n "lrededor del e9e V en interv"lo# de FD gr"do#. 6olte"rX D volte" el cubo "l rev=#. A"r" re"li("r l" Eunci&n t"n #imple como #e" po#ible* #implemente dibu9" un" c"9" de D*D*D " cu"l$uier punto " lo l"rgo de l" di"gon"l entre D*D*D y @*@*@ " continu"ci&n* utili(" l"# Euncione# de e9e de #imetr)" de l" dr"w.c p"r" h"cerl" gir"r . .3 %ntre iter"ci&n de bucle princip"l. /3?ntrodu(c" un Eor 03 bucle $ue v" de D " .-. <3 %#t"blecer xy( " @-i. %#to h"ce $ue xy( l" inver#" de i. Hueremo# reducir el t"m"7o del primer cu"dro* y luego crecer. xy( e# el punto " lo l"rgo de l" di"gon"l. Bo# "c"b" de utili("r un" v"ri"ble como x* y y ( #on todo# igu"le# " lo l"rgo de e#t" di"gon"l. 53 Cu"ndo i L @* l" c"9" #e h" reducido " un" c"9" de .x.x.* y no podemo# reducir m'#. Ji i e# m"yor $ue @* xy( #e e#t"blece en i-8* $ue h"ce $ue lo# vi"9e# xy( D " @* cu"ndo #e de#pl"(" de#de 8 " .-. !icimo# e#te truco p"r" evit"r tener do# bucle# Eor* $ue culmin" en un p"#"r de un @-D y D-@. -3 Aong" el cubo y retr"#"r un poco p"r" "#egur"r#e de $ue l" (on" muert" #e repre#ent" en el cubo. ,e#"ctiv"r l" rutin" de interrupci&n. !"cemo# e#to por$ue l"# Euncione# del e#pe9o tiene un poco de tiempo. Jin de#"ctiv"r l"# interrupcione#* el cu"dro de "l"mbre #e enciende brevemente en l" rot"ci&n origin"l "nte# de #er mo#tr"do# gir"r. 63 ,ibu9" el cu"dro de "l"mbre en #u rot"ci&n origin"l. l"do de l" c"9" e#t' #iempre en D*D*D mientr"# $ue lo# otro# vi"9e# " lo l"rgo de l" di"gon"l. @3 Gl"# rot"cione#. Ji l" moned" e# gre"ther " D* el cubo #e gir" "l rev=#. podredumbre tom" un n1mero de D " <* donde D e# D gr"do# de rot"ci&n "lrededor de V y < e# de /@D gr"do#. A"r" obtener /@D gr"do# $ue un #imple reEle9o de "lrededor de X e U.

83 !"bilit"r l"# interrupcione# p"r" mo#tr"r el cubo "ctu"l gir". F3 de ret"rdo p"r" un r"to y luego limpi"r el cubo. +" otr" Eunci&n implic"d" en el eEecto c"9" de "l"mbre e# eEEectWboxWwoopwoop 03. %l woopwoop nombre #on"b" n"tur"l* cu"ndo vimo# por primer" ve( el eEecto #e repre#ent" en el cubo +" Eunci&n de woopwoop #&lo h"ce un" iter"ci&n y tom" do# "rgumento#* el retr"#o y crecer. Ji crece e# m"yor $ue D* el cu"dro #e inici" como un" c"9" de /x/x/ y crecer " un" c"9" de 8x8x8. :#) e# como Euncion": .3 Aoner el cubo de llen"r el buEEer con DxDDN /3 A"r" 03-bucle de D " <. 53 %#t"blecer ?? "l ?. Ji crecen #e e#peciEic" $ue #e e#t"blece en <-i p"r" revertirl". -3 ,ibu9e un cu"dro de "l"mbre centr"do " lo l"rgo de l" di"gon"l entre D*D*D y @*@*@. >n" e#$uin" de l" c"9" utili(" l"# coorden"d"# 5 K ?? en todo# lo# e9e#* p"#"ndo de 5-@. +" otr" e#$uin" utili(" <-?? en todo# lo# e9e#* p"#"ndo de <-D. 63 4etr"#o por un tiempo* " continu"ci&n* de#"ctive el cubo.

%Eecto -* e9e updown r"nd#u#pend

%#te e# uno de lo# eEecto# E"vorito#. +o# voxel# "l "("r en #u#pen#i&n en el cubo d" un" proEundid"d <, "gr"d"ble* e#peci"lmente #i u#ted mueve #u c"be(" "l ver el eEecto. 65 voxel# empe("r " c"bo en un" de l"# p"rede# l"ter"le#. %ntonce# todo# #e le "#ign" un de#tino " mit"d de c"mino "le"torio entre l" p"red l"ter"l $ue #e inici& " l" p"red y en el l"do opue#to. +" Eunci&n de continu"ci&n* recorre 8 vece# $ue #e de#pl"("n c"d" voxel m'# cerc"no " #u de#tino " medio c"mino. ,e#pu=# de 8 repeticione#* lo# voxel# e#t'n #u#pendido# " diEerente# di#t"nci"# del punto de p"rtid". +" Eunci&n h"ce un" p"u#" por un tiempo* de "h) el nombre "xi#WupdownWr"nd#u#pend . : continu"ci&n* recorre 8 vece# de nuevo en movimiento lo# voxel# un p"#o m'# h"ci" #u de#tino Ein"l en l" p"red opue#t" en c"d" oc"#i&n. %l dibu9o voxel re"l #e re"li(" en un" Eunci&n #ep"r"d"* dr"wWpo#ition#W"xi# 03 p"r" $ue pued" #er utili("do en diEerente# eEecto#. Aor e9emplo* lo# voxel# podr)" #er #u#pendido " mit"d de c"mino en un p"tr&n no "le"torio. 6"mo# " de9"r " u#ted p"r" cre"r e#" Eunci&n de eEecto2 : , >#ted puede h"ber not"do $ue l" de#cripci&n de e#te eEecto Eue meno# e#pec)Eico. +e "nim"mo# " de#c"rg"r el c&digo Euente y leer " tr"v=# de l"# Euncione# de ti mi#mo. M"nteng" el texto "nterior en mente cu"ndo #e lee el c&digo y tr"t"r de "verigu"r todo lo $ue h"ce.

%Eecto 6* #tringEly

+%, roto#

Icurre un de#"#tre. >n +%, en el interior del cubo e#t' roto2 ;uvimo# un p"r de +%,# romper re"lmente. Aor #uerte* el m'# diE)cil p"r" lleg"r " #&lo un" c"p" en el interior del cubo. A"r" $uit"r el +%,* "c"b" de tom"r un pe$ue7o p"r de pin("# de punt" Ein" y poner un poco de pre#i&n en l"# piern"#* luego le d"n un ligero to$ue con el #old"dor. +" piern" debe e#t"ll"r " l" derech" h"ci" Euer". !"g" e#to dur"nte l"# do# piern"#* y $ue e#t' Euer". ?n#erci&n de un nuevo +%, e# l" p"rte diE)cil. %# nece#"rio $ue #e" t"n #im=trico y "gr"d"ble como el re#to de lo# +%,#. Je utili(& un" m"no de "yud" " m"ntenerlo en #u lug"r dur"nte l" #old"dur". Cue #orprendentemente bien* y ni #i$uier" podemo# ver $ue lo# +%, h"n #ido reempl"("do#