Sei sulla pagina 1di 22

Escuela de Computación e Informática

Facultad de Ingeniería

Universidad Central de Chile

Curso: Herramientas Computacionales y Multimedia

Profesor Laboratorio: Valentina Tombolini Sec 2

Semestre: Primer semestre 2016

ARDUINO: LED CUBE


Ignacio Fajardo

Claudio Olavarría

Mario Reyes

05/Abril

Profesor: Valentina Tombolini

Este informe fue creado con la intención de explicar la utilización de un Arduino.


CONTENIDO DEL INFORME

I. INTRODUCCIÓN ..................................................................................................................................... 2
II. MATERIALES .......................................................................................................................................... 3
III. PASOS PARA UTILIZAR EL ARDUINO .................................................................................................. 4
a) CONECTANDO Y CONFIGURANDO EL ARDUINO ............................................................................... 4
b) CREACIÓN DEL LED CUBE ................................................................................................................ 15
IV. CONCLUSIÓN ................................................................................................................................... 20
V. BIBLIOGRAFÍA ...................................................................................................................................... 21

1
I. INTRODUCCIÓN

El Arduino fue el sucesor de diversos sistemas similares pero bastantes más costosos, los microcontroladores, cuál
fuese el modelo previo al arduino eran escasos en muchas de las instituciones en las cuales eran necesario este tipo
de aparatos para los estudiantes de computación, de esta manera surgió la idea de crear un sistema de menor costo
y mayor facilidad técnica a la hora de trabajar en él, el arduino en sí fue creado por y para alumnos.

Para entender de mejor forma la creación del arduino, fue en el año 2005 donde un estudiante del instituto IVRAE
Massimo Banzi, decide emprender un proyecto para obtener una alternativa a los microcontroladores de la época
debido a su gran costo y a su escases, pero este no era el único factor de cambio sino que también los
microcontroladores de la época no ofrecían un soporte adecuado al sistema.

En un principio el único objetivo de este proyecto fue crear alternativas para estudiantes de su instituto, pero cuando
comprendió lo útil que fue su proyecto y la posibilidad de comercializarlo decidió hacerlo con el objetivo de ayudar
a salvar de la quiebra a su escuela, producto de esto se creó hasta ahora uno de los sistemas más eficientes y útiles
a la hora de trabajar en computadores.

El proyecto del arduino fue integrado por distintos alumnos de distintas nacionalidades, con el objetivo de mejorar
este sistema a partir del primero creado por Banzi.

Finalmente el resultado del proyecto arduino fue la creación de una plataforma libre, la cual está diseñada para
facilitar los trabajos de la electrónica en variados aspectos.

Nosotros actualmente buscamos presentar paso a paso la utilización del arduino de una forma creativa y didáctica,
y para ello hemos decidido recrear un cubo con la utilización de leds a través del programa y el sistema arduino.

2
II. MATERIALES

Los materiales para poder hacer uso del arduino son:

- Cable para conexión de un arduino.

- Arduino

- Computador

- Leds

- Protoboard

- Software “Arduino”

- Resistencias

- Soldadura

- Cables para energizar

3
III. PASOS PARA UTILIZAR EL ARDUINO

a) CONECTANDO Y CONFIGURANDO EL ARDUINO

- Para poder comenzar a utilizar el hardware del arduino es necesario previamente tener instalado el software
de este mismo.
- Para conectar el arduino es necesario tener el cable de conexión especial para el arduino.

Figura 1.- Cable de conexión del arduino

- Luego este cable debe ser conectado al arduino y posteriormente al computador de esta manera:

Figura 2.- Conexión del arduino al pc

- El siguiente paso es entrar al software del arduino desde donde configuraremos todo lo necesario para
nuestro cube led, cuando estemos dentro del programa arduino lo configuraremos para nuestro dispositivo
de la siguiente manera:

4
Figura 3.- Configuración Software Arduino

- Luego procederemos a verificar que nuestro arduino esté siendo identificado por nuestro computador y
por consiguiente seleccionarlo, para ello haremos lo siguiente:

Figura 4.- Seleccionando el arduino

- Luego de tener preparado nuestro arduino procederemos a introducir los valores y los datos necesarios para
hacer funcionar nuestro led cube, es decir nuestro código.

5
*/

#include <LedCube.h>

#define SIZE 3

#define COLS (SIZE*SIZE)

byte levelPins[SIZE] = {11,12,13};

byte colPins[COLS] = {2,3,4,5,6,7,8,9,10};

LedCube cube(SIZE, levelPins, colPins);

//#define DEBUG

#ifdef DEBUG

#include <memdebug.h>

void showmem(const char label[] = "")

char buffer[100];

sprintf(buffer,"%s: %04u %04u %04u : used/free",

label,

getMemoryUsed(),

getFreeMemory()

);

6
Serial.println(buffer);

#endif

void setup ()

#ifdef DEBUG

Serial.begin(9600);

#endif

void loop ()

delay(10);

#ifdef DEBUG

showmem("start");

#endif

cubeFrame* f[] = {

cube.createFrame((byte[]) {0,6, 1,6, 2,6}, 6, 80),

cube.createFrame((byte[]) {0,7, 1,7, 2,7}, 6, 70),

cube.createFrame((byte[]) {0,8, 1,8, 2,8}, 6, 60),

cube.createFrame((byte[]) {0,5, 1,5, 2,5}, 6, 50),

cube.createFrame((byte[]) {0,2, 1,2, 2,2}, 6, 40),

cube.createFrame((byte[]) {0,1, 1,1, 2,1}, 6, 30),

7
cube.createFrame((byte[]) {0,0, 1,0, 2,0}, 6, 20),

cube.createFrame((byte[]) {0,3, 1,3, 2,3}, 6, 10)

};

#ifdef DEBUG

showmem("before free");

#endif

cube.lightFrames(f, 8);

// light each light one at a time

for(byte level=0; level<cube.getLevels(); level++)

for(byte col=0; col<cube.getCols(); col++)

cube.lightPulse(level, col, 100);

// light one level at a time, increasing speed each time

for(byte d=25; d>2; d-=2)

for(byte l=1; l <= cube.getLevels(); l++)

cube.lightLevel(l, d);

8
// light each row on each level

for(byte level=1; level<=cube.getLevels(); level++)

for(byte row=1; row<=cube.getLevels()*2; row++)

cube.lightRow(row, level);

// light each plane

for(byte i=3; i; i--)

for(byte row=1; row<=cube.getLevels()*2; row++)

cube.lightPlane(row, 10*i);

// single random light at a time

cube.randomLight(random(25,100),100);

// random column drop

for(byte x=0; x<=15; x++)

9
cube.lightDrop(random(0,cube.getCols()), random(50,150));

// circle around cube at a random level

for(byte x=0; x<=5; x++)

cube.lightPerimeter(random(0,cube.getLevels()), random(1,5), random(25


,100));

// light each face

byte planes[] = {cube.getLevels()+1,cube.getLevels(),cube.getLevels()*2,1}


;

for(byte i=5; i; i--)

for(byte p=0; p<sizeof(planes); p++)

cube.lightPlane(planes[p], 5*i);

// random columns

cube.randomColumn(25);

// turn off a single column randomly

10
cube.enableBuffer();

for(byte c=0; c<30; c++)

cube.fillBuffer();

cube.invertBuffer();

cube.randomColumn();

cube.drawBuffer(7);

cube.enableBuffer(false);

// cols in and out

for(byte c=1, d=0; c<=10; c++)

if(c%2 == 0)

for(d=0; d<20; d++)

cube.lightColumn(2,1);

cube.lightColumn(4,1);

cube.lightColumn(6,1);

cube.lightColumn(8,1);

else if(c%4 == 1)

11
for(d=0; d<30; d++)

cube.lightColumn(1,1);

cube.lightColumn(3,1);

cube.lightColumn(7,1);

cube.lightColumn(9,1);

else

for(d=0; d<70; d++)

cube.lightColumn(5,1);

// diamond and box

byte diamond[] = {0,4, 1,1, 1,3, 1,4, 1,5, 1,7, 2,4};

byte box[] = {

2,0, 2,1, 2,2, 2,3, 2,5, 2,6, 2,7, 2,8,

1,0, 1,2, 1,6, 1,8,

0,0, 0,1, 0,2, 0,3, 0,5, 0,6, 0,7, 0,8

};

cube.lightSequence(box, sizeof(box), 200);

12
cube.lightSequence(diamond, sizeof(diamond), 400);

// helicopter effect

byte topSeq[8] = {0,3,6,7,8,5,2,1};

byte botSeq[8] = {8,5,2,1,0,3,6,7};

for(byte loops = 0, delay = 50; loops<=8; loops++)

for(byte s=0; s<8; s++)

byte seq[] = {2,topSeq[s], 1,4, 0,botSeq[s]};

cube.lightSequence(seq, sizeof(seq), delay);

if(loops < 5) delay-=10; else delay += 10;

// turn off one light at a time

cube.lightsOut();

- Luego de introducir el código debemos verificar y cargar al arduino nuestro código como mostraremos en
las siguientes fotos:

13
Figura 5.- Verificando el código para el arduino (ticket)

Figura 6.- Subiendo la información al arduino (flecha)

14
b) CREACIÓN DEL LED CUBE

- Ya al completar todos los pasos mencionados anteriormente nuestro led estaría listo para funcionar y
procederemos a ensamblar y conectar lo necesario para construir nuestro “led cube”
- En primer lugar procedemos a conectar los cables a la protoboard según como hemos indicado en el código

Figura 7.- Conexión cables del arduino a protoboard

- Luego procedemos a soldar los leds de la siguiente manera para que cada uno de ellos quede energizado y
de esa forma obtener el resultado deseado.

Figura 8.- Soldando los leds.

- Debemos soldar los leds de manera que obtengan la forma de un cubo.

15
Figura 9.- Finalización del cubo

- Procedemos a conectar las resistencias y los leds en la protoboard como se indica a continuación.

Figura 10.- Conexión de resistencias y los leds Figura 11.- Colocación del cubo

16
- Para entender de mejor forma las posiciones de cada una de las partes de nuestro led cube a continuación
pondremos a disposición un diagrama para especificar más a fondo donde debe ir ubicada cada parte en
nuestra protoboard.

-
- Figura 12.- Conexiones en la protoboard

17
- Finalmente procedemos a energizar nuestra protoboard, de esta forma conseguiremos iluminar nuestro
“led cube” como se muestra a continuación.

Figura 13.- Energización del protoboard

Figura 14.- Funcionamiento del led cube 1

18
Figura 15.- Funcionamiento del led cube 2

De esta forma hemos construido y finalizado nuestro led cube de forma creativa y ya está listo para ser presentado
en público.

19
IV. CONCLUSIÓN

El arduino fue un sistema que llego para revolucionar todos los sistemas de la época ya que era de un muy bajo costo
y constaba de un mayor sistema de soporte hacia el usuario en comparación a los micro controladores de la época,
cabe recordar que en la actualidad la mayoría de los objetos tecnológicos contienen micro controladores para llevar
a cabo sus diversas funciones que nos ayudan en todo ámbito de nuestras vidas, por todas estas razones
mencionadas anteriormente el arduino se hizo tan popular en tan poco tiempo.

Nosotros como grupo hemos buscado crear un “led cube”, el cual si bien su creación no tiene el objetivo de tener
una funcionalidad específica como muchos de los aparatos de hoy en día, cumple con el rol de entretener y de esta
forma entender y comprender de una manera didáctica más sobre el arduino y sus distintas funciones.

El trabajo llevado a cabo por nosotros ayuda de muy buena forma a entender lo básico del arduino ya sean códigos,
sistemas y formas, de esta manera a futuro poder entregar proyectos con una funcionalidad y un objetivo claro, es
decir que cumplan un rol en nuestra sociedad.

Volviendo al led cube en sí cuando trabajamos en el software específicamente en el código tuvimos ciertas
dificultades pero paso a paso y revisando cada línea logramos darnos cuentas de las falencias de este para lograr
llegar al resultado deseado para darle vida a nuestro led cube.

Para finalizar en base a todo lo anteriormente mencionado el arduino es un micro controlador de bajo costo que
ofrece al usuario un mayor soporte a la hora de hacer uso de este sistema, cabe resaltar que el arduino cuenta con
un sistema libre o liberado el cual facilita su uso, y gracias al arduino y muchos otros micro controladores podemos
utilizar diversos objetos tecnológicos que facilitan muchas de nuestras tareas básicas.

20
V. BIBLIOGRAFÍA

[1] http://arduinodhtics.weebly.com/historia.html

[2] https://botscience.wordpress.com/2012/06/05/historia-de-arduino-y-su-nacimiento/

[3] https://www.youtube.com/watch?v=HUes0IfPd2s

[4] https://www.youtube.com/watch?v=SljyILTbkUE&feature=youtu.be

21

Potrebbero piacerti anche