CODIGO DE PROGRAMACION: www.robotuno.com/proyecto-brazo-robotico-con-arduino/#Codigo-de-Arduino-para-la-programacion-del-brazo-robotico ESQUEMA DE CONEXIONES: www.robotuno.com/proyecto-brazo-robotico-con-arduino/#Esquema-de-conexiones-Arduino-para-la-construccion-del-brazo-robotico LISTA de MATERIALES (Mejores productos de AMAZON): -Mi kit de ARDUINO: amzn.to/2FYAw1N -Pack Servomotores: amzn.to/2SO1fEY -Motor paso a paso: amzn.to/37LsZOU -Botones: amzn.to/32f7WmF -Kit botones/leds/resistencias: amzn.to/2SYb6Hm -Encoder: amzn.to/38PD1jp -Protoboard: amzn.to/2V9oHOF -Placa Arduino UNO: amzn.to/2SK3xVQ -Cables: amzn.to/2vPz9jQ Espero que te haya gustado y si quieres el código de programación, no dudes en pedírmelo por los comentarios.
oye hermano ojala me contestes una disculpa pero use tu código y me marca dos errores y no e podido detectar cuales son tengo la aplicación zinjai crees que sea eso ?
Guao me gusto mucho el video y ademas yo estoy estudiando para tecnico electrónico, esto que e visto podria servirme para un proyecto o una prectica donde estudio. Sigue haciendo videos asi, me gusto mucho y aprendí. Muchas gracias por este video
Yo hice ese proyecto y mi profesor me dijo que el Arduino necesita un tipo de cargador para que tenga la suficiente fuerza para que mueva el motor paso a paso y los tres servo motores
genial tu brazo robotico mejorado! estoy iniciando y me gustaria presentarle a mis profes este proyecto. te agradeceria que me compartas el codigo! mientras voy armando el resto! saludos!!!
Bro muy buen video pregunta ¿Este tipo de brazo robótico de cuantos grados de libertad seria y como se le implementaria un joystick es para un proyecto? 👍
Tengo una duda: en el vídeo donde hicistes la grúa utilizastes alimentación externa con dos servos. En este proyecto usas tres y lo alimentas con la placa Arduino. ¿Cuál es la diferencia?
La alimentacion externa de los servomotores se hace ya que cada uno de estos consume mas o menos 30mA, entoces, si utilizas varios servomotores, pues puedes sobrepasar la corriente maxima que admite arduino y quemar la placa. Por eso, en este proyecto sería mucho mas correcto alimentarlo externamente (no lo hice ya que nunca se estan moviendo a la vez mas de dos servomotores pero aun asi lo deberia de haber hecho).
Este proyecto me pareció excelente para los que nos vamos adentrando a las múltiples aplicaciones que tiene Arduino y me gustaría usarlo para un trabajo escolar. Solo tengo unas preguntas que agradecería me pudiera responder; ¿Se necesita una fuente externa de energía para que funcione? ¿Es posible hacer un cambio del motor paso a paso por otro servomotor?
Buenas! A ver, sería mas correcto realizar la alimentacion de los moteres desde una fuente externa, en el video no lo hago, pero se deberia de hacer. Y si, si que se podría sustituir por otro servomotor, pero puede ser que no tenga fuerza para moverlo. Un saludo!
Excelente las mejoras amigo me gusto pero un comentaria no seria mejor un joystck para el motor paso a paso seria interezante pero me facino lo quiero realizar me facilitas el codigo gracias te escribe alejandro desde panama
Wao que gran vídeo de proyecto!! es hora de ponerlo a prueba a ver como me va, seria grandioso que pudieras compartir el código de programación de todo y haci poder realizarlo con su ayuda . Gracias saludos.
hola oye vi el video y esta increicble como lo explicas y lo haces ver que no es tan complicado de realizar. queria saber si me podrias decir que tipo de placa controladora es la que utilizas en el video.
En mis ultimos videos estoy empezando a explicar la programacion de cada proyecto.Quiza algun dia me anime a hacer un tutorial solo de programacion. Un saludo!
@@RobotUNO disculpa me podrías pasar los códigos estoy aprendiendo programación, y estoy tratando de hacer varios ejercicios de programación, por lo tanto quiero tratar de entender algunos ejercicios como este y luego hacer uno propio
Oye bro, tienes un nuevo sub, y no me suscribo por que me pases el código, sino porque me parece muy interesante tu contenido y la forma como lo explicas... buen video y porfa pasame el codigo
Gracias muy chulos los proyectos, me comprado un kit de elegoo y me montado la grua y quiero controlarla con botones, pero tengo 5 (me falta 1), podria usar otra cosa en vez del boton? como un potenciometro 10k o asi? Me acabo de suscribir, sigue con estos pedazo de proyecto eres un crack!!! P.D: M pasas el codigo? jejeje
Hola David! puedes tratar de fabricar un boton tu mismo con 2 cables (es muy sencillo). Te recomiendo que te pases por este video ( th-cam.com/video/JBvj6cAB6ck/w-d-xo.html ). Y aqui tienes el codigo!
Hola buenas tardes! Saludos desde México. Me gustaría saber qué programa se utiliza para poder programar el brazo robótico, ya que estoy interesado en hacer un proyecto similar
Hola, después de hacer todo eso, como puedo redicir el espacio que ocupan la protoboard por ejemplo para pasarlo a algo mas compacto y que no ocupe todo ese espacio?
Ya lo monte pero al ponerlo a funcionar solo funciona uno de los motores o a veces ninguno, cada que lo reinicio sucede los mismo. Que podra ser?? gracias
Hola, por favor me podrías ayudar con una consulta, quisiera saber como conectar un sensor inductivo a un brazo para que solo recoja materiales metálicos
hola que tal estimado, me gusto mucho el video ahora mismo estoy realizando el proyecto , una consulta de casualidad de este proyecto tubieras el diseño en proteus porfavor un saludo , gracias.
buenas noches lo que pasa en que cuando pongo el codigo y le doy en verifcar me parece : exit status 1 'STEPS' was not declared in this scope te agredeceria tu ayuda buen video
Parece un fallo en la programacion, te vuelvo a adjuntar el codigo por si acaso. De todas formas comprueba que las librerias "Stepper.h" y "Servo.h" esten instaladas. Un saludo!
Hola, disculpe al parecer hay un error en el código, al momento te pasarlo me dice que hay un error y no se si sea la entrada ya que a otros compañeros si les pasó el código al Arduino pero solo mueve un servomotor y a otro solo el motor paso a paso, el código es el del link o es otro?
Hola amigo ya estoy suscrito, me darias el codigo y las librerias que tengo que descargar porfa amigo es para un trabajo de mi universidad eres increible.
Tiene algo de negativo si le pongo una resistencia de 1/4? Que pasa si lo hago. Perdón, estoy aprendiendo y me salió la duda al tener resistencia de ese tipo.
Hola broder que buen proyecto hiciste Y también ya me suscribí Una pregunta broder Con que programa estas trabajando para hacer el proyecto osea me refiero a q aplicación estas usando para programar ?
amigo como estas espero me puedas ayudar, al momento de girar el encoder , se mueve el motor a pasos y todo, pero mientras estoy girando la perilla , los servomotores dan impulsos y se mueven un poco , como movimientos involuntarios y es solo cuando uso el encoder sabes que puede ser ?
Prueba a alimentar los motores de forma externa, es decir, en vez de conectarlos a la placa de arduino, conectarlos a una fuente de alimentacion externa
@@RobotUNO Gracias por tu respuesta , Si ya lo hice pero de igual manera al girar el encoder se siguen moviendo los servomotores como que dan impulsos y eso provoca que si estoy agarrando algo se caiga, no se si se deba a algun problema en el codigo ? digo talvez puede ser
CODIGO DE PROGRAMACION: www.robotuno.com/proyecto-brazo-robotico-con-arduino/#Codigo-de-Arduino-para-la-programacion-del-brazo-robotico
ESQUEMA DE CONEXIONES: www.robotuno.com/proyecto-brazo-robotico-con-arduino/#Esquema-de-conexiones-Arduino-para-la-construccion-del-brazo-robotico
LISTA de MATERIALES (Mejores productos de AMAZON):
-Mi kit de ARDUINO: amzn.to/2FYAw1N
-Pack Servomotores: amzn.to/2SO1fEY
-Motor paso a paso: amzn.to/37LsZOU
-Botones: amzn.to/32f7WmF
-Kit botones/leds/resistencias: amzn.to/2SYb6Hm
-Encoder: amzn.to/38PD1jp
-Protoboard: amzn.to/2V9oHOF
-Placa Arduino UNO: amzn.to/2SK3xVQ
-Cables: amzn.to/2vPz9jQ
Espero que te haya gustado y si quieres el código de programación, no dudes en pedírmelo por los comentarios.
Me puedes pasar el código estoy suscrito
Muchas gracias por darme la lista de materiales. Me podrías dar la programación de Arduino para que funcione?? Mil gracias!!
oye hermano ojala me contestes
una disculpa pero use tu código y me marca dos errores y no e podido detectar cuales son
tengo la aplicación zinjai crees que sea eso ?
Necesito el código porfa
Hola oye me puedes pasar el código por favor
Es el video Más completo que he visto de Arduino. Por favor sigue haciendo videos como este, explicando paso a paso.
Guao me gusto mucho el video y ademas yo estoy estudiando para tecnico electrónico, esto que e visto podria servirme para un proyecto o una prectica donde estudio.
Sigue haciendo videos asi, me gusto mucho y aprendí.
Muchas gracias por este video
Yo hice ese proyecto y mi profesor me dijo que el Arduino necesita un tipo de cargador para que tenga la suficiente fuerza para que mueva el motor paso a paso y los tres servo motores
Usa una fuerte externa de 5V (o 4 pilas de 1.5V) para alimentar los servomotores y el motor paso a paso
@@ingjosecanelamorales7732 y donde las pongo porque ya tengo todo listo
Oye tienes el código Bro ?
Hola, ya estoy suscrito, me pareció muy bueno el vídeo, me podrías pasar el código por favor 🙏
Claro! aqui tienes el codigo! Un saludo.
//Canal de TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
David podrías decirme si te funciono?
@@RobotUNO2:09
Oye Bro con que programa pones el código
genial tu brazo robotico mejorado! estoy iniciando y me gustaria presentarle a mis profes este proyecto. te agradeceria que me compartas el codigo! mientras voy armando el resto! saludos!!!
Bro muy buen video pregunta ¿Este tipo de brazo robótico de cuantos grados de libertad seria y como se le implementaria un joystick es para un proyecto? 👍
Tengo una duda: en el vídeo donde hicistes la grúa utilizastes alimentación externa con dos servos. En este proyecto usas tres y lo alimentas con la placa Arduino. ¿Cuál es la diferencia?
La alimentacion externa de los servomotores se hace ya que cada uno de estos consume mas o menos 30mA, entoces, si utilizas varios servomotores, pues puedes sobrepasar la corriente maxima que admite arduino y quemar la placa.
Por eso, en este proyecto sería mucho mas correcto alimentarlo externamente (no lo hice ya que nunca se estan moviendo a la vez mas de dos servomotores pero aun asi lo deberia de haber hecho).
Muy bueno el video de verdad!!
Podrías enviar el código?!?!
@@joseignacioapontemedina330 Muchas gracias Jose Ignacio! aqui tienes el codigo
Borro ya el codigo!
Puedo usar una batería de 9V en vez de conectar el cable rojo los 5V y el cable negro al GND ? O si lo hago el proyecto no funcionará?
Buen video!! En este caso, no es necesario alimentar con una fuente externa los servos? Agradecido
Eh hola tengo una pregunta y es si era posible en ves de usar un encoder, reemplazarlo con un joystick o botónes
Que interesante estimado ..El código de arduino me lo puedes pasar
Buen video lo voy a realizar para un proyecto del colegio de mi hija
¿es necesario poner los mismos colores de los cables?
Este proyecto me pareció excelente para los que nos vamos adentrando a las múltiples aplicaciones que tiene Arduino y me gustaría usarlo para un trabajo escolar.
Solo tengo unas preguntas que agradecería me pudiera responder; ¿Se necesita una fuente externa de energía para que funcione?
¿Es posible hacer un cambio del motor paso a paso por otro servomotor?
Buenas! A ver, sería mas correcto realizar la alimentacion de los moteres desde una fuente externa, en el video no lo hago, pero se deberia de hacer. Y si, si que se podría sustituir por otro servomotor, pero puede ser que no tenga fuerza para moverlo. Un saludo!
Muchas gracias, lo tendré en cuenta c:
Me encanta el vídeo
Muchas gracias!! : )
Muchísimas gracias !,
De nada Gustavo!
Viejo que buen video ese codigo que mandas es nomas llegar y copiarlo o se tiene que hacer otra cosa
Muchas gracias! SI, solo hay que copiar y pegar y ya funciona.
Excelente las mejoras amigo me gusto pero un comentaria no seria mejor un joystck para el motor paso a paso seria interezante pero me facino lo quiero realizar me facilitas el codigo gracias te escribe alejandro desde panama
Un saludo desde España! Me parece una idea muy buena! quizá saque una tercera parte mejorando los materiales y todo
borro ya
Fantastico . Estoy empezando y me gustaria recibir el programa que introduces al Arduino . Muchas gracias .
Hola me gusto el video, de hecho pienso emplearlo en un proyecto escolar.
crees que me puedas pasar el código. Saludos desde México
Claro!! aqui tienes el codigo! Un saludo desde españa!
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
Hola ya estoy suscrito, me puedes pasar el código de programación?
Wao que gran vídeo de proyecto!! es hora de ponerlo a prueba a ver como me va, seria grandioso que pudieras compartir el código de programación de todo y haci poder realizarlo con su ayuda . Gracias saludos.
puedo hacer este proyecto si tengo pulsadores de 2 pines
si! por supuesto
Buenas disculpe el codigo de la tarjeta Anduino para la programación del braso robotico es necesario asi se utilice los botones
Quedo muy bien con las mejoras excelente trabajo!!
Me podrías compartir el código.
Perdon por no habertelo pasado antes, youtube no me notificó del comentario. Aquí tienes el codigo! Un saludo Jose!
eres un genio,peaso de proyecto,me puedes pasar el codigo
@@joseariascarrasco9253 por supuesto! y muchas gracias jose
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
@@RobotUNO gracias
que aplicación
utilizaste para el código
gracias
Oye bro que buen vídeo una pregunta no podrías cambiar el encoder por un potenciómetro ?
Si, si que se podría, pero habria que adaptar algunas partes del codigo. Un saludo.
hola oye vi el video y esta increicble como lo explicas y lo haces ver que no es tan complicado de realizar. queria saber si me podrias decir que tipo de placa controladora es la que utilizas en el video.
Oye bro esta exelente este proyecto , queria ver si nos puedes hacer un video en donde nos enseñes a programar el arduino bro muchas gracias 6😎❤
En mis ultimos videos estoy empezando a explicar la programacion de cada proyecto.Quiza algun dia me anime a hacer un tutorial solo de programacion. Un saludo!
@@RobotUNO disculpa me podrías pasar los códigos estoy aprendiendo programación, y estoy tratando de hacer varios ejercicios de programación, por lo tanto quiero tratar de entender algunos ejercicios como este y luego hacer uno propio
Esta súper el proyecto Bro, me podrías pasar el programa para este porfa??
@Robot UNO SE TE AGRADECE POR FAVOR CON LO SOLICITADO SALUDOS
@Robot UNO
tienes un nuevo sub, me gusta mucho, y me seria util el codigo, :v
Gracias.
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
Claro!! qui lo tienes Cristian y bienvenido al canal!
Hola que tal muy buen video queria ver si el progrma que tienes lo puedo hacer por via Bluetooth utilizando el HC-06
Gracias
Si se puede, pero deberias de cambiar algunas cosas, quizas en un futuro me plantee mejorarlo de esta forma. Un saludo y aqui tienes el codigo
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
tengo una duda es que en ves de los botones quisiera implementarlo con app de bluetooth cual me aconsejarías usar o como implementarlo
hola me gusta el proyecto es bastante practico puedes compartir los codigos de programacion por favor
Hola, soy sub nuevo. Me ayudas con la codificación pero en mblock?
Disculpa y si los codigos le pongo en un arduino nano si vale ??
En el programa de arduino, y le das a verificar y a subir
Hola muy bueno el proyecto. Te solicito el código de prog. Gracias
Solo utilzas la fuente de Alimentacion del arduino? No es muy poco?
Tienes razon, sería mas correcto alimentar el proyecto externamente. Quiza suba una nueva version del brazo robotico mejorandolo. Un saludo
@@RobotUNO asi es, yo también quisiera una tercera parte con alimentacion externa y algunos extras mas al brazo y quizá mejoras en funciones
Muy buen proyecto. me ha encantado y quisiera hacerlo, me pasas los codigos porfa y donde te puedo contactar para cualquier duda?
En el comentario de abajo te dejo el codigo, para contactar conmigo puedes hacerlo en manualidadesyarmas@gmail.com
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
Muy bien video quería ver si me podrías pasar el código buena noche saludos exelente trabajo
buenas tardes, mis botones solo tienen dos pines entonces no importa si conecto los mismos cables a los unicos pines? porfavor necesito su respuesta
😁
Comparte la programación saludos y muchas gracias
Tienes un link en la descripcion
EXCELENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Ahora solo me falta el codigo :) me lo podrias dar amigo
pregunta da lo mismo si tengo pulsadores con 2 patitas y no 4?
Robot UNO me podrías pasar el código gracias
esta genial tu proyecto
Claro! aqui lo tienes
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
buenisimo el video
Quiero ver si puedo hacer esto, deseenme suerte XD
Te funcionó bro?
@Litle7 x2 yo lo haré como proyecto de grado
@Litle7 te funcionó el código bro?
Te funcionó el código bro?
Hola esta interesnte tu video, acabo de suscribirme a tu canal, podrias psarme el codigo porfavor ya compre los componentes
Hola disculpe, que aplicación de simulación utilizo?
Buen proyecto bro, una duda, como Sr llama la pieza donde conectas los motores porfa?
excelente explicacion, me comparte el codigo por favor
Hola, muy bien proyecto, me encantó, me puedes enviar los códigos por favor. Gracias
Claro!! aqui lo tienes
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
buenos dias ... el codigo de la pagina es el mimso para que funcione el proyecto?
hola cuanto de peso es capaz de cargar el brazo?
Excelente video ❤ ,ya estoy suscrita al canal me puedes ayudar con el código por favor
Claro!! aqui lo tienes! y muchas gracias!
//Canal de TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
Oye bro, tienes un nuevo sub, y no me suscribo por que me pases el código, sino porque me parece muy interesante tu contenido y la forma como lo explicas... buen video y porfa pasame el codigo
Muchisimas gracias Juan Sebastian!!! Bienvenido a este pequeño canal! En la respuesta de abajo te dejo el codigo. Un saludo : )
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
Oye por favor podrías decirme si te funciono Esque no me van los servos
Hola, qué tal funciona este proyecto con un sensor de distancia?
hola disculpa, una pregunta la fuente de alimentación externa de cuanto seria?
Gracias muy chulos los proyectos, me comprado un kit de elegoo y me montado la grua y quiero controlarla con botones, pero tengo 5 (me falta 1), podria usar otra cosa en vez del boton? como un potenciometro 10k o asi?
Me acabo de suscribir, sigue con estos pedazo de proyecto eres un crack!!!
P.D: M pasas el codigo? jejeje
Hola David! puedes tratar de fabricar un boton tu mismo con 2 cables (es muy sencillo). Te recomiendo que te pases por este video ( th-cam.com/video/JBvj6cAB6ck/w-d-xo.html ). Y aqui tienes el codigo!
//Canal de TH-cam -> RobotUNO
//Proyecto: Grua con servomotores
#include
//Definicion de los servos
Servo servo1;
Servo servo2;
int eje1=90;
int eje2=90;
void setup(){
servo1.attach(7);
servo2.attach(6);
servo1.write(90);
servo2.write(90);
}
void loop(){
//SERVO 1
if (analogRead(0)0){
eje1--;
servo1.write(eje1);
}
//SERVO 2
if (analogRead(1)0){
eje2--;
servo2.write(eje2);
}
delay(15);
}
@@RobotUNO Gracias, pero me as pasado el link de este mismo video xD. Por lo que no se que video es jeje, pero me interesa!
Hola buenas tardes! Saludos desde México. Me gustaría saber qué programa se utiliza para poder programar el brazo robótico, ya que estoy interesado en hacer un proyecto similar
Yo lo programo todo en el arduino ide oficial. Pero hay mas programas
Buenas no me funciona la programación alguna ayuda por favor?
@@javiercantalejo4681 ni a mi, no funcionan los pulsadores
Buenas noches, me gusta la explicación que das, me podrías pasar por favor el código de Arduino?
Muchas gracias Daniel!! Claro, aqui tienes el codigo
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
@@RobotUNO
Muchas gracias
Hola! buenos días será que tu podrías revisar el código es que a veces da movimientos involutarios y no me sirve los botones
hola me gusto mucho tu video me puedes ayudar con el código
Hola ROBOT UNO estupendo proyecto sencillo y económico mola mem puedes mandar el código porfa
Muchas gracias Cesar! aqui tienes el codigo
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
@@RobotUNOGracias tío por el código¡¡¡¡¡¡¡ de este modo se puede aprender mejor empezar en este mundillo es complicado jajajajaj¡¡¡¡¡¡¡
Muchas gracias cesar!
Hola, después de hacer todo eso, como puedo redicir el espacio que ocupan la protoboard por ejemplo para pasarlo a algo mas compacto y que no ocupe todo ese espacio?
podrias probar a realizar todas las conexiones dentro de la caja de abajo del robot y sacar los botones y todo por agujeros. Un saludo!
HOLA ME PODRIA PROPORCIOANR LA PROGRAMACION DE LA MEJORA CON BOTONES
esta chebre tu brazo robótico me gastaría saber tu código gracias
Ya lo monte pero al ponerlo a funcionar solo funciona uno de los motores o a veces ninguno, cada que lo reinicio sucede los mismo. Que podra ser?? gracias
Hola, por favor me podrías ayudar con una consulta, quisiera saber como conectar un sensor inductivo a un brazo para que solo recoja materiales metálicos
hola que tal estimado, me gusto mucho el video ahora mismo estoy realizando el proyecto , una consulta de casualidad de este proyecto tubieras el diseño en proteus
porfavor un saludo , gracias.
hola conseguiste el diseño en proteus?
Excelente video amigoo me podrías facilitar el código para hacer la practica.
descripcion
En vez del encoder, se puede utilizar un joystick?.
Claro que se puede!! pero cambian cosas en la programación. Quizá en una futura mejora se lo implemente! Un saludo Rob
Saludos. @@RobotUNO
buenas noches lo que pasa en que cuando pongo el codigo y le doy en verifcar me parece :
exit status 1
'STEPS' was not declared in this scope
te agredeceria tu ayuda
buen video
Parece un fallo en la programacion, te vuelvo a adjuntar el codigo por si acaso.
De todas formas comprueba que las librerias "Stepper.h" y "Servo.h" esten instaladas. Un saludo!
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
Hola, disculpe al parecer hay un error en el código, al momento te pasarlo me dice que hay un error y no se si sea la entrada ya que a otros compañeros si les pasó el código al Arduino pero solo mueve un servomotor y a otro solo el motor paso a paso, el código es el del link o es otro?
Hola me gusto el proyecto podrias pasarme el codigo de programacion gracias
esta bien explicado amigo gracias me ayuda . pero uisiera los codigos como me puede ayudar con eso por favor
hola podrias compartir el codigo ya estoy suscrito muchas gracias
Hola me gusto mucho me podrías pasar los códigos de programación
Por supuesto!! aqui lo tienes Jonathan
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
Exelente video y proyecto. Estuviera bien que hicieras uno pero en vez de botones usar jostick pero quedo muy bien
buenos dias. Excelente proyecto para realizar en estos tiempos de pandemia. Te consulto tenes el codigo del programa para pasar?
Buenos dias Daniel! y que lo digas, pero a ver si pasa rapido esto... Aqui tienes el codigo!
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
Ok gracias gracias 👍👍
Hola desde Chile muchas gracias.Muy didáctico el proyecto, por favor envíame el código
Claro! aqui lo tienes Roberto!
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
es bastante complejo, Muchas gracias.
Hola podrías darme el código de programación
Tu video me pareció muy interesante y e gustaría replicar ese brazo.
Hola amigo ya estoy suscrito, me darias el codigo y las librerias que tengo que descargar porfa amigo es para un trabajo de mi universidad eres increible.
Tienes un suscriptor más eh me gusto mucho tu proyecto me podrías pasar el código porfa..!!
Claro!!!!! aqui tienes el codigo! y bienvenido al canal :)
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
@@RobotUNO no me funciono el código no me funciona los botones
@@RobotUNO y si yo lo pongo en cualquier posición me funciona bien
disculpe estoy suscrito me puedes pasar los codigos de programación porfavor
Hola buenas bro. Es excelente me sirvió la mucho me puedes pasar el código?
Gracias
Tiene algo de negativo si le pongo una resistencia de 1/4? Que pasa si lo hago. Perdón, estoy aprendiendo y me salió la duda al tener resistencia de ese tipo.
no deberia de haber ningun problema
Hola amigo, me podrías pasar el cppodigo.
Excelente video
hola Robot UNO, muy buen trabajo, Genial!!!, por favor me puedes enviar el código? esta super
Muchas gracias! aqui lo tienes
//TH-cam -> RobotUNO
//BRAZO ROBOTICO 2.0
#include
#include
#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);
}
}
Hola broder que buen proyecto hiciste
Y también ya me suscribí
Una pregunta broder
Con que programa estas trabajando para hacer el proyecto osea me refiero a q aplicación estas usando para programar ?
mi hno muy buen video ... me podrías pasar el código por favor !!!
estoy suscrito . necesito el código por favor es urgente
Muy buen proyecto lo voy a mostrar en la escuela me podrias aser el favor de pasarme el codigo por favor
Hola buenas tardes, que buen video. me podrias pasar el codigo del proyecto para probarlo
Que tal brother ya me suscribi a tu canal muy bueno me gustaría el código para realizar este proyecto gracias
En la descripcion del video hay un link para descargar el codigo
Muy interesante proyecto. Me podrías pasar el código para probarlo?
Hola!! Me encantó el proyecto, podras enviarme el código por favor?
No hay problema si lo hago con un Arduino Leonardo???
Para nada, pero a lo mejor te toca modificar un poco el codigo
Gracias gracias, y una pregunta. Me podrías mandar un tipo diagrama para hacer ese proyecto soldando por fuera sin usar el protoboard????? Por favor
amigo como estas espero me puedas ayudar, al momento de girar el encoder , se mueve el motor a pasos y todo, pero mientras estoy girando la perilla , los servomotores dan impulsos y se mueven un poco , como movimientos involuntarios y es solo cuando uso el encoder sabes que puede ser ?
Prueba a alimentar los motores de forma externa, es decir, en vez de conectarlos a la placa de arduino, conectarlos a una fuente de alimentacion externa
@@RobotUNO Gracias por tu respuesta , Si ya lo hice pero de igual manera al girar el encoder se siguen moviendo los servomotores como que dan impulsos y eso provoca que si estoy agarrando algo se caiga, no se si se deba a algun problema en el codigo ? digo talvez puede ser