radar arduino

Radar con Arduino usando sensor de ultrasonidos HC-SR04

Te mostramos el que es posiblemente uno de los proyectos más interesantes si estás iniciandote en el mundo de la electrónica y Arduino. A continuación te mostraremos paso a paso como montar y programar este radar con Arduino, el cual emplea uno de los módulos más famosos que es el sensor de ultrasonidos o también llamado HC-SR04.

Materiales empleados en el proyecto

A continuación veremos te mostramos los materiales que se van a emplear para realizar  este radar con Arduino. Además, te mostramos una breve descripción de los mismos. Para todos aquellos que estén interesados en realizar el proyecto, te dejamos una lista con los links de compra para 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.

Servomotores:  motores de 5v con una reductora, lo que permite un gran manejo de su posición y una gran fuerza para su reducido tamaño.

Tabla de madera: La emplearemos como base donde pegar y colocar todos los componentes de nuestro proyecto

Producto Arduino UNO ES
Producto Módulo de ultrasonidos HC-SR04 ES
Producto Servomotores ES
Producto CABLES MACHO HEMBRA 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

Explicación paso a paso de como construir el radar con Arduino

En primer lugar uniremos con cola térmica el sensor de ultrasonidos con el servomotor. Dicha unión debe hacerse con los pines del modulo HC-SR04 apuntando hacia arriba, para que no internieran con el servomotor.

radar arduino union servomotor sensor

A continuación rcolocaremos la placa de Arduino en la tabla de madera. En nuestro caso, nos hemos ayudado de una plataforma hecha con impresión 3D para no tener que pegar la propia placa en la madera.

Además, pegaremos tambiém el servomotor. Este debe estar bien fijado a la plataforma de madera para que no se suelte cuando gire.

radar arduino montaje

Esquema de conexiones del proyecto

Para que te sea más fácil montar este proyecto, aquí tienes el esquema de conexiones. Todas las conexiones de este esquema corresponden con el código de programación que hay justo abajo, así que asegúrate de que todas están tal y como se muestra en esta imagen. 

esquema conexiones radar arduino

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.

Códigos de Arduino para la programación un radar con sensor de ultrasonidos

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 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

//CODIGO ARDUINO
//Canal de YT -> RobotUNO
//Proyecto RADAR
#include <Servo.h>
const int trigPin = 10;
const int echoPin = 11;
long duration;
int distance;
Servo myServo;
void setup() {
  pinMode(trigPin, OUTPUT); 
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
  myServo.attach(12);
}
void loop() {
  for(int i=15;i<=165;i++){  
  myServo.write(i);
  delay(30);
  distance = calculateDistance();
  Serial.print(i); 
  Serial.print(","); 
  Serial.print(distance);
  Serial.print(".");
  }
  for(int i=165;i>15;i--){  
  myServo.write(i);
  delay(30);
  distance = calculateDistance();
  Serial.print(i);
  Serial.print(",");
  Serial.print(distance);
  Serial.print(".");
  }
}
int calculateDistance(){
  digitalWrite(trigPin, LOW); 
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); 
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance= duration*0.034/2;
  return distance;
}

Códigos de programación para la aplicación de processing

A continuación también te dejamos los códigos para descargar la aplicación de processing.

Si no la tienes instalada, puedes descargarla pinchando AQUÍ.

IMPORTANTE! En la línea 19 deberemos comprobar en que puerto está conectado y modificar "COM7" por el que corresponda en tu caso.

import processing.serial.*; // imports library for serial communication
import java.awt.event.KeyEvent; // imports library for reading the data from the serial port
import java.io.IOException;
Serial myPort; // defines Object Serial
// defubes variables
String angle="";
String distance="";
String data="";
String noObject;
float pixsDistance;
int iAngle, iDistance;
int index1=0;
int index2=0;
PFont orcFont;
void setup() {
  
 size (1200, 700); // ***CHANGE THIS TO YOUR SCREEN RESOLUTION***
 smooth();
 myPort = new Serial(this,"COM7", 9600); // starts the serial communication
 myPort.bufferUntil('.'); // reads the data from the serial port up to the character '.'. So actually it reads this: angle,distance.
}
void draw() {
  
  fill(98,245,31);
  // simulating motion blur and slow fade of the moving line
  noStroke();
  fill(0,4); 
  rect(0, 0, width, height-height*0.065); 
  
  fill(98,245,31); // green color
  // calls the functions for drawing the radar
  drawRadar(); 
  drawLine();
  drawObject();
  drawText();
}
void serialEvent (Serial myPort) { // starts reading data from the Serial Port
  // reads the data from the Serial Port up to the character '.' and puts it into the String variable "data".
  data = myPort.readStringUntil('.');
  data = data.substring(0,data.length()-1);
  
  index1 = data.indexOf(","); // find the character ',' and puts it into the variable "index1"
  angle= data.substring(0, index1); // read the data from position "0" to position of the variable index1 or thats the value of the angle the Arduino Board sent into the Serial Port
  distance= data.substring(index1+1, data.length()); // read the data from position "index1" to the end of the data pr thats the value of the distance
  
  // converts the String variables into Integer
  iAngle = int(angle);
  iDistance = int(distance);
}
void drawRadar() {
  pushMatrix();
  translate(width/2,height-height*0.074); // moves the starting coordinats to new location
  noFill();
  strokeWeight(2);
  stroke(98,245,31);
  // draws the arc lines
  arc(0,0,(width-width*0.0625),(width-width*0.0625),PI,TWO_PI);
  arc(0,0,(width-width*0.27),(width-width*0.27),PI,TWO_PI);
  arc(0,0,(width-width*0.479),(width-width*0.479),PI,TWO_PI);
  arc(0,0,(width-width*0.687),(width-width*0.687),PI,TWO_PI);
  // draws the angle lines
  line(-width/2,0,width/2,0);
  line(0,0,(-width/2)*cos(radians(30)),(-width/2)*sin(radians(30)));
  line(0,0,(-width/2)*cos(radians(60)),(-width/2)*sin(radians(60)));
  line(0,0,(-width/2)*cos(radians(90)),(-width/2)*sin(radians(90)));
  line(0,0,(-width/2)*cos(radians(120)),(-width/2)*sin(radians(120)));
  line(0,0,(-width/2)*cos(radians(150)),(-width/2)*sin(radians(150)));
  line((-width/2)*cos(radians(30)),0,width/2,0);
  popMatrix();
}
void drawObject() {
  pushMatrix();
  translate(width/2,height-height*0.074); // moves the starting coordinats to new location
  strokeWeight(9);
  stroke(255,10,10); // red color
  pixsDistance = iDistance*((height-height*0.1666)*0.025); // covers the distance from the sensor from cm to pixels
  // limiting the range to 40 cms
  if(iDistance<40){
    // draws the object according to the angle and the distance
  line(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),(width-width*0.505)*cos(radians(iAngle)),-(width-width*0.505)*sin(radians(iAngle)));
  }
  popMatrix();
}
void drawLine() {
  pushMatrix();
  strokeWeight(9);
  stroke(30,250,60);
  translate(width/2,height-height*0.074); // moves the starting coordinats to new location
  line(0,0,(height-height*0.12)*cos(radians(iAngle)),-(height-height*0.12)*sin(radians(iAngle))); // draws the line according to the angle
  popMatrix();
}
void drawText() { // draws the texts on the screen
  
  pushMatrix();
  if(iDistance>40) {
  noObject = "Out of Range";
  }
  else {
  noObject = "In Range";
  }
  fill(0,0,0);
  noStroke();
  rect(0, height-height*0.0648, width, height);
  fill(98,245,31);
  textSize(25);
  
  text("10cm",width-width*0.3854,height-height*0.0833);
  text("20cm",width-width*0.281,height-height*0.0833);
  text("30cm",width-width*0.177,height-height*0.0833);
  text("40cm",width-width*0.0729,height-height*0.0833);
  textSize(40);
  text("FABRI creator", width-width*0.875, height-height*0.0277);
  text("Ángulo: " + iAngle +" °", width-width*0.48, height-height*0.0277);
  text("Dist:", width-width*0.26, height-height*0.0277);
  if(iDistance<40) {
  text("        " + iDistance +" cm", width-width*0.225, height-height*0.0277);
  }
  textSize(25);
  fill(98,245,60);
  translate((width-width*0.4994)+width/2*cos(radians(30)),(height-height*0.0907)-width/2*sin(radians(30)));
  rotate(-radians(-60));
  text("30°",0,0);
  resetMatrix();
  translate((width-width*0.503)+width/2*cos(radians(60)),(height-height*0.0888)-width/2*sin(radians(60)));
  rotate(-radians(-30));
  text("60°",0,0);
  resetMatrix();
  translate((width-width*0.507)+width/2*cos(radians(90)),(height-height*0.0833)-width/2*sin(radians(90)));
  rotate(radians(0));
  text("90°",0,0);
  resetMatrix();
  translate(width-width*0.513+width/2*cos(radians(120)),(height-height*0.07129)-width/2*sin(radians(120)));
  rotate(radians(-30));
  text("120°",0,0);
  resetMatrix();
  translate((width-width*0.5104)+width/2*cos(radians(150)),(height-height*0.0574)-width/2*sin(radians(150)));
  rotate(radians(-60));
  text("150°",0,0);
  popMatrix(); 
}
proyecto con arduino uno robot uno diana punteria laser

Minijuego con Arduino: "Diana laser"

¿Tienes buena puntería? Bueno, no importa, con este proyecto hecho con Arduino seguro que la mejoras. Por si, ni mas ni menos que este mini juego trata de realizar una diana que detecte un laser, para así poder practicar nuestra puntería y nuestro pulso. 

Este proyecto incluye diferentes modos de juego, los cuales nos ayudaran a mejorar nuestra puntería.

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

Explicación y funcionamiento del minijuego

El objetivo de este proyecto es el siguiente: debemos de intentar que el laser toque la fotorresistencia, que en este caso es nuestra diana. Cada vez que el laser incida sobre la fotorresistencia, el contador sumará uno. Cuando le demos 5 veces (se puede cambiar este valor) se acabará la partida.

Otro modo de juego es intentar aguantar el máximo tiempo posible con la luz del laser sobre la fotorresistencia. Cada 0.5 segundos el led rojo se encenderá y una vez que se encienda 5 veces, el juego se acaba.

Como he comentado antes, todos estos valores se pueden cambiar en el código de programación de una forma muy sencilla, por defecto viene el numero 5, pero este se puede cambiar y poner el valor que deseemos.

Es un proyecto muy interesante con Arduino ya que nos permite entender el funcionamiento de las fotorresistencias así como la utilización de contadores dentro del código de programación. Sin duda un minijuego muy recomendable.

Materiales empleados en la realización del proyecto

Los materiales para realizar este proyecto son muy sencillos y no debería de ser ningún problema conseguirlos, aun así, para que te sea más fácil, aquí tienes una lista con todos los componentes.

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

Si tienes alguna duda sobre los materiales que se utilizan en este proyecto, no dudes en dejar un comentario, te responderemos lo antes posible.

Video paso a paso con la 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 realizar el proyecto

Para que te sea más fácil montar este proyecto, aquí tienes el esquema de conexiones. Todas las conexiones de este esquema corresponden con el código de programación que hay justo abajo, así que asegúrate de que todas están tal y como se muestra en esta imagen. 

esquema Fritzing minijuego diana laser arduino

Código de Arduino para la programación del minijuego

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 este proyecto y de su funcionamiento, te recomiendo que te veas el video que te hemos dejado más arriba.

Lo que debes de hacer para utilizar este código es muy sencillo, simplemente tienes que copiarlo y pegarlo en tu compilador de Arduino (por ejemplo, Arduino IDE). Si no lo tienes instalado, haz click aquí para ver un tutorial sobre como instalártelo de forma totalmente gratuita.

Si tienes cualquier duda, deja un comentario en esta pagina y te responderemos lo antes posible.

//Canal de YouTube -> RobotUNO
//Entrenamiento punteria con un laser

#define led_rojo 11
#define led_verde 12
int sensor=0, contador=0;

int valor = 0;  
void setup() { 
  Serial.begin(9600);
  
  pinMode(led_rojo,OUTP
  UT);
  pinMode(led_verde,OUTPUT);
  pinMode(sensor,INPUT);
} 
void loop() {
  sensor = analogRead(A0);
  Serial.print(sensor);
  Serial.print("\n");

  if(sensor>500){ //CALIBRAR EL SENSOR
    digitalWrite(led_rojo,HIGH);
    delay(500);
    digitalWrite(led_rojo,LOW);
    contador++;
  }

  if(contador==5){
    digitalWrite(led_verde,HIGH);
  }
  
  delay(100);
}
laberinto con arduino

Juego con Arduino: "¡NO TOQUES EL CABLE!"

Aquí tienes el tutorial del mítico juego "No toques el cable"! Este proyecto ha sido realizado completamente con Arduino. El minijuego de no tocar el cable es muy sencillo de realizar y de programación muy básica. A continuación te explicamos paso a paso como realizarlo.

Explicación, Objetivo y Funcionamiento del juego

El funcionamiento de este famoso mini juego es muy sencillo. El objetivo es pasar un alambre del principio al final sin llegar a tocar nunca el alambre. Si lo tocas, en la versión convencional te da una pequeña descarga electica, pero en este caso lo que pasa es que se enciende una luz y un buzzer emite un sonido.

Además, se incluye en display led el cual se encarga de contar cuantas veces has tocado el cable.

Materiales empleados en la realización del proyecto

Los materiales para realizar este proyecto son muy sencillos y no debería de ser ningún problema conseguirlos, aun así, para que te sea mas fácil, aquí tienes una lista con todos los componentes.

A continuación tienes una lista con los enlaces de compra.

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

Si tienes alguna duda sobre los materiales que se utilizan en este proyecto, no dudes en dejar un comentario, te responderemos lo antes posible.

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 montar el proyecto

Para que te sea más fácil montar este proyecto, aquí tienes el esquema de conexiones. Todas las conexiones de este esquema corresponden con el código de programación que hay justo abajo, así que asegúrate de que todas están tal y como se muestra en esta imagen. 

esquema minijuego no toques el cable bb

En la parte inferior de esta imagen, se muestran dos cables rojos. El más largo corresponde con el alambre que se debe de tratar de llevar de un punto al otro, mientras que el cable mas corto con una anilla en el final, corresponde con el cable que sujetamos con la mano.

Código de Arduino para la programación del proyecto

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

Si tienes cualquier duda, deja un comentario en esta pagina y te responderemos lo antes posible.

//Creador: RobotUNO
//Minijuego: No toques el cable 

#define a 2
#define b 3
#define c 4
#define d 5
#define e 6
#define f 7
#define g 8
int tocar;
int fallos;
int pause;

void setup() {
  pinMode(12,INPUT);
  pinMode(13,OUTPUT);
  fallos=0;
  pause=0;
}

void loop() {
  tocar = digitalRead(12);
  if(tocar == HIGH && pause==0){
    digitalWrite(13,HIGH);
    fallos++;
    pause=1;
  }
  else{
    digitalWrite(13,LOW);
  }
  //Contador de fallos
  switch(fallos){
    case 0:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, HIGH);
    digitalWrite(f, HIGH);
    digitalWrite(g, LOW);
    break;
    case 1:
    digitalWrite(a, LOW);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, LOW);
    digitalWrite(e, LOW);
    digitalWrite(f, LOW);
    digitalWrite(g, LOW);
    break;
    case 2:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, LOW);
    digitalWrite(d, HIGH);
    digitalWrite(e, HIGH);
    digitalWrite(f, LOW);
    digitalWrite(g, HIGH);
    break;    
    case 3:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, LOW);
    digitalWrite(f, LOW);
    digitalWrite(g, HIGH);
    break;    
    case 4:
    digitalWrite(a, LOW);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, LOW);
    digitalWrite(e, LOW);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;    
    case 5:
    digitalWrite(a, HIGH);
    digitalWrite(b, LOW);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, LOW);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;    
    case 6:
    digitalWrite(a, HIGH);
    digitalWrite(b, LOW);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, HIGH);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;    
    case 7:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, LOW);
    digitalWrite(e, LOW);
    digitalWrite(f, LOW);
    digitalWrite(g, LOW);
    break;    
    case 8:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, HIGH);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;    
    case 9:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, LOW);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;   
    default: 
    digitalWrite(a, HIGH);
    digitalWrite(b, LOW);
    digitalWrite(c, LOW);
    digitalWrite(d, HIGH);
    digitalWrite(e, LOW);
    digitalWrite(f, LOW);
    digitalWrite(g, HIGH);
  }
  if(pause==1){
    delay(100);
    pause=0;
    digitalWrite(13,LOW);
    delay(400);
  }
}
barrera laser arduino

Proyecto con Arduino "Barrera láser"

Bienvenidos a un nuevo proyecto! En este caso este proyecto se ha hecho dentro del vídeo donde se presentaba el kit de 37 sensores de la marca Elegoo.

El proyecto consiste en el diseño de una barrera laser, la cual se sitúa en una puerta para saber cuando alguien la abre y la cierra. El proyecto con Arduino cuenta con un buzzer activo y un diodo led, dispositivos que emiten sonido y luz cuando la puerta se abre. 

Materiales empleados en la realización del proyecto

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, 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.

Módulo láser: Modulo con un diodo laser controlado mediante una entrada digital, el cual emite un haz de luz roja.

Módulo fotorresistencia:  Módulo que cuenta con una fotorresistencia, la cual cual nos permite saber la cantidad de luz incidente sobre su superficie.

Buzzer activo:  Dispositivo electrónico capaz de emitir sonidos a distintas frecuencias .

Módulo led flash rápido: Este módulo contiene un diodo led con un circuito integrado, el cual cambia de color automáticamente. En total reproduce 7 colores diferentes.

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.

Componentes necesarios para este proyecto

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Servomotores ArduinoServomotores ArduinoESUS
Cables Macho HembraCables Macho HembraESUS
Palitos de heladoPalitos de heladoESUS
Pila de 9 voltiosPila de 9 voltiosESUS
ProtoboardProtoboardESUS

Video 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 para la construcción de la barrera láser

Una de las partes más importantes a la hora de realizar nuestro montaje de la barrera laser 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 conexiones barrera laser con arduino

Tened en cuenta que el módulo led en la imagen del esquema de conexiones tiene 4 pines, pero en realidad solo tiene 3. Cuando tengáis el modulo delante, el pin de la izquierda del todo es el que no se usa para nada, mientras que el del centro debemos de conectarlo a GND y el de la derecha al pin 6 de la placa Arduino UNO.

Código de Arduino para la programación del proyecto

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 todavía no tienes instalado Arduino y 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.

int valorFotoR=0;
int tiempoAlarma=5; //tiempo que esta sonando la alarma en segundos

void setup() {

  Serial.begin(9600);
  
  //pinMode(3,OUTPUT); //laser
  pinMode(A5,INPUT); //Fotorresistencia
  pinMode(6,OUTPUT); //Led
  pinMode(7,OUTPUT); //Buzzer
  
}

void loop() {
  valorFotoR = analogRead(A5); //Valor leido por la fotorresistencia

  Serial.println(valorFotoR);
  Serial.println();

  if(valorFotoR > 600){
    Serial.print("Alarma activada");

    float iteraciones=tiempoAlarma/0.2;
    digitalWrite(6,HIGH); //encender led
    for(float i=0 ; i<iteraciones ; i++){
      digitalWrite(7,HIGH);
      delay(100);
      digitalWrite(7,LOW);
      delay(100);
      Serial.print("Ha entrado");
    }
    digitalWrite(6,LOW); //apagar led
    
  }
  
  delay(1);
}
barrera automatica con sensor de movimiento

Proyecto "Barrera automática con sensor de movimiento"

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos crear una pequeña barrera automática con Arduino, la cual se activará con un sensor de movimiento, 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 barrera con el sensor de movimiento.

Materiales empleados en la construcción del proyecto

A continuación veremos los diferentes materiales que se van a utilizar para realizar nuestra barrera automática con 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.

Servomotores:  motores de 5v con una reductora, lo que permite un gran manejo de su posición y una gran fuerza para su reducido tamaño.

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

Sensor de movimiento: Se basa en la medición de radiación infrarroja pasiva. Cualquier objeto emite calor en forma infrarroja y este principio es el que utiliza para detectar los cambios en la radiación.

Palos de helado: Usaremos estos palos como estructura para dar forma a nuestra grúa.

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Sensor de movimientoSensor de movimientoESUS
Servomotores ArduinoServomotores ArduinoESUS
Palitos de heladoPalitos de heladoESUS

Video paso a paso explicación del proyecto barrera automática

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 barrera automática con sensor de movimiento

Una de las partes más importantes a la hora de realizar nuestro montaje de la barrera con sensor de movimiento 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 proyecto3 1

Código de Arduino para la programación de la barrera automática con sensor de movimiento

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 tanto la barrera como el sensor de movimiento y de su funcionamiento, te recomiendo que te veas el video que te hemos dejado más arriba.

Si todavía no tienes instalado Arduino y 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
//Barrera automática con sensor de movimmiento

#include <Servo.h>
Servo servomotor;
int valor;
int PINSERVO = 9;
int PULSOMIN = 1000;
int PULSOMAX = 2000; 

void setup() {
  pinMode(7,INPUT);
  pinMode(8,OUTPUT);
  digitalWrite(8,LOW);
  servomotor.attach(PINSERVO,PULSOMIN,PULSOMAX);
}

void loop() {
  valor = digitalRead(7);
  digitalWrite(8,valor);
  if(valor == HIGH){
  servomotor.write(180);    
  }
  if(valor == LOW){
    servomotor.write(0);
  }
}
termometro arduino en pantalla lcd tutorial

Proyecto "Mostrar la temperatura en una pantalla con Arduino"

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos mostrar la temperatura en una pantalla LCD con Arduino, la cual mediremos usando un termistor, 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 pantalla y como mostrar los datos.

Materiales empleados en la realización del proyecto

A continuación veremos los diferentes materiales que se van a utilizar para realizar nuestra medición de temperatura con 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.

Termistor: Es un tipo de resistencia cuyo valor varía en función de la temperatura de una forma más acusada que una resistencia común.

Pantalla LCD: Una pantalla de cristal líquido o LCD es una pantalla delgada y plana formada por un número de píxeles en un solo color colocados delante de una fuente de luz o reflectora

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
Pantalla LCDPantalla LCDESUS
ProtoboardProtoboardESUS
Cables Macho HembraCables Macho HembraESUS

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 pantalla LCD y el sensor de temperatura

Una de las partes más importantes a la hora de realizar nuestro montaje de la pantalla LCD 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 pantalla lcd con arduino termometro

Código de Arduino para la programación del sensor de temperatura y que se muestre por pantalla

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 la pantalla LCD y del su funcionamiento del sensor de temperatura o termistor, 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 3

#include <LiquidCrystal.h>

int tempPin = 0;
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup(){
  lcd.begin(16, 2);
}

void loop(){
  int tempReading = analogRead(tempPin);
  double tempK = log(10000.0 * ((1024.0 / tempReading - 1)));
  tempK = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK )) * tempK );
  float tempC = tempK - 273.15;
  lcd.setCursor(0, 0);
  lcd.print("Temp         C  ");
  lcd.setCursor(6, 0);
  lcd.print(tempC);
  delay(500);
}
sensor de aparcamiento con arduino

Proyecto "Sensor de aparcamiento con Arduino"

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos crear un sensor de aparcamiento con Arduino, el cual aumentará la frecuencia de los pitidos a medida que acerquemos la mano, 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 el sensor de ultrasonidos.

Materiales empleados en el sensor de aparcamiento

A continuación encontrarás los diferentes materiales que vas a utilizar para realizar el sensor de aparcamiento con Arduino y una breve descripción de los mismos. Además, para todos aquellos que estéis interesados en realizar el proyecto, podéis 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.

Modulo de ultrasonidos: se encarga de enviar y recibir señales sonoras y calcula la distancia de los objetos en función del tiempo que tardan en volver dichas señales.

Zumbador pasivo o buzzer: Se trata de un elemento con una membrana que vibra cuando se la alimenta con un potencial de corriente.

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
Sensor Ultrasonidos HC-SR04Sensor Ultrasonidos HC-SR04ESUS
BuzzerBuzzerESUS
Cables Macho HembraCables Macho HembraESUS
ProtoboardProtoboardESUS

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 del sensor de aparcamiento

Una de las partes más importantes a la hora de realizar nuestro montaje del sensor de aparcamiento 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 sensor de aparcamiento arduino

Código de Arduino para la programación del sensor de aparcamiento con Arduino

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 este sensor 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
//Sensor de aparcamiento con Arduino

int TRIG = 10;
int ECO = 9;
int LED = 3;
int DURACION;
int DISTANCIA;

void setup(){
  pinMode(TRIG, OUTPUT);
  pinMode(ECO, INPUT);
  pinMode(LED, OUTPUT);
  Serial.begin(9600); //Numero de bits por segundo = 9600
}

void loop(){
  digitalWrite(TRIG, HIGH);
  delay(1);
  digitalWrite(TRIG, LOW);
  DURACION = pulseIn(ECO, HIGH);
  DISTANCIA = DURACION / 58.2;   //Valor especificado por el fabricante
  Serial.println(DISTANCIA);
  delay(200);
  if(DISTANCIA<=20 && DISTANCIA >= 0){
    digitalWrite(LED, HIGH);
    delay(DISTANCIA * 10);
    digitalWrite(LED, LOW);
  }
}
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();
  }  
}
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();
  }  
}