proyecto arduino ruelta led

Proyecto "Ruleta led aleatoria con Arduino"

NUEVO PROYECTO CON ARDUINO! Se trata de una ruleta led hecha totalmente desde 0 con materiales muy simples y fáciles de encontrar. 

En mi caso yo lo he soldado todo sobre una placa de prototipado, pero si no os queréis complicar tanto la vida podéis colocar los componentes electrónicos directamente sobre una placa de prototipado y de ahí sacar las conexiones a Arduino.Me parece un proyecto genial para llevarlo a la escuela o para aprender como programar en Arduino, ya que las funcionalidades que se le pueden dar son infinitas.

Materiales empleados en el proyecto

En este caso, los materiales que se necesitan para construir este proyecto son muy muy sencillos de conseguir, es mas, me atrevería a decir que todos los tenéis por casa, pero por si no es tu caso, aquí te dejo una lista detallada con todos los componentes exactos 

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Filamento 3DFilamento 3DESUS
Kit de LEDsKit de LEDsESUS
Kit de resistenciasKit de resistenciasESUS
Cables Macho HembraCables Macho HembraESUS

Además, en este caso también he utilizado una impreso 3D. Si no tienes una y estas pensando en comprarte una, te dejo aquí un enlace de la que yo estoy utilizando, funciona muy bien y estoy muy contento con los resultados.

Video tutorial del proyecto ruleta led con Arduino

Para que te sea más fácil el montaje y seguir todos los pasos, aquí tienes un video explicando paso a paso como montar el robot, así como consejos y errores que yo he cometido. 

Ya que estamos, si te ha gustado dale un like y suscríbete 😉

Esquema de conexiones ruleta led

En todos los proyectos que subo a esta pagina web y al canal de YouTube, uno de los fallos mas comunes es hacer mal las conexiones. Por esta razón, aquí tienes un esquema de conexiones totalmente detallado para que no tengas ningún problema a la hora de hacer las conexiones y el proyecto te funcione bien a la primera.

esquema ruleta leds proyecto arduino

Archivos 3D para impresión ruleta

Por si te gusta el diseño de las piezas 3D y quieres hacer el proyecto exactamente igual que yo, aquí te dejo los archivos .stl que necesitas para imprimir las piezas de este proyecto con Arduino. 

LINK A THINGIVERSE

LINK A MEGA PARA DESCARGAR LOS ARCHIVOS 3D

Código arduino ruleta aleatoria

Otra parte muy importante de este proyecto es el código de programación. Aquí te lo dejo para que simplemente tengas que copiar y pegar.

Si tienes dudas sobre cómo usar o instalar el entorno de programación empleado para Arduino, te dejamos un link de comó descargar el IDE de Arduino

Espero que os haya gustado este proyecto, yo la vedad es que he disfrutado muchísimo haciéndolo y me ha encantado poder incorporar piezas diseñadas desde 0 en él. Comenta que te ha parecido, me gustaría saber tu opinión.

//Canal de YouTube -> RobotUNO
//Proyecto -> Ruleta led

const int led1 = 2; //Declararion de los leds y los pines de Arduino
const int led2 = 3;
const int led3 = 4;
const int led4 = 7;
const int led5 = 6;
const int led6 = 5;

const int button = 8;

int leds[] = {led1, led2, led3, led4, led5, led6};

void setup() {
  pinMode(led1, OUTPUT); //Se declaran los pines de los leds como salidas
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);  
  pinMode(led6, OUTPUT);
  pinMode(button, INPUT); //Se declara el pin del boton como entrada

  digitalWrite(led1,LOW); //Se apagan todos los leds
  digitalWrite(led2,LOW);
  digitalWrite(led3,LOW);
  digitalWrite(led4,LOW);
  digitalWrite(led5,LOW);
  digitalWrite(led6,LOW);

  Serial.begin(9600);
  Serial.println("Empieza el juego! Pulsa el boton para jugar!");
}


void loop(){
  if (digitalRead(button)==HIGH){ //Se detecta cuando se ha pultado el boton
    int ledWin = random(5); //Se genera un numero aleatorio entre 0 y 5
    girarRuleta(ledWin);
    digitalWrite(leds[ledWin],HIGH); //Se enciende el led ganador
    delay(5000);
    digitalWrite(leds[ledWin],LOW); //Se apaga el led ganador
  }

  delay(10);  
}


void girarRuleta(int led){
  Serial.println("Y el ganador es...");

  for(int j=0;j<10;j++){ //Bucle encargado de simular que la ruleta esta girando cuando se pulsa el boton
    for(int i=0;i<=6;i++){
      digitalWrite(led1,LOW);
      digitalWrite(led2,LOW);
      digitalWrite(led3,LOW);
      digitalWrite(led4,LOW);
      digitalWrite(led5,LOW);
      digitalWrite(led6,LOW);
      digitalWrite(leds[i],HIGH);

      delay(120-j*10); //Velocidad de giro de la ruleta
    }
  }
  
  Serial.print("El jugador numero ");
  Serial.println(led+1);
}
MINIATURA ROBOT ARDUINO CON IMPRESORA 3D

Proyecto "ROBOT hecho con ARDUINO e IMPRESORA 3D"

Este es uno de los proyectos mas interesantes que puedes encontrar en esta pagina web. Es la primera vez que he utilizado una impresora 3D, así que no me juzguéis por los resultados finales.

La programación de este robot de momento es muy sencilla, ya que mi idea es en el futuro subir otro proyecto mejorando este robot y añadiéndole muchas características.Si tienes cualquier duda sobre el montaje, las conexiones o la programación pónmela por los comentarios que siempre respondo en menos de un día a todos.

Materiales para fabricar un robot con Arduino

Como he dicho antes, los materiales que se necesitan para construir este Robot son muy sencillos, por lo que si tienes un kit de Arduino básico seguramente tengas todos, pero bueno, aun así aquí debajo te dejo un enlace a Amazon y otro a Aliexpress para cada uno de los componentes que se necesitan para fabricar este proyecto.

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Servomotores ArduinoServomotores ArduinoESUS
Pila de 9 voltiosPila de 9 voltiosESUS
Filamento 3DFilamento 3DESUS
Cables Macho HembraCables Macho HembraESUS

Además, en este caso también he utilizado una impreso 3D. Si no tienes una y estas pensando en comprarte una, te dejo aquí un enlace de la que yo estoy utilizando, funciona muy bien y estoy muy contento con los resultados.

Video proyecto robot con Arduino

Para que te sea más fácil el montaje y seguir todos los pasos, aquí tienes un video explicando paso a paso como montar el robot, así como consejos y errores que yo he cometido.

Ya que estamos, si te ha gustado dale un like y suscríbete 😉

Esquema de conexiones del robot con Arduino

Uno de los fallos mas comunes a la hora de hacer proyectos con Arduino es conectar mal los cables, por esta razón te recomiendo que te asegures bien de que todas las conexiones están tal y como se muestran en este esquema. Lo he intentando hacer de la manera que mejor se entienda, pero si tienes alguna duda con alguna de las conexiones no dudes en preguntármelo por los comentarios.

Por otra parte, es muy importante tener clara la posición de cada uno de los servomotores, y no liarnos al hacer las conexiones. Derecha, izquierda, arriba, y abajo son referencias tomadas cuando el robot esta de pie mirándonos de frente.

esquema de conexiones robotunoV1

Archivos 3D para la impresión del robot

Otra parte muy importante de este proyecto es imprimir en 3D la estructura del robot. Te dejo por aquí los archivos .stl para que imprimas el robot tu mismo, pero si te gustaría adaptarlo o hacerle algunas mejoras, pídeme por los comentarios los archivos .dwg para que te sea mas rápido hacerlo.

LINK THINGIVERSE

Código de Arduino funcionamiento robot

A continuación te mostramos los códigos en Arduino necesarios para hacer funcionar al robot impreso en 3D.

Si tienes dudas sobre cómo usar o instalar el entorno de programación empleado para Arduino, te dejamos un link de comó descargar el IDE de Arduino

En este caso se necesitan 2 códigos de programación. El primero es simplemente para poner los servomotores a 90 grados, que es la posición inicial desde la que empezaran a moverse.

//Canal YouTube -> RobotUNO
//Pagina web -> robotuno.com

//Proyecto: "ROBOTUNO, EL ROBOT QUE CAMINA, BAILA Y SALUDA"
//Codigo auxiliar para poner los servomotores a 90º

#include <Servo.h>

Servo servo;

void setup() {
  servo.attach(3);
}

void loop() {
  servo.write(90);
  delay(10);
}

De momento, el código que he preparado es un código muy simple para comprobar que todo funciona bien. Poco a poco iré mejorándolo y subiéndolo. Por supuesto siéntete libre de comentar cualquier mejora que le hagas al código.

//Canal YouTube -> RobotUNO
//Pagina web -> robotuno.com
//Proyecto: "ROBOTUNO, EL ROBOT QUE CAMINA, BAILA Y SALUDA"

#include <Servo.h>

Servo der_arriba; //D3 -> Servo1
Servo der_abajo; //D5 -> Servo2
Servo izq_arriba; //D6 -> Servo3
Servo izq_abajo; //D9 -> Servo4

void setup() {
  der_arriba.attach(3);
  der_abajo.attach(5);
  izq_arriba.attach(6);
  izq_abajo.attach(9);

  posicion_inicial();
  delay(1000);
}

void loop() {
  saludar();
  delay(2000);

  caminar();
  delay(2000);

  bailar();
  delay(2000);
}


void posicion_inicial(){
  der_arriba.write(90); delay(100);
  der_abajo.write(90); delay(100);
  izq_arriba.write(90); delay(100);
  izq_abajo.write(90); delay(100);
}

void saludar(){
  int vel=120;

  for (int i=0;i<2;i++){
    der_abajo.write(50); delay(vel);
    izq_abajo.write(130); delay(vel);
    der_abajo.write(90); delay(vel);
    izq_abajo.write(90); delay(vel);
    
    izq_abajo.write(130); delay(vel);
    der_abajo.write(50); delay(vel);
    izq_abajo.write(90); delay(vel);
    der_abajo.write(90); delay(vel);
  }
}

void caminar(){
  int vel=150;

  for (int i=0;i<30;i++){
    der_abajo.write(45); delay(vel);
    der_arriba.write(135); delay(vel);
    der_abajo.write(90); delay(vel);
    der_arriba.write(90); delay(vel);
    
    izq_abajo.write(135); delay(vel);
    izq_arriba.write(45); delay(vel);
    izq_abajo.write(90); delay(vel);
    izq_arriba.write(90); delay(vel);
    
  }
}

void bailar(){
  for (int i=0;i<5;i++){
    der_abajo.write(130); delay(300);
    izq_abajo.write(40); delay(150);
    der_abajo.write(90); delay(300);
    izq_abajo.write(90); delay(150);
    der_arriba.write(130); delay(500);
    izq_arriba.write(50); delay(500);
    der_arriba.write(90); delay(500);
    izq_arriba.write(90); delay(500);
    der_arriba.write(130); delay(500);
    izq_arriba.write(50); delay(500);
    der_arriba.write(90); delay(500);
    izq_arriba.write(90); delay(500);
  }
}

Espero que os haya gustado este proyecto, yo la vedad es que he disfrutado muchísimo haciéndolo y me ha encantado poder incorporar piezas diseñadas desde 0 en él. Comenta que te ha parecido, me gustaría saber tu opinión.

proyecto con arduido robot

Proyecto "Robot que baila, saluda y anda solo"

Ya esta aquí, ya ha llegado, el proyecto de un robot que baila, camina y saluda con Arduino. Este proyecto esta hecho utilizando solo materiales que todos los kits de iniciación traen, como son los servomotores, placa de Arduino UNO y demás componentes básicos.

Si te interesa como realizar este proyecto de forma muy fácil y rápida, quédate en esta pagina.

Materiales necesarios para hacer el robot

A continuación hablaremos de los diferentes materiales utilizados para la construcción de este robot humanoide que es capaz de andar y bailar solo. Si te interesa realizar este proyecto pero te falta alguno de los materiales de la lista, puedes comprarlos de forma muy sencilla en lo enlaces.

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Cables Macho HembraCables Macho HembraESUS
Servomotores ArduinoServomotores ArduinoESUS
ProtoboardProtoboardESUS

Video explicación del proyecto

Más abajo tienes el código de programación y el esquema de conexiones para realizar este proyecto, pero si tienes alguna duda o no entiendes alguno de los pasos, aquí tienes el video de YouTube original en el cual se hace este proyecto con Arduino paso a paso, explicando todo lo que necesitas saber para poder montarlo sin ningún problema. Y recuerda, si te gusta esta clase de contenido, no olvides SUSCRIBETE 😉

Esquema de conexiones Arduino

Otra parte muy importante de un proyecto con Arduino es el esquema de conexiones. Aquí tienes todas las conexiones que hay que realizar para hacer este proyecto. Te recomiendo comprobar muy bien que todas están exactamente igual que las de la imagen para asegurarte de que el código de programación que hay mas adelante funciona sin necesidad de ninguna adaptación.

esquema conexiones proyecto arduino robot que anda

Código de Arduino para la proframación del robot

Para finalizar con este proyecto del brazo robótico, a continuación te dejamos el código de programación desarrollado específicamente para este proyecto.

Respecto al código, recuerda instalar las librerías “Servo.h”. También asegúrate de que el puerto donde esta conectada la placa de Arduino es el que esta seleccionado.

Si tienes dudas sobre cómo usar o instalar el entorno de programación empleado para Arduino, te dejamos un link de comó descargar el IDE de Arduino

//Canal YouTube -> RobotUNO
//Robot Bipedo 
#include <Servo.h>
Servo der_arriba;
Servo der_abajo;
Servo izq_arriba;
Servo izq_abajo;
void setup() {
  der_arriba.attach(5);
  der_abajo.attach(6);
  izq_arriba.attach(7);
  izq_abajo.attach(8);  
  posicion_inicial(); 
  delay(3000); 
}
int f=0;
void loop() {
  if (f==0) {
    saludar();
    caminar();
    bailar();
    
    f=1;
  }
}
void posicion_inicial(){
  der_arriba.write(0); delay(100);
  der_abajo.write(0); delay(100);
  izq_arriba.write(90); delay(100);
  izq_abajo.write(90); delay(100);
}
void saludar(){
  for (int i=0;i<2;i++){
    der_abajo.write(50); delay(100);
    izq_abajo.write(40); delay(100);
    der_abajo.write(0); delay(100);
    izq_abajo.write(90); delay(100);
  }
}
void caminar(){
  int vel=50; //Velocidad a la que anda
  
  for (int i=0;i<30;i++){
    der_arriba.write(90); delay(vel);
    der_abajo.write(50); delay(vel);
    der_arriba.write(0); delay(vel);
    der_abajo.write(0); delay(vel);
    
    izq_arriba.write(0); delay(vel);
    izq_abajo.write(40); delay(vel);
    izq_arriba.write(90); delay(vel);
    izq_abajo.write(90); delay(vel);
  }
}
void bailar(){
  for (int i=0;i<5;i++){
    der_abajo.write(50); delay(300);
    izq_abajo.write(40); delay(150);
    der_abajo.write(0); delay(300);
    izq_abajo.write(90); delay(150);
    der_arriba.write(90); delay(500);
    izq_arriba.write(0); delay(500);
    der_arriba.write(0); delay(500);
    izq_arriba.write(90); delay(500);
    der_arriba.write(90); delay(500);
    izq_arriba.write(0); delay(500);
    der_arriba.write(0); delay(500);
    izq_arriba.write(90); delay(500);
  }
}

Recordad antes de montar todos los servomotores, estos deben colocarse en la posición inicial neutra, es decir, los servomotores deben de estar situados en la mitad de su movimiento total para tener capacidad de moverse en ambos sentidos. 

Para hacer esto puedes utilizar el código que te dejo aquí abajo. Te recomiendo que lo ejecutes en una nueva ventana de Arduino IDE y pongas los servomotores en la posición media, para esto pon uno a uno (tal y como se explica en el vídeo) los servomotores en el pin número 5 de la placa de Arduino UNO.

Para el servomotor de abajo a la derecha utiliza este código:

#include <Servo.h>
Servo servomotor;

void setup() {
  servomotor.attach(5);
}

void loop() {
  servomotor.write(0);//Para el de abajo a la derecha
}

 En cambio, para el servomotor de abajo a la izquierda utiliza este otro código:

#include <Servo.h>
Servo servomotor;

void setup() {
  servomotor.attach(5);
}

void loop() {
  servomotor.write(90);//Para el de abajo a la izquierda
}

Una vez que tengas esto, ya puedes continuar con el proyecto, montarlo todo y colocarle los servos a robot.

lampara con arduino proyecto

Proyecto "Lampara de noche con Arduino"

En este proyecto vamos a realizar una lampara de noche o un flexo para estudiar con Arduino. En esta pagina encontraras todos los recursos necesarios para realizarlo, tanto el código de programación como el esquema de conexiones o la lista de materiales. Por lo que si te interesa o estas pensando en hacerte tu una lampara de forma casera, te recomiendo que te quedes aquí.

Explicación del proyecto paso a paso

Este proyecto consiste en una lampara que se puede utilizar tanto como lampara de noche como flexo para estudiar. Esta completamente realizado con Arduino y con materiales genéricos que suelen venir en todos los kits de Arduino para principiantes.

El funcionamiento se basa en un botón que nos permite el tono de luz (de luz mas cálida a luz mas fría) y un potenciómetro, el cual nos permite cambiar el brillo de los leds.

Además, se ha colocado un interruptor el cual corta la alimentación de todo el proyecto. La alimentación se ha realizado con un cargador de móvil que funciona a 5V y 2A, lo cual es mas que suficiente para alimentar los 12 leds RGB que trae el anillo led, ya que cada led RGB consume unos 20mA x 3 leds RGB x 12 leds da un total de 720mA, por lo que se puede alimentar de sobra con un cargador de 5V y 2A.

Materiales empleados en la fabricación de la lampara

A continuación veremos los diferentes materiales que se van a utilizar para realizar este proyecto con Arduino y una breve descripción de los mismos. Además, si estas interesado en realizar este proyecto y te falta alguno de los componentes, solo tienes que pinchar en el enlace de compra.

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Anillo LED RGBAnillo LED RGBESUS
Cables Macho HembraCables Macho HembraESUS

Video con explicación paso a paso del proyecto

Si lo que buscas es ver de una forma mucho más detallada de como realizar este proyecto desde el inicio hasta el final y una explicación del código, a continuación se muestra el video con dicho contenido, mucho mas visual y fácil de comprender. Y recuerda, si te gusta esta clase de contenido, no olvides suscribirte 😉

Esquema de conexiones Arduino

Uno de los errores más comunes a la hora de realizar un proyecto con Arduino que vemos por internet, es realizar de forma incorrecta alguna conexión, haciendo que el proyecto no funcione. Por este motivo, aquí te traigo un esquema de conexiones muy visual sobre como realizar las conexiones. 

Todas estas conexiones son las que se han tenido en cuenta a la hora de programar el proyecto, por lo que no deberían de darte ningún error. Si te aparece un error, coméntalo por los comentarios del video de YouTube o por los comentarios de esta pagina web y entre todos intentaremos solucionártelo.

esquema de conexiones arduino lampara

Código de Arduino para programar una lampara

A continuación se muestra el código de programación desarrollado específicamente para este proyecto. Los pines que puedes encontrar en el código son los mismos que encontrarás en el esquema de conexiones previamente mostrado.

Si quieres una explicación más detallada de las diferentes partes del código empleado para programar esta grúa y de su funcionamiento, te recomiendo que te veas el video que te hemos dejado más arriba.

Si tienes dudas sobre cómo usar o instalar el entorno de programación empleado para Arduino, te dejamos un link de comó descargar el IDE de Arduino

//Canal de YouTube -> RobotUNO
//Proyecto -> Lampara casera

#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel lampara  = Adafruit_NeoPixel(12 , 2 , NEO_GRB + NEO_KHZ800); //(nºleds, pin din, NEO_GRB + NEO_KHZ400);

int contador=0, R=0, G=0, B=0;

void setup() {
  Serial.begin(9600);
  
  pinMode(A1,INPUT);
  pinMode(3,INPUT);
  
  lampara.begin();
  lampara.show();
  
}

void loop() {
  
  int potenciometro = analogRead(A1);
  int boton = digitalRead(3);
  
  Serial.println("potenciometro = ");
  Serial.print(potenciometro);
  Serial.println("\n");
  
  Serial.println("boton = ");
  Serial.print(boton);
  Serial.println("\n");

  //BRILLO
  int luz=0.249266*potenciometro;
  luz=round(luz);
  lampara.setBrightness(luz);

  //COLOR
  if (boton==1){
    contador=contador+1;
    
    if (contador==1){ //Nivel luz 1 (1000 Kº)
      R=255;
      G=56;
      B=0;
    }
    else if (contador==2){ //Nivel luz 2 (1500 Kº)
      R=255;
      G=109;
      B=0;
    }
    else if (contador==3){ //Nivel luz 3 (2000 Kº)
      R=255;
      G=138;
      B=18;
    }
    else if (contador==4){ //Nivel luz 4 (2500 Kº)
      R=255;
      G=161;
      B=72;
    }
    else if (contador==5){ //Nivel luz 5 (3000 Kº)
      R=255;
      G=180;
      B=107;
    }
    else if (contador==6){ //Nivel luz 6 (3500 Kº)
      R=255;
      G=196;
      B=137;
    }
    else if (contador==7){ //Nivel luz 7 (5000 Kº)
      R=255;
      G=228;
      B=206;
    }
    else { //Lo apaga todo
      R=0;
      G=0;
      B=0;

      contador=0;
    }
    
   delay(500);
  }
  
  lampara.setPixelColor(0,R,G,B);
  lampara.setPixelColor(1,R,G,B);
  lampara.setPixelColor(2,R,G,B);
  lampara.setPixelColor(3,R,G,B);
  lampara.setPixelColor(4,R,G,B);
  lampara.setPixelColor(5,R,G,B);
  lampara.setPixelColor(6,R,G,B);
  lampara.setPixelColor(7,R,G,B);
  lampara.setPixelColor(8,R,G,B);
  lampara.setPixelColor(9,R,G,B);
  lampara.setPixelColor(10,R,G,B);
  lampara.setPixelColor(11,R,G,B);
  lampara.show();
  
  delay(100);
}

Déjame un comentario si te ha gustado!👍