Primeros Pasos Con Arduino

download Primeros Pasos Con Arduino

of 28

Transcript of Primeros Pasos Con Arduino

  • 5/24/2018 Primeros Pasos Con Arduino

    1/28

    Primeros pasos con Arduino, prctica 1: elcoche fantsticoBysalvael 19 Mayo 2010 6 Comentarios

    Arduino,Electrnica,

    Proyectos

    Darle 5/5

    arle 1/5

    arle 2/5

    arle 3/5

    arle 4/5

    arle 5/5

    Su voto: Nada Average: 4.7 (6 votos)

    http://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/node/32#commentshttp://www.tecnosalva.com/node/32#commentshttp://www.tecnosalva.com/node/32#commentshttp://www.tecnosalva.com/categorias/arduinohttp://www.tecnosalva.com/categorias/arduinohttp://www.tecnosalva.com/categorias/electr%C3%B3nicahttp://www.tecnosalva.com/categorias/electr%C3%B3nicahttp://www.tecnosalva.com/categorias/proyectoshttp://www.tecnosalva.com/categorias/proyectoshttp://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#20http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#20http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#20http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#40http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#40http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#60http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#60http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#80http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#80http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#100http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#100http://www.tecnosalva.com/files/galeria_fotos/P1000143.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000142.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000137_0.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000086_0.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000143.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000142.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000137_0.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000086_0.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000143.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000142.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000137_0.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000086_0.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000143.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000142.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000137_0.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000086_0.JPGhttp://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#100http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#100http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#80http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#80http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#60http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#60http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#40http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#40http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#20http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#20http://www.tecnosalva.com/categorias/proyectoshttp://www.tecnosalva.com/categorias/electr%C3%B3nicahttp://www.tecnosalva.com/categorias/arduinohttp://www.tecnosalva.com/node/32#commentshttp://www.tecnosalva.com/users/salva
  • 5/24/2018 Primeros Pasos Con Arduino

    2/28

    Arduinoes un sistema microcontrolado de hardware libre y cdigo abierto, multiplataforma, barato,con un entorno de programacin sencillo y simple, basado en el microcontrolador ATMEGA en susdiferentes versiones de Atmel. Existen diferentes versiones de las placas arduino, yo he usado lallamada Arduino Duemilanove es la sucesin de la Arduino Diecimila, que monta el nuevoprocesador ATMega328.Dispone de 14 pines de entada y salida digitales, de los cuales 6 se pueden usar como salidasPWM (Pulse Width Modulation), 6 entradas analgicas, se conecta al puerto USB, (con un cablecomo el de las impresoras), tambin dispone de un conector de corriente.

    Todo lo que necesitamos saber sobre este estupendo sistema est en la weboficial:http://www.arduino.cc/

    En Tecnologa es un sistema ideal para controlar los proyectos que solemos realizar con nuestrosalumnos, control de puertas, barreras, semforos, ascensores,

    En esta y sucesivas entregas iremos realizando prcticas bsicas basadas en este hardware:

    Para comenzar necesitamos:Descargar e instalarel entorno de programacin Arduino. No hace falta instalacin simplementedescomprimimos el paquete en una carpeta y lanzamos el ejecutable arduino.

    Conectar nuestra placa al PC. Si no detecta automticamente los drivers stos los podremosencontrar en la carpeta arduino-xx/drivers/FTDI USB Drivers/

    Arrancamos el entorno, y en el men Tools configuramos la conexin (serial Port) y nuestra placa(en este caso Arduino Duemilanove).

    La sintaxis del lenguaje es muy parecida al lenguaje C, la estructura bsica de cualquier programaes la siguiente:

    void setup()

    {//declaro variables, asigno PinMode o inicializo las comunicaciones serie.}

    void loop()

    {//se ejecuta a continuacin, incluye el cdigo que lee entradas, activa salidas...es el ncleo delcdigo.}

    Os aconsejo leer elmanual adjuntopara ampliar un poco ms en el entorno Arduino, en lencontrareis un apartado donde se describen la base de la programacin de este sistema, muyfcil si tenemos conocimientos de programacin.

    A partir de aqu podremos empezar con nuestras prcticas:

    http://www.arduino.cc/es/http://www.arduino.cc/es/http://www.arduino.cc/http://www.arduino.cc/http://www.arduino.cc/http://arduino.cc/en/Main/Softwarehttp://arduino.cc/en/Main/Softwarehttp://www.tecnosalva.com/files/ficheros/arduino%20user%20manual.PDFhttp://www.tecnosalva.com/files/ficheros/arduino%20user%20manual.PDFhttp://www.tecnosalva.com/files/ficheros/arduino%20user%20manual.PDFhttp://www.tecnosalva.com/files/imagen/P1000086_0.JPGhttp://www.tecnosalva.com/files/ficheros/arduino%20user%20manual.PDFhttp://arduino.cc/en/Main/Softwarehttp://www.arduino.cc/http://www.arduino.cc/es/
  • 5/24/2018 Primeros Pasos Con Arduino

    3/28

    Prctica 1: El coche fantstico.

    Necesitaremos 8 diodos LED, ocho resistencias de 220 Ohmios y una placa de prototipos yconectamos el esquema como el de la figura. Los diodos leds se encendern y apagaran siguiendoun patrn establecido en el cdigo, se muestran tres posibles opciones, podremos variar el tiempode encendido y apagado, modificando la variable timer. Aqu el cdigo:

    /* Co che fan ttic o 1*/int pinArray[] = {2, 3, 4, 5, 6, 7,8,9};int count = 0;int timer = 70;void setup(){for (count=0;count

  • 5/24/2018 Primeros Pasos Con Arduino

    4/28

    void loop() {for (count=0;count0;count--) {digitalWrite(pinArray[count], HIGH);delay(timer);digitalWrite(pinArray[count - 1], HIGH);delay(timer);digitalWrite(pinArray[count], LOW);delay(timer*2);}}

    /* Es trel la fugaz*---------------* Este programa es una variante del ejemplo del coche* fantstico. Muestra mediante un loop una estrella* fugaz que es dibujada en una linea de LED-s* directamente conectados a la placa Arduino** Puedes controlar la velocidad a la que la estrella* se mueve gracias a una variable llamada "waitNextLed"** Tambin puedes controlar la longitud de la cola* de la estrella a travs de la variable "tail length"*

    * @author: Cristina Hoffmann* @hardware: Cristina Hofmann**/// Variable declarationint pinArray [] = { 2,3,4,5,6,7,8,9,10,11,12 }; // Declaracin de los PIN-es mediante un arrayint controlLed = 13; // LED de controlint waitNextLed = 100; // Tiempo antes de encender el siguiente LEDint tailLength = 4; // Nmero de LED-s que permanecen encendidos antes de empezar aapagarlos para formar la colaint lineSize = 11; // Nmero de LED-s conectados (que es tambin el tamao del array)void setup() // Configuracin de los PIN-es como salida digital{

    int i;pinMode (controlLed, OUTPUT);for (i=0; i< lineSize; i++){pinMode(pinArray[i], OUTPUT);}}void loop(){int i;

  • 5/24/2018 Primeros Pasos Con Arduino

    5/28

    int tailCounter = tailLength; // Se establece la longitud de la cola en un contadordigitalWrite(controlLed, HIGH); // Se enciende el LED de control para indicar el inicio delloopfor (i=0; i 0)tailCounter--;}for (i=(lineSize-tailLength); i

  • 5/24/2018 Primeros Pasos Con Arduino

    6/28

    Bien en esta segunda prctica usaremos unos pulsadores para controlar el encendido de un diodoLED; cmo conectamos un pulsador? Usaremos un divisor de tensin, como se aprecia en lafigura, con una resistencia en Pull-down, de forma que cuando pulsemos la entrada digital tome elvalor alto.

    Declaramos el pin como entrada y usamos la funcin DigitalRead() para leer el valor de dichaentrada.

    Se proponen tres ejercicios diferentes,

    1. Este es el ms sencillo, al accionar el pulsador enciendo un diodo LED, al soltar se apaga:

    int buttonPin = 2;int ledPin = 13;int estado = 0;void setup() {pinMode(ledPin, OUTPUT);pinMode(buttonPin, INPUT);}void loop(){estado = digitalRead(buttonPin);if (estado == HIGH) {digitalWrite(ledPin, HIGH);}else {

    http://www.tecnosalva.com/files/imagen/control%20_pulsadores_arduino.jpghttp://www.tecnosalva.com/files/imagen/arduino%20pr_2_pulsadores_0.JPGhttp://www.tecnosalva.com/files/imagen/control%20_pulsadores_arduino.jpghttp://www.tecnosalva.com/files/imagen/arduino%20pr_2_pulsadores_0.JPG
  • 5/24/2018 Primeros Pasos Con Arduino

    7/28

    digitalWrite(ledPin, LOW);}}

    2. Ahora con dos pulsadores, al accionar el pulsador 1, enciende el Diodo, al accionar el pulsador2, apaga el diodo.

    int ledPin = 13;

    int inputPin1 = 2; // pulsador 1int inputPin2 = 3; // pulsador 2int p1;int p2;void setup() {pinMode(ledPin, OUTPUT);pinMode(inputPin1, INPUT);pinMode(inputPin2, INPUT);}void loop(){p1=digitalRead(inputPin1);p2=digitalRead(inputPin2);if (p1 == HIGH) {

    digitalWrite(ledPin, HIGH);} else if (p2 == HIGH) {digitalWrite(ledPin, LOW);}}

    3. Ahora usamos los pulsadores para iluminar ms o atenuar la luz del led, para ello debemoscambiar la conexin del Led al pin 9, que usa la salida PWM, modulacin por ancho de pulso,como si de una salida analgica se tratara.

    int ledPin = 9;int inputPin1 = 2; // pulsador 1int inputPin2 = 3; // pulsador 2int p1;

    int p2;int value = 0;void setup() {pinMode(ledPin, OUTPUT);pinMode(inputPin1, INPUT);pinMode(inputPin2, INPUT);}void loop(){p1=digitalRead(inputPin1);p2=digitalRead(inputPin2);if (p1 == HIGH) { value--; }else if (p2 == HIGH) { value++; }value = constrain(value, 0, 255);analogWrite(ledPin, value);delay(10);}

    - See more at:http://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-

    pulsadores#sthash.zh4NPEAA.dpuf

    http://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadores#sthash.zh4NPEAA.dpufhttp://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadores#sthash.zh4NPEAA.dpufhttp://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadores#sthash.zh4NPEAA.dpufhttp://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadores#sthash.zh4NPEAA.dpufhttp://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadores#sthash.zh4NPEAA.dpufhttp://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadores#sthash.zh4NPEAA.dpuf
  • 5/24/2018 Primeros Pasos Con Arduino

    8/28

    Prcticas 3 y 4 con arduino: control de unmotor y un servomotorBysalvael 24 Mayo 2010 10 Comentarios

    Arduino,Electrnica

    Darle 5/5

    arle 1/5

    arle 2/5

    arle 3/5

    arle 4/5

    arle 5/5Su voto: Nada Average: 4.5 (4 votos)

    Vamos a controlar un motor, lo conectaremos segn el esquema adjunto al pin 9 de Arduino, parapoder modular el pulso, realizaremos varias prcticas:

    1. Arrancamos el motor, esperamos un tiempo, despus apagamos el motor.int motorPin = 9;void setup()

    http://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/node/34#commentshttp://www.tecnosalva.com/node/34#commentshttp://www.tecnosalva.com/node/34#commentshttp://www.tecnosalva.com/categorias/arduinohttp://www.tecnosalva.com/categorias/arduinohttp://www.tecnosalva.com/categorias/electr%C3%B3nicahttp://www.tecnosalva.com/categorias/electr%C3%B3nicahttp://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#20http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#20http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#20http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#40http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#40http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#60http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#60http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#80http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#80http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#100http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#100http://www.tecnosalva.com/files/imagen/P1000153.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000153.JPGhttp://www.tecnosalva.com/files/galeria_fotos/conteol%20velocidad.jpghttp://www.tecnosalva.com/files/galeria_fotos/P1000159.JPGhttp://www.tecnosalva.com/files/imagen/P1000153.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000153.JPGhttp://www.tecnosalva.com/files/galeria_fotos/conteol%20velocidad.jpghttp://www.tecnosalva.com/files/galeria_fotos/P1000159.JPGhttp://www.tecnosalva.com/files/imagen/P1000153.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000153.JPGhttp://www.tecnosalva.com/files/galeria_fotos/conteol%20velocidad.jpghttp://www.tecnosalva.com/files/galeria_fotos/P1000159.JPGhttp://www.tecnosalva.com/files/imagen/P1000153.JPGhttp://www.tecnosalva.com/files/galeria_fotos/P1000153.JPGhttp://www.tecnosalva.com/files/galeria_fotos/conteol%20velocidad.jpghttp://www.tecnosalva.com/files/galeria_fotos/P1000159.JPGhttp://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#100http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#100http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#80http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#80http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#60http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#60http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#40http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#40http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#20http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#20http://www.tecnosalva.com/categorias/electr%C3%B3nicahttp://www.tecnosalva.com/categorias/arduinohttp://www.tecnosalva.com/node/34#commentshttp://www.tecnosalva.com/users/salva
  • 5/24/2018 Primeros Pasos Con Arduino

    9/28

    {pinMode(motorPin, OUTPUT);}void loop(){int onTime = 2500;int offTime = 1000;digitalWrite(motorPin, HIGH);delay (onTime);digitalWrite(motorPin, LOW);delay (offTime);}

    2.Al igual que antescambiabamos la iluminacin del led,ahora podemos controlar la velocidaddel motorcon la funcin analogWrite(pin, valor).

    int motorPin = 9;void setup(){pinMode(motorPin, OUTPUT);

    }void loop(){int onSpeed = 200;int onTime = 2500;int offSpeed = 50; // a number between 0 (stopped) and 255 (full speed)int offTime = 1000; //the number of milliseconds for the motor to turn off foranalogWrite(motorPin, onSpeed); // turns the motor Ondelay(onTime); // waits for onTime millisecondsanalogWrite(motorPin, offSpeed); // turns the motor Offdelay(offTime); // waits for offTime milliseconds}

    3. Aceleramos y desaceleramos el motor, ahora usamos un bucle para acelerar y frenar elmotor, usando del mismo modo la funcin analogWrite(), que en el caso anterior.

    int motorPin = 9;void setup(){pinMode(motorPin, OUTPUT);}void loop(){int delayTime = 50;tor

    for(int i = 0; i < 256; i++){ //aceleramosanalogWrite(motorPin, i);delay(delayTime);}for(int i = 255; i >= 0; i--){ //frenamosanalogWrite(motorPin, i);delay(delayTime);}}

    http://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadoreshttp://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadoreshttp://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadoreshttp://www.tecnosalva.com/arduino-pr%C3%A1ctica-n%C2%BA-2-control-mediante-pulsadores
  • 5/24/2018 Primeros Pasos Con Arduino

    10/28

    4. Usamos ahora un potencimetro para variar la velocidad del motor. El potencimetreo seconecta de la siguiente forma, extremos a v+ y gnd y el pin de control al pin 0 de las entradasanlogicas de Arduino.Arduino dispone de 6 entradas analgicas, que tienen un voltaje de 0 a 5voltios que convertidas aseales digitales tendramos de 0 a 1024, esto es 10 bits de resolucin. Por qu dividimos por 4

    analogRead()?, pues porque esta funcin devuelve un valor comprendido entre 0 y 1024 (10 bits) yla funcin analogWrite () toma valores comprendidos entre 0 y 255 (8 bits).

    int motorPin = 9;int potPin=0;int potValue;void setup(){pinMode(motorPin, OUTPUT);}void loop(){potValue = analogRead(potPin) / 4;analogWrite(motorPin, potValue);

    }

    5. Control de un servomotor#include Servo myservo; // creamos un objeto servo para controlar nuestro servoint pos = 0; // variable para almacenar la posicin del servovoid setup(){myservo.attach(9); // attaches the servo on pin 9 to the servo object}void loop(){for(pos = 0; pos < 180; pos += 1) // avanza de 0 a 180 grados

    { // en saltos de un gradomyservo.write(pos); // mueve a la posicin de la variable 'pos'delay(15); // espera 15ms}for(pos = 180; pos>=1; pos-=1) // va de 180 a 0 grados{myservo.write(pos);delay(15);}}

    - See more at:http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-

    servomotor#sthash.LVUgcSQu.dpuf

    Cmo hacer un cubo de leds 4x4x4 conArduinoBysalvael 22 Ene 2014 4 Comentarios

    Arduino,

    http://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#sthash.LVUgcSQu.dpufhttp://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#sthash.LVUgcSQu.dpufhttp://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#sthash.LVUgcSQu.dpufhttp://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#sthash.LVUgcSQu.dpufhttp://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/node/200#commentshttp://www.tecnosalva.com/node/200#commentshttp://www.tecnosalva.com/node/200#commentshttp://www.tecnosalva.com/categorias/arduinohttp://www.tecnosalva.com/categorias/arduinohttp://www.tecnosalva.com/categorias/arduinohttp://www.tecnosalva.com/node/200#commentshttp://www.tecnosalva.com/users/salvahttp://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#sthash.LVUgcSQu.dpufhttp://www.tecnosalva.com/pr%C3%A1cticas-3-y-4-arduino-control-motor-y-servomotor#sthash.LVUgcSQu.dpuf
  • 5/24/2018 Primeros Pasos Con Arduino

    11/28

    Proyectos

    arle 1/5

    arle 2/5

    arle 3/5

    arle 4/5

    arle 5/5

    Sin votos an

    Este cubo LED utiliza un microcontrolador Arduino Uno para crear un espectculo de luces en

    movimiento muy espectacular. Para realizar este proyecto con xito la paciencia es una de lasclaves, si sigue el tutorial paso a paso no tendr ningn problema en desarrollarlo.

    Por ltimo, lo ms importante en este proyecto es que te diviertas .

    qu vamos a necesitar? Arduino Uno (yo he usado Arduino Duemilanove)

    Cable rgido para unir los diodos en el cubo

    64 diodos led (yo us diodos leds azules)

    16 resistencias de 220 Ohmios

    Pinzas de cocodrilo

    Un trozo de porexpan

    Cables de conexin y placas Board para montar el circuito.

    Alicates de corte y punta plana de precisin.

    El diseoAntes de comenzar la construccin, es importante tener una visin completa de cmo va afuncionar, para que pueda improvisar e identificar los errores a medida que avanzas. Necesitamoscontrolar los 64 leds del cubo con tan solo 20 pin de la placa de arduno, vamos a estar utilizandouna tcnica denominada multiplexacin. Rompemos el cubo en cuatro capas separadas por loque slo necesitamos pines de control para 16 LEDs - de modo para encender un LED especfico,debemos activar tanto la capa , y el pin de control , que nos da una necesidad total de 16 +4 pines.

    http://www.tecnosalva.com/categorias/proyectoshttp://www.tecnosalva.com/categorias/proyectoshttp://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#20http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#20http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#40http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#40http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#60http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#60http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#80http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#80http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#100http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#100http://www.tecnosalva.com/files/imagen/Foto%2023-01-14%2015%2042%2017.jpghttp://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#100http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#100http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#80http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#80http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#60http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#60http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#40http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#40http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#20http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#20http://www.tecnosalva.com/categorias/proyectos
  • 5/24/2018 Primeros Pasos Con Arduino

    12/28

    Cada capa tiene un ctodo comn - la parte negativa del circuito - as que todas las patasnegativas se unen entre s , y se conecta a un solo pin para esa capa .

    En el lado (positivo ) de nodo , cada LED se puede conectar a la correspondiente LED en la capapor encima y por debajo de ella . En esencia , tenemos 16 columnas de las patas positivas y 4capas de la negativa. El siguiente diagrama en 3D muestra perfectamente la idea :

    La construccin

    Lo primero es tomar el trozo de porexpan y pegar en l la plantilla para poder armar el cubo. Acontinuacin ya podemos ir doblando los ctodos (piernas cortas) de los LED 90 grados y luegosoldar a todos juntos para formar un ctodo comn. Cada una de las cuatro capas contar con unctodo comn y 16 nodos individuales (piernas largas).

  • 5/24/2018 Primeros Pasos Con Arduino

    13/28

  • 5/24/2018 Primeros Pasos Con Arduino

    14/28

    Debes doblar todas los ctodos de los Leds de manera uniforme, yo me ha ayudado de unosalicates de precisin pequeos, como los de la imagen. Con un poco de paciencia voy soldando decuatro en cuatro los catodos de los diodos.

    El siguiente paso es utilizar un cable para conectar las cuatro filas juntos en una capa, se podrautilizar cuatro tiras de alambre por capa, pero en realidad slo se necesitan dos iguales - una trasla primera tira de LEDs y un segundo antes de la ltima tira de LEDs. Yo he usado tres tiras por

    capa para dar una mayor sensacin de cubo unido, en la imagen de abajo podrs observar comoquedara cada capa con un ctodo comn y 16 nodos individuales.

    Asegrese de recortar cualquier exceso de cable colgando sobre el borde de su cubo , tambinpuedes recortar los cuatro ctodos que sobresalen del borde de la capa.

    Recuerda que en las soldaduras debes usar el menor contacto y tan poco de soldadura como seaposible. Recuerde, ms estao en cada soldadura no es sinnimo de mayor fuerza en la unin, alcontrario podra dar problemas ms adelante.

  • 5/24/2018 Primeros Pasos Con Arduino

    15/28

  • 5/24/2018 Primeros Pasos Con Arduino

    16/28

  • 5/24/2018 Primeros Pasos Con Arduino

    17/28

    Soldando las cuatro capas.Ahora que tenemos las cuatro capas individuales, vamos a soldarlas entre si para formar el cubo.Vamos a hacer esto al unir los 16 nodos de cada capa juntos para que nos quedamos con 16nodos comunes y 4 ctodos comunes.

    Lo primero que debe hacer es doblar el ltimo mm de cada nodo hacia el centro del LED, esto leayudar a unir las capas entre s. Slo tiene que hacer esto con tres de sus capas superiores.

    A partir de aqu tendremos que darnos maa para completar la tarea, podeis usar:

    1. Separdores de cartn entre capas para facilitar la tarea de soldar los 16 nodos.2. Usar pinzas de cocodrilo para sujetar las capas mientras las sueldo.

    Mi consejo es que soldar los nodos de las esquinas juntos primero. Repita esto para las doscapas restantes y su cubo estar completo.

  • 5/24/2018 Primeros Pasos Con Arduino

    18/28

  • 5/24/2018 Primeros Pasos Con Arduino

    19/28

    Conexionado y Programa en Arduino

    Bueno vamos ahora al conexionado del cubo a la placa arduino y posterior programacin, Usamoalas placas board para pinchar el cubo, y conectamos a cada uno de los 16 nodos cmunes unaresistencia de 220 Oh, que a su vez se conectarn a los puertos de Arduino, como se muestran enel grfico siguiente. A su vez cada capa que forman los ctodos comunes se conectarn a los

    puertos A2. A3, A4 y A5.

  • 5/24/2018 Primeros Pasos Con Arduino

    20/28

  • 5/24/2018 Primeros Pasos Con Arduino

    21/28

    Una vez realizadas las conexiones me puedo descargar cualquiera de los dos programas adjuntos,cada uno de ellos muestran animaciones diferentes.

  • 5/24/2018 Primeros Pasos Con Arduino

    22/28

  • 5/24/2018 Primeros Pasos Con Arduino

    23/28

    Si usted desea hacer sus propias animaciones , sigue leyendo y voy a explicar cmo funciona.

    As , cuando se abri el cdigo en el software de Arduino, te habrs dado cuenta de la gran bloquede cdigo en el medio que pareca un poco a esto.

    Este gran bloque de cdigo en el medio es donde se desarrollan los patrones de encendio de losleds del cubo. La manera ms fcil de pensar en ella es como una animacin . Cada cambio en elcubo representa un fotograma de la animacin, y cada lnea de cdigo representa un fotograma.En cada lnea hay 64 bits de 1 y 0 , se dividi en 16 bloques de 4 bits cada uno, los cuatro primerosnibbles (cuartetos de bits) corresponden a la capa 1, los siguientes a la capa 2 y asi hasta lacuatro. Si hay un 1, entonces eso significa que un LED se encendi, si hay un 0, entonces no va alucir.

  • 5/24/2018 Primeros Pasos Con Arduino

    24/28

    Por ejemplo si tenemos esta lnea:

    B1000,B1000,B1000,B1000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000, 10,He separado por colores cada capa, de forma que el color negro corresponde a la capa 1(lainferior), la rojo a la dos, verde tres y azul la cuarta capa. Bien en las capas 2, 3 y 4 todo est acero significa que todos los leds de esas capas estn apagados, sin embargo si observamos la

    capa 1 (la inferior) vemos que est encendido el primer led de cada nibble (cuarteto), lo que quieredecir que lucirn los leds de la fila inferior del fondo. El ltimo valor de la fila indica el tiempo quepermanece la secuencia.

  • 5/24/2018 Primeros Pasos Con Arduino

    25/28

  • 5/24/2018 Primeros Pasos Con Arduino

    26/28

    Trata de probar con sus propias animaciones, mi consejo es utilizar los comentarios para darse unrecordatorio de lo que hace cada animacin. Usted puede escribir un comentario en el programaescribiendo "/ /" y luego el comentario.

  • 5/24/2018 Primeros Pasos Con Arduino

    27/28

  • 5/24/2018 Primeros Pasos Con Arduino

    28/28

    En esta web:http://www.robota.nl/en/blog/led-cube-4x4x4-pattern-designer/led-cube-si... puedeshacerte tus propios patrones de encendido de los leds, con un poco de paciencia e imaginacin,pueden quedar unos resultados espectaculares, si quieres en los comentarios puedes enviar lostuyos para que los podamos probar.Fuentes:

    [http://www.techmadeeasy.co.uk/2013/01/21/make-your-own-4x4x4-led-cube-wi... [http://www.makeuseof.com/tag/how-to-make-a-pulsating-arduino-led-cube-th.

    - See more at: http://www.tecnosalva.com/c%C3%B3mo-hacer-cubo-leds-4x4x4-arduino#sthash.4sKpcJB8.dpuf

    http://www.robota.nl/en/blog/led-cube-4x4x4-pattern-designer/led-cube-simulation-and-pattern-generator.htmlhttp://www.robota.nl/en/blog/led-cube-4x4x4-pattern-designer/led-cube-simulation-and-pattern-generator.htmlhttp://www.robota.nl/en/blog/led-cube-4x4x4-pattern-designer/led-cube-simulation-and-pattern-generator.htmlhttp://www.techmadeeasy.co.uk/2013/01/21/make-your-own-4x4x4-led-cube-with-an-arduino/%5dhttp://www.techmadeeasy.co.uk/2013/01/21/make-your-own-4x4x4-led-cube-with-an-arduino/%5dhttp://www.techmadeeasy.co.uk/2013/01/21/make-your-own-4x4x4-led-cube-with-an-arduino/%5dhttp://www.makeuseof.com/tag/how-to-make-a-pulsating-arduino-led-cube-that-looks-like-it-came-from-the-future/%5dhttp://www.makeuseof.com/tag/how-to-make-a-pulsating-arduino-led-cube-that-looks-like-it-came-from-the-future/%5dhttp://www.makeuseof.com/tag/how-to-make-a-pulsating-arduino-led-cube-that-looks-like-it-came-from-the-future/%5dhttp://www.makeuseof.com/tag/how-to-make-a-pulsating-arduino-led-cube-that-looks-like-it-came-from-the-future/%5dhttp://www.techmadeeasy.co.uk/2013/01/21/make-your-own-4x4x4-led-cube-with-an-arduino/%5dhttp://www.robota.nl/en/blog/led-cube-4x4x4-pattern-designer/led-cube-simulation-and-pattern-generator.html