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
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? 👍
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!!!
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.
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
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!
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).
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
@Robot UNO excelente trabajo 👏🏼 me salvaste la vida para mi proyecto de la universidad, crees que me puedas apoyar a compartir tu programa! Te lo agradecería mucho 🙏🏼
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
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 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.
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 ( ua-cam.com/video/JBvj6cAB6ck/v-deo.html ). Y aqui tienes el codigo!
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!
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 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.
Muchas felicidades por su canal, excelente proyecto, me podría compartir el código por favor yo lo similares en proteus y lo diseñare en fritzing para mejor entendimiento de mis alumnos, estoy empezando con esto y es súper interesante, por favor, gracias.
Yo necesito saber cómo se hace el controlador del brazo del canal "muy fácil de hacer" porque no dice las medidas ni nada pero está muy bien hecho el suyo
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, 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?
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 ?
hola!!, excelente proyecto, me encanto mucho :) por favor me puedes pasar el código por favor? ya me suscribi y probablemente use más de tus proyectos muy buena explicacion :D
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
Buen video lo voy a realizar para un proyecto del colegio de mi hija
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 UA-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
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? 👍
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 ?
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!
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!!!
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 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
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
//UA-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
Fantastico . Estoy empezando y me gustaria recibir el programa que introduces al Arduino . Muchas gracias .
Muchísimas gracias !,
De nada Gustavo!
Me encanta el vídeo
Muchas gracias!! : )
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.
tienes un nuevo sub, me gusta mucho, y me seria util el codigo, :v
Gracias.
//UA-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!
Eh hola tengo una pregunta y es si era posible en ves de usar un encoder, reemplazarlo con un joystick o botónes
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!
//UA-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 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
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:
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).
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
Hola ya estoy suscrito, me puedes pasar el código de programación?
Comparte la programación saludos y muchas gracias
Tienes un link en la descripcion
puedo hacer este proyecto si tengo pulsadores de 2 pines
si! por supuesto
Muy bien video quería ver si me podrías pasar el código buena noche saludos exelente trabajo
hola me gusta el proyecto es bastante practico puedes compartir los codigos de programacion por favor
Que interesante estimado ..El código de arduino me lo puedes pasar
Hola, muy bien proyecto, me encantó, me puedes enviar los códigos por favor. Gracias
Claro!! aqui lo tienes
//UA-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 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
//UA-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);
}
}
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 UA-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 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.
@Robot UNO excelente trabajo 👏🏼 me salvaste la vida para mi proyecto de la universidad, crees que me puedas apoyar a compartir tu programa! Te lo agradecería mucho 🙏🏼
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
//UA-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 desde Chile muchas gracias.Muy didáctico el proyecto, por favor envíame el código
Claro! aqui lo tienes Roberto!
//UA-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 ROBOT UNO estupendo proyecto sencillo y económico mola mem puedes mandar el código porfa
Muchas gracias Cesar! aqui tienes el codigo
//UA-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!
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 : )
//UA-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
EXCELENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Ahora solo me falta el codigo :) me lo podrias dar amigo
Exelente video y proyecto. Estuviera bien que hicieras uno pero en vez de botones usar jostick pero quedo muy bien
Hola muy bueno el proyecto. Te solicito el código de prog. Gracias
Robot UNO me podrías pasar el código gracias
esta genial tu proyecto
Claro! aqui lo tienes
//UA-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 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
//UA-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 Robot UNO, muy buen trabajo, Genial!!!, por favor me puedes enviar el código? esta super
Muchas gracias! aqui lo tienes
//UA-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);
}
}
Excelente video amigoo me podrías facilitar el código para hacer la practica.
descripcion
Hola buenas bro. Es excelente me sirvió la mucho me puedes pasar el código?
Gracias
¿es necesario poner los mismos colores de los cables?
Excelente el proyecto y me interesaría poder hacer algo similar Si podés hacerme llegar algo de documentación muchísimas gracias y te
Muchisimas gracias gustavo, te dejo el codigo en el comentario de abajo
//UA-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);
}
}
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 :)
//UA-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
Hola esta interesnte tu video, acabo de suscribirme a tu canal, podrias psarme el codigo porfavor ya compre los componentes
Buenas disculpe el codigo de la tarjeta Anduino para la programación del braso robotico es necesario asi se utilice los botones
Hola, soy sub nuevo. Me ayudas con la codificación pero en mblock?
tengo una duda es que en ves de los botones quisiera implementarlo con app de bluetooth cual me aconsejarías usar o como implementarlo
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
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
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.
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 ( ua-cam.com/video/JBvj6cAB6ck/v-deo.html ). Y aqui tienes el codigo!
//Canal de UA-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!
buenisimo el video
esta bien explicado amigo gracias me ayuda . pero uisiera los codigos como me puede ayudar con eso por favor
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!
//UA-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 me gusto mucho me podrías pasar los códigos de programación
Por supuesto!! aqui lo tienes Jonathan
//UA-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 me gusto mucho tu video me puedes ayudar con el código
excelente explicacion, me comparte el codigo por favor
pregunta da lo mismo si tengo pulsadores con 2 patitas y no 4?
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! Gran proyecto está genial :)
Por favor me puedes comentar el código porfavor ya me suscribi gracias :D
Por supuesto! aqui tienes el codigo! y muchas gracias por tu comentario
//UA-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);
}
}
Te funciono?
mi hno muy buen video ... me podrías pasar el código por favor !!!
Hola podrías darme el código de programación
Tu video me pareció muy interesante y e gustaría replicar ese brazo.
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 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.
Muchas felicidades por su canal, excelente proyecto, me podría compartir el código por favor yo lo similares en proteus y lo diseñare en fritzing para mejor entendimiento de mis alumnos, estoy empezando con esto y es súper interesante, por favor, gracias.
En que software se pegua el codigo en tinkercad o en cual?
@@winmar1682 En Arduino IDE
Yo necesito saber cómo se hace el controlador del brazo del canal "muy fácil de hacer" porque no dice las medidas ni nada pero está muy bien hecho el suyo
buenas tardes, mis botones solo tienen dos pines entonces no importa si conecto los mismos cables a los unicos pines? porfavor necesito su respuesta
😁
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?
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!
esta chebre tu brazo robótico me gastaría saber tu código gracias
Hola!! Me encantó el proyecto, podras enviarme el código por favor?
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!
//UA-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 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 ?
Buen proyecto bro, una duda, como Sr llama la pieza donde conectas los motores porfa?
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 lo voy a mostrar en la escuela me podrias aser el favor de pasarme el codigo por favor
Está muy bien. Podrías compartir el código y los materiales?? Muchas gracias.
En la descripcion del video hay un enlace al codigo de programacion y a los materiales
Buenos vídeos de electrónica, me podrías proporcionar los códigos...
gracias espero tu respuesta
MUCHAS GRACIAS!! Aqui tienes el codigo
//UA-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 SOY NUEVÓ Y ME GUSTO TU CANAL EN ESPECIAL POR EL ECHO DE QUE EXPLICAS MUY BIEN PERO SI ME GUSTARÍA TENER EL CÓDIGO GRACIAS
GRACIAS!!!! aqui tienes el codigo daniel!
//UA-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
Muy bueno, te felicito, te agradecería me envies el código, saludos
Muchas gracias Luis. En la descripcion del video tienes toda la info
Muy buen video bro. Me podrias pasar el codigo por favor? Ya me suscribi, haces muy buenos proyectos ;)
buenos dias ... el codigo de la pagina es el mimso para que funcione el proyecto?
hola podrias compartir el codigo ya estoy suscrito muchas gracias
Hola amigo, me podrías pasar el cppodigo.
Excelente video
Ya estoy suscrito me podrías pasar los código de programación por favor gracias:)
Tienes un enlace en la descripcion
Muy buen proyecto
Muchas gracias!
Podrías ayudarme aec porque no me funciona
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
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?
que aplicación
utilizaste para el código
gracias
buen video, saludos cordiales
hola!!, excelente proyecto, me encanto mucho :)
por favor me puedes pasar el código por favor? ya me suscribi y probablemente use más de tus proyectos muy buena explicacion :D
Muchisimas gracias Estefania! Aqui tienes el codigo! Un saludo :)
//UA-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);
}
}
me sale error
@@EDSON0105 oye creo dice void isr creo es ahi
Hola buenas tardes, que buen video. me podrias pasar el codigo del proyecto para probarlo
Que buen proyecto está genial, me haces el favor de pasarme el código por favor
Claro!!
//UA-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);
}
}