ruleta aleatoria arduino

Proyecto "Ruleta de números aleatorios"

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos crear una ruleta con Arduino, la cual girará señalando números aleatorios, además, hablaremos de los diferentes materiales empleados en su construcción, se mostrará un esquema de conexiones y finalmente podréis encontrar el código para poder controlar la ruleta para que escoja números aleatorios.

Materiales empleados para realizar el proyecto

A continuación veremos los diferentes materiales que se van a utilizar para que realicéis la ruleta y como hacer que gire con Arduino y una breve descripción de los misms. Además, para todos aquellos que estén interesados en realizar el proyecto, pueden pinchar en las imágenes y os llevará a una web donde poder adquirir dichos materiales.

Placa de Arduino UNO: Es el cerebro de nuestro proyecto, encargada de controlar todos los procesos del mismo mediante el código que encontrarás más adelante.

Motor paso a paso: Mediante impulsos eléctricos, es posible controlar el giro del motor, el cual se efectúa de una forma discreta.

Protoboard: Tabla con orificios (pines) la cual está conectada internamente y usaremos para realizar nuestras conexiones para el proyecto.

Palos de helado: Usaremos estos palos para la aguja de la ruleta.

Cables con pines: Estos cables tienen unos pines (macho o hembra) los cuales nos permitirán hacer las conexiones entre los diferentes elementos ya mencionados.

Componentes necesarios para este proyecto

Kit iniciación ArduinoKit iniciación ArduinoES
Placa Arduino UnoPlaca Arduino UnoES
Motor paso a pasoMotor paso a pasoES
Cables Macho HembraCables Macho HembraES
ProtoboardProtoboardES
Palitos de heladoPalitos de heladoES

Video explicación 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 para la construcción de la ruleta

Una de las partes más importantes a la hora de realizar nuestro montaje de la ruleta de números aleatorios pasa por conectar correctamente los diferentes elementos. Con el fin de evitar errores de montaje o conexiones erróneas, a continuación te dejamos el esquema de conexiones empleado para este proyecto, con este esquema de conexiones es posible usar el código que puedes encontrar al final del post sin necesidad de hacer ninguna modificación.

esquema de conexiones ruleta aleatoria

Código de Arduino para la programación de la ruleta de números aleatorios

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 ruleta 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 -> Robot UNO
//Ruleta de números aleatorios

#include <Stepper.h>

Stepper motor1(2048, 8, 10, 9, 11);

void setup() {
  motor1.setSpeed(15);
}

void loop() {
  int x;
  x=random(2048,2048*2);
  motor1.step(x);
  delay(5000);
}
proyecto LEDs con mando a distancia

Proyecto "LEDs con mando a distancia con Arduino"

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos iluminar LEDs a distancia con Arduino, los cuales controlaremos con un mando a distancia con infrarrojos, además, hablaremos de los diferentes materiales empleados en su construcción, se mostrará un esquema de conexiones y finalmente podréis encontrar el código para poder encender y apagar LEDs a distancia con Arduino.

Materiales

A continuación veremos los diferentes materiales que se van a utilizar para realizar este proyecto de LEDs a distancia usando la placa de Arduino y una breve descripción de los mismos. Además, para todos aquellos que estén interesados en realizar el proyecto, pueden pinchar en las imágenes y os llevará a una web donde poder adquirir dichos materiales.

Placa de Arduino UNO: Es el cerebro de nuestro proyecto, encargada de controlar todos los procesos del mismo mediante el código que encontrarás más adelante.

Protoboard: Tabla con orificios (pines) la cual está conectada internamente y usaremos para realizar nuestras conexiones para el proyecto.

Mando a distancia: Se trata de un dispositivo que envía distintas señales infrarrojas en función del botón que hayamos pulsado.

LED: Elemento emisor de luz mediante una unión p-n.

Cables con pines: Estos cables tienen unos pines (macho o hembra) los cuales nos permitirán hacer las conexiones entre los diferentes elementos ya mencionados.

Componentes necesarios para este proyecto

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Kit de LEDsKit de LEDsESUS
Cables Macho HembraCables Macho HembraESUS
ProtoboardProtoboardESUS

Video explicación 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, 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 para la construcción de los LEDs controlados a distancia

Una de las partes más importantes a la hora de realizar nuestro montaje de los LEDs y el receptor para controlarlos con el mando a distancia pasa por conectar correctamente los diferentes elementos. Con el fin de evitar errores de montaje o conexiones erróneas, a continuación te dejamos el esquema de conexiones empleado para este proyecto, con este esquema de conexiones es posible usar el código que puedes encontrar al final del post sin necesidad de hacer ninguna modificación.

esquema de conexiones leds con mando a distancia

Código de Arduino para la programación de los LEDs controlados a distancia

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 estos LEDs y de su funcionamiento para ser controlados con un mando de infrarrojos, 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 YouTube -> RobotUNO
//Proyecto 1
#include "IRremote.h"
#define LED1 2
#define LED2 3
#define LED3 4
#define LED4 5
#define LED5 6
#define LED6 7
#define LED7 8
#define LED8 9
#define LED9 10
#define LED10 12

int receiver = 11;
IRrecv irrecv(receiver);
decode_results results;

void translateIR(){
  switch(results.value){    
  case 0xFFA25D: Serial.println("POWER");
  digitalWrite(LED1, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED4, LOW);
  digitalWrite(LED5, LOW);
  digitalWrite(LED6, LOW);
  digitalWrite(LED7, LOW);
  digitalWrite(LED8, LOW);
  digitalWrite(LED9, LOW);
  digitalWrite(LED10, LOW);
  break;  
  
  case 0xFFC23D: Serial.println("FAST FORWARD");
  digitalWrite(LED1, HIGH);
  digitalWrite(LED2, HIGH);
  digitalWrite(LED3, HIGH);
  digitalWrite(LED4, HIGH);
  digitalWrite(LED5, HIGH);
  digitalWrite(LED6, HIGH);
  digitalWrite(LED7, HIGH);
  digitalWrite(LED8, HIGH);
  digitalWrite(LED9, HIGH);
  digitalWrite(LED10, HIGH);
  break;  
  
  case 0xFF6897: Serial.println("0");
  pinMode(LED1, OUTPUT);
  digitalWrite(LED1, HIGH);
  break;  
  
  case 0xFF30CF: Serial.println("1");
  pinMode(LED2, OUTPUT);
  digitalWrite(LED2, HIGH);
  break;  
  
  case 0xFF18E7: Serial.println("2");
  pinMode(LED3, OUTPUT);
  digitalWrite(LED3, HIGH);
  break;  
  
  case 0xFF7A85: Serial.println("3");
  pinMode(LED4, OUTPUT);
  digitalWrite(LED4, HIGH);
  break;  
  
  case 0xFF10EF: Serial.println("4");
  pinMode(LED5, OUTPUT);
  digitalWrite(LED5, HIGH);
  break;  
  
  case 0xFF38C7: Serial.println("5");
  pinMode(LED6, OUTPUT);
  digitalWrite(LED6, HIGH);
  break; 
   
  case 0xFF5AA5: Serial.println("6");
  pinMode(LED7, OUTPUT);
  digitalWrite(LED7, HIGH);
  break;  
  
  case 0xFF42BD: Serial.println("7");
  pinMode(LED8, OUTPUT);
  digitalWrite(LED8, HIGH);
  break;  
  
  case 0xFF4AB5: Serial.println("8");
  pinMode(LED9, OUTPUT);
  digitalWrite(LED9, HIGH);
  break;  
  
  case 0xFF52AD: Serial.println("9");
  pinMode(LED10, OUTPUT);
  digitalWrite(LED10, HIGH);
  break;  
  
  case 0xFFFFFFFF: Serial.println("ERROR");break; 
  
  default: 
    Serial.println("Otro botón");
  }
  delay(500);
}


void setup() {
  Serial.begin(9600);
  Serial.println("IR Receiver Button Decode"); 
  irrecv.enableIRIn();
}


void loop(){
  if (irrecv.decode(&results)) 
  {
    translateIR(); 
    irrecv.resume();
  }  
}
matriz-led-controlada-por-joystick

Proyecto "Matriz LED controlada con joystick"

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos controlar una matriz LED mediante un joystick como el de la play, además, hablaremos de los diferentes materiales empleados en su construcción, se mostrará un esquema de conexiones y finalmente podréis encontrar el código para poder controlar y dibujar en la matriz.

Materiales para la matriz led con joystick

A continuación veremos los diferentes materiales que se van a utilizar para realizar en Arduino nuestra matriz LED controlada mediante un joystick y una breve descripción de los mismos. Además, para todos aquellos que estén interesados en realizar el proyecto, pueden pinchar en las imágenes y os llevará a una web donde poder adquirir dichos materiales.

Placa de Arduino UNO: Es el cerebro de nuestro proyecto, encargada de controlar todos los procesos del mismo mediante el código que encontrarás más adelante.

Joystick: Mediante la variación de dos potenciómetros se logra conocer la posición exacta (X,Y) en la que nos encontramos y de esta forma usarlo como mando.

Protoboard: Tabla con orificios (pines) la cual está conectada internamente y usaremos para realizar nuestras conexiones para el proyecto.

Cables con pines: Estos cables tienen unos pines (macho o hembra) los cuales nos permitirán hacer las conexiones entre los diferentes elementos ya mencionados.

Matriz LED: Como su propio nombre indica, se trata de una matriz la cual podremos iluminar como nosotros queramos mediante el uso de un pequeño controlador que lleva incorporada.

Componentes necesarios para este proyecto

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
JoystickJoystickESUS
Cables Macho HembraCables Macho HembraESUS
ProtoboardProtoboardESUS
Matriz LED 8x8Matriz LED 8x8ESUS

Video explicación 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 para la construcción de una matriz LED controlada mediante un joystick

Una de las partes más importantes a la hora de realizar nuestro montaje de la grúa pasa por conectar correctamente los diferentes elementos. Con el fin de evitar errores de montaje o conexiones erróneas, a continuación te dejamos el esquema de conexiones empleado para este proyecto, con este esquema de conexiones es posible usar el código que puedes encontrar al final del post sin necesidad de hacer ninguna modificación.

esquema proyecto1

Código de Arduino para la programación de la matiz LED

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 matriz de 64 LEDs 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 -> Robot UNO//Proyecto -> Matriz led controlada con joystick
#include "LedControl.h"

LedControl lc=LedControl(12,10,11,1);
const int SW_pin = 2; 
const int xpin = 0; 
const int ypin = 1; 
int filas=4, col=4;

void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(9600);
  lc.shutdown(0,false);
  lc.setIntensity(0,8);
  lc.clearDisplay(0);
}

void loop() {
  if(digitalRead(SW_pin) == 0){
    Serial.print("click");
    Serial.print("\n");
    lc.clearDisplay(0);    
    filas=4;
    col=4;
    lc.setLed(0,col,filas,true);
  }
  else if(analogRead(xpin)>525 && filas<7){
    Serial.print("derecha");
    Serial.print("\n");
    filas++;
    lc.setLed(0,col,filas,true);
  }  
  else if(analogRead(xpin)<510 && filas > 0){
    Serial.print("izquierda");
    Serial.print("\n");
    filas--;
    lc.setLed(0,col,filas,true);
  } 
  else if(analogRead(ypin)>520 && col < 7){
    Serial.print("abajo");
    Serial.print("\n");
    col++;
    lc.setLed(0,col,filas,true);
  } 
  else if(analogRead(ypin)<500 && col > 0){
    Serial.print("arriba");
    Serial.print("\n");
    col--;
    lc.setLed(0,col,filas,true);
  }
  Serial.print("\n\n");
  delay(100);
}
display-7-segmentos-controlado-por-mando-a-distancia

Display de 7 segmentos controlado con mando a distancia

Bienvenido a un nuevo proyecto con Arduino, en este post aprenderás a como controlar un display o BCD de 7 segmentos mediante un mando a distancia, el cual enviará las señales a través de un módulo de infrarrojos, además, te mostraremos los diferentes materiales empleados en su construcción, su esquema de conexiones y finalmente te dejaremos el código para que puedas realizar este proyecto, el cual se puede aplicar a multitud de proyectos a control remoto.

Materiales necesarios para la construcción del proyecto

En este apartado verás una breve explicación de los diferentes materiales que se van a utilizar para realizar este proyecto de un controlador a distancia para displays de 7 segmentos. Si estás interesado en realizar el proyecto, a continuación también te dejaremos los links a diferentes webs donde poder adquirir dichos materiales.

Placa de Arduino UNO: Es el cerebro de nuestro proyecto, encargada de controlar todos los procesos del mismo mediante el código que encontrarás más adelante.

Protoboard: Tabla con orificios (pines) la cual está conectada internamente y usaremos para realizar nuestras conexiones para el proyecto.

Cables con pines: Estos cables tienen unos pines (macho o hembra) los cuales nos permitirán hacer las conexiones entre los diferentes elementos ya mencionados.

Display de 7 segmentos: Se trata de un pequeño dispositivo con 7 segmentos que se iluminan de forma independiente pudiendo crear los diferentes números y letras de nuestro abecedario.

Mando a distancia: Se trata de un dispositivo que envía distintas señales infrarrojas en función del botón que hayamos pulsado.

Receptor infrarrojos: Como su nombre indica, es el encargado de recibir la señal enviada desde el mando para poder procesarla y actuar sobre el elemento que deseemos controlar.

Componentes necesarios para este proyecto

Kit iniciación Arduino Kit iniciación Arduino ES
Placa Arduino Uno Placa Arduino Uno ES
Cables Macho Hembra Cables Macho Hembra ES
Protoboard Protoboard ES

¿Necesitas ayuda con algún proyecto?

Realizamos tu proyecto 1
Realizamos tu proyecto 2
Realizamos tu proyecto 3
Realizamos tu proyecto 4
Realizamos tu proyecto 5
Realizamos tu proyecto 6
Realizamos tu proyecto 7
  • Prototipado y MVPs
  • Arduino y ESP32
  • Diseño de PCBs
  • Diseño de piezas 3D
  • Conexión Bluetooth
  • Estudio de Viabilidad
  • Optimización de costes
  • Asesoría Técnica
  • Internet de las Cosas
  • Gestión de Patentes

Video explicación del proyecto

Si lo que buscas es ver de una forma mucho más detallada como funciona el display de 7 segmentos junto a una pequeña explicación de las diferentes conexiones, así como una explicación del código, a continuación te dejamos un video donde se muestra de una forma mucho mas visual y fácil de comprender todo el proceso desde el inicio hasta el final. Y recuerda, si te gusta esta clase de contenido, no olvides SUSCRIBIRTE 😉

Esquema de conexiones Arduino para la construcción del display de 7 segmentos controlado a distancia

Para este proyecto no necesitarás una gran cantidad de conexiones pero es importante que las realices de forma correcta, es por eso que para realizar el montaje del display y el receptor infrarrojo te vamos a mostrar un esquema de conexiones  para este proyecto, con este esquema de conexiones es posible usar el código que puedes encontrar al final del post sin necesidad de hacer ninguna modificación.

esquema-de-conexiones-display-7-segmentos-controlado-mando-distancia

Código de Arduino para la programación del display de 7 segmentos controlado con mando a distancia

A continuación se muestra el código de programación desarrollado específicamente para este proyecto.

Como se puede apreciar en dicho código, se ha usado una sentencia "case" para activar los diferentes segmentos que de forma conjunta generan los diferentes números.

Los pines empleados en el código son los mismos que puedes encontrar 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 este proyecto con Arduino 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
//Display de 7 segmentos controlado con MANDO A DISTANCIA

#include "IRremote.h"
#define a 2
#define b 3
#define c 4
#define d 5
#define e 6
#define f 7
#define g 8

int receiver = 11;
IRrecv irrecv(receiver);
decode_results results;

void translateIR(){
  switch(results.value){
  case 0xFF6897: Serial.println("0");
  digitalWrite(a, HIGH);
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(f, HIGH);
  digitalWrite(g, LOW);
  break;  
  case 0xFF30CF: Serial.println("1");
  digitalWrite(a, LOW);
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, LOW);
  digitalWrite(e, LOW);
  digitalWrite(f, LOW);
  digitalWrite(g, LOW);
  break;  
  case 0xFF18E7: Serial.println("2");
  digitalWrite(a, HIGH);
  digitalWrite(b, HIGH);
  digitalWrite(c, LOW);
  digitalWrite(d, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(f, LOW);
  digitalWrite(g, HIGH);
  break;  
  case 0xFF7A85: Serial.println("3");
  digitalWrite(a, HIGH);
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, LOW);
  digitalWrite(f, LOW);
  digitalWrite(g, HIGH);
  break;  
  case 0xFF10EF: Serial.println("4");
  digitalWrite(a, LOW);
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, LOW);
  digitalWrite(e, LOW);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  break;  
  case 0xFF38C7: Serial.println("5");
  digitalWrite(a, HIGH);
  digitalWrite(b, LOW);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, LOW);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  break;  
  case 0xFF5AA5: Serial.println("6");
  digitalWrite(a, HIGH);
  digitalWrite(b, LOW);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  break;  
  case 0xFF42BD: Serial.println("7");
  digitalWrite(a, HIGH);
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, LOW);
  digitalWrite(e, LOW);
  digitalWrite(f, LOW);
  digitalWrite(g, LOW);
  break;  
  case 0xFF4AB5: Serial.println("8");
  digitalWrite(a, HIGH);
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  break;
  case 0xFF52AD: Serial.println("9");
  digitalWrite(a, HIGH);
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, LOW);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  break;
  case 0xFFFFFFFF: Serial.println("ERROR");break;  
  default: 
    Serial.println("Otro botón");
  }
  delay(500);
}

void setup() {
  Serial.begin(9600);
  Serial.println("MANUALIDADES Y EXPERIMENTOS"); 
  irrecv.enableIRIn();
  for(int i=2 ; i<=8 ; i++){
    pinMode(i,OUTPUT);
  }
}

void loop(){
  if (irrecv.decode(&results)) 
  {
    translateIR(); 
    irrecv.resume();
  }  
}