Está en la página 1de 22

Universidad de Santiago de Chile

Facultad de Ingeniera
Departamento de Ingeniera Elctrica

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

Contenido
I.

Introduccin.........................................................................................................2

II.

Materiales usados...............................................................................................2

III. Espejo Infinito......................................................................................................3


A.

Mtodo de control.........................................................................................3

B.

Armado del espejo con LEDs.......................................................................3

IV. Idea de circuito del Espejo Infinito......................................................................4


V. Cdigo.................................................................................................................7
VI. Conclusiones.....................................................................................................19
VII. Bibliografa........................................................................................................19

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

I.

Introduccin

El presente informe aborda principalmente el procedimiento para llevar a


cabo la construccin de un espejo infinito utilizando un micro controlador arduino.
Junto con describir las ideas para poder realizar el armado del espejo con
LEDs se explica de manera minuciosa el proceso de construccin del circuito
electrnico con todos los elementos utilizados, adems de su fundamento.
El proyecto consiste en concebir, disear y armar una estructura en la cual
se produzca el efecto de un espejo infinito visualizado mediante un juego de LEDs
que al prenderse da la percepcin y sensacin de estar viendo un espejo de gran
profundidad. Se puede llegar a pensar que la percepcin de esta profundidad es
de muchos metros, aun cuando realmente la profundidad del espejo no sea ms
all de algunos centmetros. Dicha profundidad se encontrar guiada por los
efectos luminosos de los LEDs.

II.

Materiales usados

Para la realizacin del proyecto se utilizaron:


30 LEDs
30 resistencias
4 Shift Registers del tipo 74HC595
1 placa arduino
Placa pre perforada
Lmina de vidrio polarizado de 30x30 cm
Espejo de 30x30 cm
Palitos de maqueta
Cartn piedra
Plumavit

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

III.

Espejo Infinito
A.

Mtodo de control

Se debe tener en consideracin que las entradas del arduino no son del
todo suficientes para la conexin de la totalidad de los LEDs utilizados, por lo que
se utilizan Shift Registers del tipo 74HC595 con el objetivo de lograr controlar 8
salidas por cada pin de arduino disponible. En este caso particular se requiere de
4 Shift Register para lograr el control de la totalidad de salidas.

B.

Armado del espejo con LEDs

La figura que se pens de manera grupal fue un pentgono, por cada lado
de l se conectaron 6 LEDs. Se usaron 30 resistencias en serie a cada LED y
Q0
Q7
estas fueron conectadas a los pines de
a
del registro de
desplazamiento.
Se soldaron los 4 registros a una placa pre perforada, se conect cada pin
de ellos a sus respectivas tierras, Vcc y pines tales como el latch, el data y el
clock.

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

IV.

Idea de circuito del Espejo Infinito


La siguiente figura muestra la conexin circuital del espejo infinito:

Fig. 1: Esquema de conexin entre los Shift-Register y el Arduino. Las conexiones entre los circuitos
integrados, las resistencias y los LEDs son mostrados en el siguiente diagrama.

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

Con los conocimientos claros acerca del funcionamiento de los registros y la


manera de cmo se utilizan, se procedi a realizar un circuito esquemtico con
cada Shift Register y los pines asociados a cada uno de ellos.
Tericamente se sabe que el registro posee pines por defecto; el latch
corresponde al pin 12, el clock al pin 11 y el data, donde se guardarn los datos, al
pin 14.
Para el montaje de la circuitera electrnica se realiz la conexin de cada
uno de los pines antes mencionados unos con otros, por ejemplo el primer Shift
Register desde el pin 12 que corresponde al latch debe ir al pin 12 del segundo
registro y as sucesivamente. Luego, dependiendo del cdigo y de cmo se
definen los pines, se conecta el pin 12 del primer Shift Register al pin del arduino.
De manera anloga se realiza la conexin del clock y el data.

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

Fig. 2: Esquema de conexin entre los Shift-Register y los lados del pentgono. Ntese que no se incluy la
conexin entre circuitos integrados, ya que se mostr anteriormente.

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

V.

Cdigo

La siguiente tabla muestra el cdigo para encender los LEDs, adems de algunos
efectos:
int latchPin=5;
int clockPin=4;
int dataPin=3;
int a;
int s;
int i;

int arrShift1[]={B00111111,B11000000,B00000000,B00000000,B00000000};
int arrShift2[]={B00000000,B00001111,B11110000,B00000000,B00000000};
int arrShift3[]={B00000000,B00000000,B00000011,B11111100,B00000000};
int arrShift4[]={B00000000,B00000000,B00000000,B00000000,B00111111};
int arrShift5[]={B00111111,B11111111,B11111111,B11111111,B11111111};
int arrShift6[]={B00000000,B00001111,B11111111,B11111111,B11111111};
int arrShift7[]={B00000000,B00000000,B00000011,B11111111,B11111111};
int arrShift8[]={B00000000,B00000000,B00000000,B00000000,B00111111};
int
arrShiftd[]={B00111111,B01111110,B11111100,B11111000,B11110000,B11100000,B110000
00,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B
00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B000
00000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B0000111
1,B00011111};
int
arrShiftc[]={B00000000,B00000000,B00000000,B00000001,B00000011,B00000111,B000
01111,B00011111,B00111111,B01111110,B11111100,B11111000,B11110000,B11100000,B1
1000000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B0000
0000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B0000000
0,B00000000};
int
arrShiftb[]={B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00
8

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica
000000,B00000000,B00000000,B00000000,B00000000,B00000001,B00000011,B00000
111,B00001111,B00011111,B00111111,B01111110,B11111100,B11111000,B11110000,B111
00000,B11000000,B10000000,B00000000,B00000000,B00000000,B00000000,B000000
00,B00000000};
int
arrShifta[]={B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00
000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000
000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B00000011,
B00000111,B00001111,B00011111,B00111111,B01111110,B11111100,B11111000,B111100
00,B11100000};

int ArregloInterm1[]={0XAA,0XCC,0XF0};
int ArregloInterm2[]={0X55,0X33,0X0F};
int M=150; //corresponde a un delay

void setup() {
pinMode(latchPin,OUTPUT);
pinMode(clockPin,OUTPUT);
pinMode(dataPin,OUTPUT);
}

void loop() {
efecto0();
efecto1();
efecto2();
efecto2();
efecto2();
efecto2();
efecto3();
efecto3();
efecto3();
efecto3();
9

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica
efecto4();
efecto4();
efecto4();
efecto4();
efecto5();
efecto5();
efecto5();
efecto5();
efecto5();
efecto5();
efecto6();
efecto6();
}
void efecto0(){
shiftOut(dataPin,clockPin,MSBFIRST,1);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,3);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,7);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
10

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

shiftOut(dataPin,clockPin,MSBFIRST,15);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,31);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,63);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,127);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
11

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,1);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,3);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,7);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,15);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,31);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
12

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,63);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,127);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,1);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,3);
shiftOut(dataPin,clockPin,MSBFIRST,0);
13

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,7);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,15);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,31);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,63);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,127);
14

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,1);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,3);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,7);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
15

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,15);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,31);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,63);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,127);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);

16

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica
}

void efecto1(){
s=150
for(int i=0 ;i<5 ;i++) // disminuir el delay de 50 en 50 .
{
a=1; // de aca en adelante para que un led encendido recorra todo el pentagono.
digitalWrite(latchPin,LOW);
for(int i=0 ;i<8 ;i++)
{
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
shiftOut(dataPin,clockPin,MSBFIRST,a);
digitalWrite(latchPin,HIGH);
delay(s);
digitalWrite(latchPin,LOW);
a=2*a;
}
a=1;
for(int i=0 ;i<8 ;i++)
{
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
shiftOut(dataPin,clockPin,MSBFIRST,a);
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
digitalWrite(latchPin,HIGH);
delay(s);
digitalWrite(latchPin,LOW);
a=2*a;
}
a=1;
for(int i=0 ;i<8 ;i++)
17

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

{
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
shiftOut(dataPin,clockPin,MSBFIRST,a);
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
digitalWrite(latchPin,HIGH);
delay(s);
digitalWrite(latchPin,LOW);
a=2*a;
}
a=1;
for(int i=0 ;i<6 ;i++) // este llega hasta 6 porque quedan 2 patitas de este shift sin
usar.
{
shiftOut(dataPin,clockPin,MSBFIRST,a);
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
shiftOut(dataPin,clockPin,MSBFIRST,B00000000);
digitalWrite(latchPin,HIGH);
delay(s);
digitalWrite(latchPin,LOW);
a=2*a;
}
s=s-25;
}
}

void efecto2(){
int delay1=250;
for(int i=0 ;i<5 ;i++) // disminuir el delay de 25 en 25 .
{

shiftOut(dataPin,clockPin,MSBFIRST,arrShift4[i]);
18

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica
shiftOut(dataPin,clockPin,MSBFIRST,arrShift3[i]);
shiftOut(dataPin,clockPin,MSBFIRST,arrShift2[i]);
shiftOut(dataPin,clockPin,MSBFIRST,arrShift1[i]);
digitalWrite(latchPin,HIGH);
delay(delay1);
digitalWrite(latchPin,LOW);
delay1=delay1-25;
}
}
void efecto3(){
int delay1=250;
for(int i=0 ;i<5 ;i++)
{

shiftOut(dataPin,clockPin,MSBFIRST,arrShift8[i]);
shiftOut(dataPin,clockPin,MSBFIRST,arrShift7[i]);
shiftOut(dataPin,clockPin,MSBFIRST,arrShift6[i]);
shiftOut(dataPin,clockPin,MSBFIRST,arrShift5[i]);
digitalWrite(latchPin,HIGH);
delay(250);
digitalWrite(latchPin,LOW);

}
}
void efecto4(){
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
shiftOut(dataPin,clockPin,MSBFIRST,0);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
19

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
shiftOut(dataPin,clockPin,MSBFIRST,255);
digitalWrite(latchPin,HIGH);
digitalWrite(latchPin,LOW);
delay(200);
}
void efecto5(){

for(int i=0 ;i<30 ;i++){


shiftOut(dataPin,clockPin,MSBFIRST,arrShiftb[i]);
shiftOut(dataPin,clockPin,MSBFIRST,arrShiftc[i]);
shiftOut(dataPin,clockPin,MSBFIRST,arrShiftd[i]);
shiftOut(dataPin,clockPin,MSBFIRST,arrShifta[i]);
digitalWrite(latchPin,HIGH);
delay(50);
digitalWrite(latchPin,LOW);

}
}
void efecto6(){
for(int e=0 ;e<3 ;e++){
for(int i=0 ;i<8 ;i++){
digitalWrite(latchPin,LOW);
shiftOut(dataPin,clockPin,MSBFIRST,ArregloInterm1[e]);
shiftOut(dataPin,clockPin,MSBFIRST,ArregloInterm1[e]);
shiftOut(dataPin,clockPin,MSBFIRST,ArregloInterm1[e]);
shiftOut(dataPin,clockPin,MSBFIRST,ArregloInterm1[e]);
digitalWrite(latchPin,HIGH);
delay(M);
20

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

digitalWrite(latchPin,LOW);
shiftOut(dataPin,clockPin,MSBFIRST,ArregloInterm2[e]);
shiftOut(dataPin,clockPin,MSBFIRST,ArregloInterm2[e]);
shiftOut(dataPin,clockPin,MSBFIRST,ArregloInterm2[e]);
shiftOut(dataPin,clockPin,MSBFIRST,ArregloInterm2[e]);
digitalWrite(latchPin,HIGH);
delay(M);
}
}
digitalWrite(latchPin,LOW);
shiftOut(dataPin,clockPin,MSBFIRST,0Xff);
shiftOut(dataPin,clockPin,MSBFIRST,0Xff);
shiftOut(dataPin,clockPin,MSBFIRST,0Xff);
shiftOut(dataPin,clockPin,MSBFIRST,0Xff);
digitalWrite(latchPin,HIGH);
delay(1000);
}

VI.

Conclusiones.

La importancia de los shift register radica principalmente en que


proporciona 8 salidas por una del arduino, adems de ordenar el circuito lgico.
La estructura de programacin es muy similar a algunas que ya haban sido
estudiadas, se hace necesario tener conceptualmente interiorizado el esquema
mental de la accin que se busca realizar mediante las sentencias de cdigo.
La experiencia de armado y programacin del espejo infito ha sido
sumamente til para el aprendizaje, por una parte con los instrumentos utilizados
(data sheet de los componentes por ejemplo) como tambin para comprender
sobre los posicionamientos de memoria y su utilidad.

21

Universidad de Santiago de Chile


Facultad de Ingeniera
Departamento de Ingeniera Elctrica

VII.

Bibliografa.

https://www.arduino.cc/en/Tutorial/ShiftOut

22

También podría gustarte