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 US
Producto Módulo de ultrasonidos HC-SR04 ES US
Producto Servomotores ES US
ProductoCABLES MACHO HEMBRAESUS

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.

Realizamos tu proyecto

¿Necesitas ayuda con algún proyecto?

  • Proyectos con Arduino
  • Proyectos con Raspberry Pi
  • Diseño de PCBs
  • Diseño de piezas 3D
  • Conexión Bluetooth
  • Proyecto con ESP32
  • Impresión de piezas 3D
  • Asesoría
  • Conexión Wifi
  • Programación de PLCs

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(); 
}
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.

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);
  }
}
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 ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Motor paso a pasoMotor paso a pasoESUS
Cables Macho HembraCables Macho HembraESUS
ProtoboardProtoboardESUS
Palitos de heladoPalitos de heladoESUS

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);
}
barrera-con-contraseña-arduino

Proyecto "Barrera con contraseña Arduino"

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos crear una barrera la cual se levantará cuando se introduzca correctamente la contraseña correcta con Arduino, 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.

Materiales empleados en la realización del proyecto

A continuación veremos los diferentes materiales que se van a utilizar para realizar la barrera con contraseña en 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.

Matriz numérica: Modulo capaz de detectar que tecla se está pulsando mediante la alimentación de uno de los nodos del botón.

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.

Palos de helado: Usaremos estos palos para crear la barrera.

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

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 barrera con contraseña

Una de las partes más importantes a la hora de realizar nuestro montaje de la barrera y la matriz numérica 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 barrera con contraseña arduino

Código de Arduino para la programación de la barrera con contraseña

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

//Robot UNO
//Proyecto -> Barrera con contraseña

#include <Servo.h>
#include <Keypad.h>

char contrasena[]="1234"; //NUMERO DE LA CONTRASEÑA
char codigo[4];
int cont=0; 
const byte ROWS = 4; 
const byte COLS = 4;
char hexaKeys[ROWS][COLS] = {
 {'1','2','3','A'},
 {'4','5','6','B'},
 {'7','8','9','C'},
 {'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
Servo servomotor;
int valor;
void setup(){
 servomotor.attach(11,1000,2000);
 Serial.begin(9600);
}
void loop(){
 char customKey = customKeypad.getKey();
 servomotor.write(0);
 if (customKey != NO_KEY){
 codigo[cont]=customKey;
 Serial.print(codigo[cont]);
 cont++;
 if(cont==4){
 if(codigo[0]==contrasena[0]&&codigo[1]==contrasena[1]&&codigo[2]==contrasena[2]&&codigo[3]==contrasena[3]){
 digitalWrite(13,!digitalRead(13)); 
 Serial.println("   Contraseña correcta");
 servomotor.write(180);
 delay(5000); //TIEMPO QUE SE MANTIENE SUBIDA LA BARRERA (en ms)
 servomotor.write(0);
 }
 else if(codigo[0]!=contrasena[0]||codigo[1]!=contrasena[1]||codigo[2]!=contrasena[2]||codigo[3]!=contrasena[3]){
 Serial.println("   Contraseña incorrecta");
 }
 cont=0; 
    }
  }
}
dispensador-para-hamsters-automatico

Proyecto "Dispensador automático para mascotas"

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos construir un dispensador automático para mascotas con la ayuda de un servomotor y la placa de Arduino, 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 dispensador el cual sirve para cualquier mascota, desde peces, tortugas hasta hámsteres o conejos.

Materiales empleados en dispensador

A continuación veremos los diferentes materiales que se van a utilizar para realizar nuestro dispensador 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.

Servomotor:  motor 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.

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.

Cartulina: Se usará como estructura aunque puede usarse cualquier otro tipo de material.

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
ProtoboardProtoboardESUS

Video explicación paso a paso del dispensador

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 dispensador automático

Una de las partes más importantes a la hora de realizar nuestro montaje del dispensador automático para mascotas, 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-dispensador-automatico-para-hamsters

Código de Arduino para la programación del dispensador para mascotas

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 el dispensador 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 -> Dispensador automatico

#include<Servo.h>

Servo servo1;
int PINSERVO = 2;
int PULSOMIN = 1000;
int PULSOMAX = 2000;
void setup(){
  servo1.attach(PINSERVO, PULSOMIN, PULSOMAX);
}

void loop(){
  servo1.write(0);
  delay(10000);
  servo1.write(180);
  delay(500);
}
brazo-robotico-con-arduino

Proyecto "Brazo robótico controlado por botones"

En este nuevo proyecto de Arduino, verás como crear un brazo robótico controlado por botones, se trata de un brazo robótico de 3 grados de libertad y una pinza al final, además, verás cuales son los diferentes materiales empleados en su construcción, cual es su esquema de conexiones y finalmente podrás encontrar el código para para controlar el brazo robótico mediante el uso de botones.

Materiales necesarios para su construcción

A continuación hablaremos de los diferentes materiales utilizados para la construcción de nuestro brazo robótico controlado por botones con Arduino, también se hará una breve descripción de cada uno de los materiales. Si estás interesado en realizar el proyecto, a continuación tienes los enlaces a diferentes páginas donde poder adquirirlos.

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.

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.

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

Componentes necesarios para el brozo robótico

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Servomotores ArduinoServomotores ArduinoESUS
Cables Macho HembraCables Macho HembraESUS
Botones ElectrónicaBotones ElectrónicaESUS
Motor paso a pasoMotor paso a pasoESUS
Palitos de heladoPalitos de heladoESUS
ProtoboardProtoboardESUS

Video con la explicación del brozo robótico

Para poder ver de una forma mucho más detallada, como realizar este brazo robótico controlado con botones, te dejamos a continuación un video donde podrás ver desde el inicio hasta el final como se ha hecho paso a paso, como puede ser la explicación del código y  los diferentes pasos de su construcción. Y recuerda, si te gusta esta clase de contenido, no olvides SUSCRIBETE 😉

Esquema de conexiones Arduino para la construcción del brazo robótico

Si quieres que tu proyecto funcione correctamente, una de las partes más importantes a la hora de realizarlo es que tengas claro cual va a ser tu esquema de conexiones y de como vas a conectar correctamente los diferentes elementos. Con el fin de evitarte errores de montaje o conexiones erróneas, a continuación te dejamos el esquema de conexiones empleado para este proyecto, además, con este esquema de conexiones puedes usar el código código que te dejamos más adelante sin necesidad de hacer ninguna modificación.

esquema-de-conexiones-brazo-robotico-controlado-por-botones

 Como podéis observar, existe una pequeña diferencia entre las conexiones que se realizan en el vídeo y las que se muestran en esta imagen. Esto es debido a que en el video se alimentan todos los motores desde la placa de Arduino UNO, cosa que es incorrecta ya que la corriente que circula por esta para alimentar los motores puede quemar la placa. Por este motivo es mas correcto realizar las conexiones tal y como se observa en esta imagen, ya que la alimentación proviene del modulo "mb-102", haciendo que la intensidad que para alimentar los motores no pase por la placa de Arduino.

Por último, realizar este montaje (que es muy recomendable) o el que aparece en el video, no va a afectar en nada al código de programación, ya que las conexiones de los motores no cambian de pines en la placa de Arduino UNO.

Realizamos tu proyecto

¿Necesitas ayuda con algún proyecto?

  • Proyectos con Arduino
  • Proyectos con Raspberry Pi
  • Diseño de PCBs
  • Diseño de piezas 3D
  • Conexión Bluetooth
  • Proyecto con ESP32
  • Impresión de piezas 3D
  • Asesoría
  • Conexión Wifi
  • Programación de PLCs

Código de Arduino para la programación del brazo robótico controlado por botones

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.

Si estás interesado en automatizar todos los movimientos del brazo robótico, a continuación te dejamos un video en el cual se muestra este proyecto pero con sus movimientos preprogramados. Puedes verlo pinchando AQUÍ.

Respecto al código, recuerda instalar las librerías "Servo.h" y "Stepper.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 de YouTube -> RobotUNO
//BRAZO ROBOTICO 2.0

#include <Servo.h>
#include <Stepper.h>
#define STEPS 32
#define temp 25

//MOTOR PASO A PASO
volatile boolean TurnDetected; 
volatile boolean rotationdirection; 
const int PinCLK=2;   
const int PinDT=3;   
int RotaryPosition=0;   
int PrevPosition;    
int StepsToTake; 
Stepper small_stepper(STEPS, 4, 6, 5, 7);
void isr ()  {
  delay(4);  // delay for Debouncing
  if (digitalRead(PinCLK))
    rotationdirection= digitalRead(PinDT);
  else
    rotationdirection= !digitalRead(PinDT);
  TurnDetected = true;
}

//SERVOMOTORES
int i=0,j=0,x=0;
Servo servomotor3; //Servomotor pinza
int boton_sub3=0;
int boton_baj3=0;
Servo servomotor2; //Servomotor en medio
int boton_sub2=0;
int boton_baj2=0;
Servo servomotor1; //Servomotor abajo
int boton_sub1=0;
int boton_baj1=0;

void setup(){
  //MOTOR PASO A PASO
  pinMode(PinCLK,INPUT);
  pinMode(PinDT,INPUT);  
  attachInterrupt (0,isr,FALLING); 

  //SERVOMOTORES
  servomotor3.attach(13);
  servomotor3.write(0);
  pinMode(A4,INPUT);
  pinMode(A5,INPUT);
  
  servomotor2.attach(12);
  servomotor2.write(0);
  pinMode(A2,INPUT);
  pinMode(A3,INPUT);
  
  servomotor1.attach(11);
  servomotor1.write(0);
  pinMode(A0,INPUT);
  pinMode(A1,INPUT);
}

void loop(){
  //MOTOR PASO A PASO
  small_stepper.setSpeed(700); 
  if (TurnDetected)  {
    PrevPosition = RotaryPosition; 
    if (rotationdirection) {
      RotaryPosition=RotaryPosition-1;}
    else {RotaryPosition=RotaryPosition+1;}
    TurnDetected = false;
    if ((PrevPosition + 1) == RotaryPosition) {
      StepsToTake=50; 
      small_stepper.step(StepsToTake);}
    if ((RotaryPosition + 1) == PrevPosition) {
      StepsToTake=-50;
      small_stepper.step(StepsToTake);}
  }
     digitalWrite(4, LOW);
     digitalWrite(5, LOW);
     digitalWrite(6, LOW);
     digitalWrite(7, LOW);   
  
  //SERVOMOTOR pinza
  boton_sub3=digitalRead(A4);
  boton_baj3=digitalRead(A5);
  if(boton_sub3==HIGH){
     i++;
     servomotor3.write(i);
     delay(temp);
  }
  if(boton_baj3==HIGH){
    i--;
    servomotor3.write(i);
    delay(temp);
  }
  //SERVOMOTOR en medio 
  boton_sub2=digitalRead(A2);
  boton_baj2=digitalRead(A3);
  if(boton_sub2==HIGH){
     j++;
     servomotor2.write(j);
     delay(temp);
  }
  if(boton_baj2==HIGH){
    j--;
    servomotor2.write(j);
    delay(temp);
  }
  //SERVOMOTOR abajo
  boton_sub1=digitalRead(A0);
  boton_baj1=digitalRead(A1);
  if(boton_sub1==HIGH){
     x++;
     servomotor1.write(x);
     delay(temp);
  }
  if(boton_baj1==HIGH){
    x--;
    servomotor1.write(x);
    delay(temp);
  }
}
proyecto brazo robotico con arduino

Proyecto "Brazo robótico con Arduino"

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos crear un brazo robótico con Arduino. Este es un brazo robótico de 3 grados de libertad el cual emplea servomotores y una pinza al final. 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 brazo robótico.

Materiales empleados en la realización del brazo robótico con Arduino

A continuación veremos los diferentes materiales que se van a emplear para realizar nuestro brazo robótico 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.

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

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.

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

Para conocer más a fondo sobre cada uno de los diferentes materiales, puedes visitar la página "materiales" donde se explicará de una forma más extensa el funcionamiento y los posibles usos de cada uno de ellos.

Componentes necesarios para contruir un brazo robótico con servomotores

 A continuación os dejamos una lista con todos los componentes empleados en el proyecto de este brazo robótico con servomotores. De esta forma podeis ir directamente a la web y adquirirlos.

El carrito ES os permitirá comprar los componentes en Amazon España y US os dirigirá a la tienda de amazon de Estados Unidos.

Kit iniciación ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Servomotores ArduinoServomotores ArduinoESUS
Motor paso a pasoMotor paso a pasoESUS
Palitos de heladoPalitos de heladoESUS
ProtoboardProtoboardESUS
Cables Macho HembraCables Macho HembraESUS

Video con explicación paso a paso del proyecto del brazo robótico con servomotores

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 brazo robótico

Una de las partes más importantes a la hora de realizar nuestro montaje del brazo robótico pasa por conectar correctamente los diferentes elementos. En este caso, es importante que todos los servomotores estén correctamente conectados.

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-brazo-robotico-arduino

Como podéis observar, existe una pequeña diferencia entre las conexiones que se realizan en el vídeo y las que se muestran en esta imagen. Esto es debido a que en el video se alimentan todos los servomotores desde la placa de Arduino UNO.

Esto es incorrecto, ya que la corriente que circula por la placa de Arduino podría quemarla si todos los servomotores se alimentan desde la misma placa. Por este motivo es mas correcto realizar las conexiones tal y como se observa en esta imagen, ya que la alimentación proviene del modulo "mb-102", haciendo que la intensidad que para alimentar los motores no pase por la placa de Arduino.

Por último, realizar este montaje (que es muy recomendable) o el que aparece en el video, no va a afectar en nada al código de programación, ya que las conexiones de los motores no cambian de pines en la placa de Arduino UNO.

Realizamos tu proyecto

¿Necesitas ayuda con algún proyecto?

  • Proyectos con Arduino
  • Proyectos con Raspberry Pi
  • Diseño de PCBs
  • Diseño de piezas 3D
  • Conexión Bluetooth
  • Proyecto con ESP32
  • Impresión de piezas 3D
  • Asesoría
  • Conexión Wifi
  • Programación de PLCs

Código de Arduino para la programación del brazo robótico

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.

El codigo que te mostramos a continuación tiene unos movimientos predefinidos, los cuales puedes ver en el video que te hemos dejado arriba. Sin embargo, si deseas que tu brazo robótico pueda realizaar más movimientos, te recomendamos que te veas el siguiente video que te dejamos AQUÍ.

Respecto al código, recuerda instalar las librerías "Servo.h" y "Stepper.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 de YouTube -> Robot UNO
//Proyecto -> Brazo robotico version1
#include <Servo.h>
#include <Stepper.h>
Servo servomotor3; //Servomotor pinza
Servo servomotor2; //Servomotor enmedio
Servo servomotor1; //Servomotor abajo
Stepper motor(2048, 4, 6, 5, 7);
void setup() {
  servomotor3.attach(11);
  servomotor2.attach(10);
  servomotor1.attach(9);
  motor.setSpeed(5);
}
void loop() {
  //Reinicio
  servomotor1.write(0);
  servomotor2.write(0);
  servomotor3.write(0);
  //motor.step(512);
  delay(3000);
  //COJE EL OBJETO
  for(int i=0; i<=45; i++){
    servomotor3.write(i);
    delay(25);
  }
  delay(1000); 
  for(int i=0; i<=90; i++){
    servomotor2.write(i);
    delay(25);
  }
  delay(1000);  
  for (int i=0; i<=90; i++){
    servomotor1.write(i);
    delay(25);
  }
  delay(1000);
  for(int i=45; i>=0; i--){
    servomotor3.write(i);
    delay(25);
  }
  delay(1000);
   for (int i = 90; i>=0; i--){
    servomotor1.write(i);
    delay(25);
  }
  delay(1000);
  for (int i = 90; i>=0; i--){
    servomotor2.write(i);
    delay(25);
  }
  delay(1000);
  //GIRA CON EL OBJETO
  motor.step(512);
  delay(1000);
  //DEJA EL OBJETO
  for(int i=0; i<=90; i++){
    servomotor2.write(i);
    delay(25);
  }
  delay(1000);
  for (int i=0; i<=90; i++){
    servomotor1.write(i);
    delay(25);
  }
  delay(1000);  
  for(int i=0; i<=45; i++){
    servomotor3.write(i);
    delay(25);
  }
  delay(1000);
  //VUELVE A LA POSICION INICIAL
  servomotor1.write(0);
  servomotor2.write(0);
  motor.step(-512);
  delay(3000);
}

También te puede interesar este otro proyecto sobre un brazo robótico controlado por botones

Si te ha gustado este proyecto. A continuación te proponemos una variación que no te costará nada de implementar. En este caso se ha empleado el mismo brazo robótico pero en vez de controlarlo mediante comandos, se ha controlado mediante el uso de botones. De esta forma podrás seguir con la evolución de este fascinante proyecto.

brazo robotico controlado por botones arduino