Maravilloso !. SImplemente una clase magistral y con la claridad y precisión que sólo aquellos que dominan el tema, pueden entregar !. Saludos cordiales desde Santiago de Chile. Juan.
Excelente canal, muchas gracias por tan completas y claras explicaciones, este tema de los motores paso a paso me caen como "anillo al dedo" ya que estoy desarrollando un proyecto y con este video y el anterior quedaron aclaradas todas mis dudas, muy pronto quiero empezar estos videos de principio a fin, me encanta la claridad con la que se desarrollan todos los temas, de nuevo muchisimas gracias y un fuerte abrazo desde Medellín Colombia.
Amigo buenas noches comentarle que sus cursos de arduino me sirven de mucho y me siguen sirviendo, le agradezco mucho por esa paciencia que tiene, para enseñar, si tiene alguna cuenta para poder contribuir con algo avíseme. Yo me encargo de la fabricación de generadores con imán permanente ya casi llevo fabricando 15 años, y con el tiempo me ise un circuito sencillo para mis generadores que los utilizo también como motores para motos eléctricas y compresores de 12 y 60 voltios para el campo y como aerogeneradores también, pero siempre tuve el problema con la contraelectromotriz en el gatillo de los mosfet, pero gracias al circuito del ULN2003 pude mejorar bastante el circuito y controlar las velocidades mucho mas precisas que antes. Un saludo
Me encantan tus videos.. los uso como guía para todo mis proyectos... recientemente hice una cnc casera con estos motores y las 3 rpm me eran muy lentas... probé con 6 y siguieron reapondiendo a la perfección
muchas gracias , sos el unico que explico el misterio es la unica vez que puedo hacer andar en ambos sentidos con la libreria stepper, me suscribi y pulgar pára arriba no sabes lo valiosa que fue tu ayuda para mi .
Felicidades por las excelentes explicaciones que todo el mundo puede entender ( por lo menos yo; y muchos como yo, creo ) que no tenemos ni idea, y empezamos a adentrarnos en el mundo de Arduino. Siga así , por favor . Acabo de empezar en este mundo de Arduino para darle un poco de vida a una maqueta RC, de un barco de la segunda guerra mundial. Seguiré como usted dice, intentando entender el porqué de cada acción, en vez de hacerlo sin saber el porqué. Un saludo
El mejor curso didáctico de Arduino que he visto gracias, sin desmerecer a los otros que también son hermosos, por favor tu excelente trabajo podrías subirla en presentación de ppt o pdf , de repente seria mucho pedir muchísimas gracias estoy para servirte.
Hola Jaime, gracias por el comentario, se aprecia. Generar un archivo pdf o presentación es bastante trabajoso ya que primero realizo la locución y luego sincronizo con capturas de pantalla y video, pasar todo el contenido a imágenes fijas y texto que corresponda a lo mostrado lamentablemente me llevaría demasiado tiempo. Se que para muchos tener el material en formato de texto e imágenes es mejor pero básicamente es elegir hacerlo de esa manera o un video, hacer ambos me consumiría un tiempo inmenso. Saludos
Felicidades por los vídeos. Te animo a seguir adelante para los que queremos aprender Arduino. La mayoría de los tutoriales en Internet dan por sabido conceptos que los que comenzamos no sabemos. Te felicito por tu didáctica explicación
Felicitaciones, estoy haciendo una plataforma giratoria para un escáner, y todo el día lo perdí buscando tutoriales y no me funcionaba el driver 24BYJ-48 (PAP unipolar) y ULN2003, por un pequeñísimo error que resaltaste y corregiste en el código y que todos los videos que vi tienen el mismo error y es la asignación de los pines (IN1-8, IN2-9, IN3-10, IN4-11), gracias por desatascas me.
Excelente explicación, no te puedo decir cada vez mejor. Porque venís manteniendo esta excelencia desde el primer capitulo. GRACIAS COMO SIEMPRE... Salu2 No le aflojes por favor seguí subiendo videos
magnifico esplicas muy bien paso a paso lo que se tiene que hacer con los motres de este tipo gracias por el aporte amigo , como dije antes muy bien explicado me quedo calirito como el agua , apureba de jajaja
Simplemente decirte que este vídeo y el anterior son unos de los que más me han gustado de todos los que he visto hasta el momento. Tiene mucha utilidad para aplicaciones industriales. Será interesante practicar realizando un ejercicio con el 4° programa que has hecho en este capítulo junto con el de bluetooth. Un saludo.
Muy buen video!. Mi 28BYJ-48 vino con un pcb del ULN2003 un poco diferente ya que el integrado, los leds y las resistencias son SMD y ademas intercambiando los pines 9 y 10 no me funcionaba por lo que los deje con el orden anterior. Los 3 RPM me parecia muy lento y probando pude llegar a 9 RPM sin perder pasos
buenas tardes soy leandro ortiz y no es que me preocupe mucho es que aqui en Galicia no me sale el codigo de todos los videos tutoriales yo los estoy escribiendo a mano es un poco mas lento pero es mejor para quedarme como funciona el codigo a unos les cuesta menos y a otros como a mi nos cuesta mas Muy bien hechos los videotutoriales me encantan como lo has trabajado Felicidades
Hola, gracias por el comentario, el enlace al repositorio de Github con los códigos de todos los capítulos se encuentra en la zona de descripción. Saludos
¡Muy buen video!!! , le agregue este código a otro que vengo utilizando con bluetooth, pero se quedan encendidas los leds A y C, y el giro hay veces que no cambia de dirección.
Hola, tenía el problema de que cuando pongo que mi motor 28BYJ-48 gire en sentido opuesto, no gira aunque sí vibra. No me funciona ni con la librería stepper ni con la matriz.
Buenos días Dirás , ¡ ya viene el pelma otra vez para que le solucione la vida! , no tanto como eso ; pero sí. He probado con las funciones del cap. 12, y 20 , pero la primera es ¿ intensidad ?y la segunda de ¿ velocidad ?, (igual se pueden utilizar y no lo consigo ), pero me hace falta una que me seleccione un motor, de 4 ( dentro de ellos ya tengo todo configurado para que se muevan los grados que yo quiero); por separado hacen lo que les mando. Me falta poder seleccionar uno en concreto y que me responda como le mando. Como parece que tienes muchas paciencia ( por lo menos con un inepto como yo, aunque he conseguido hacer mucho), si me puedes echar una mano ( o las 2 ) , te lo agradezco de corazón . Y sino también. Eres el primero que se digna en contestar y explicar, el 99´9 % contestan evasivas. Un saludo , att.: Pello
Hola, no es molestia. El capítulo 12 utiliza un LED RGB mediante la función analogWrite() para establecer el brillo de cada uno de sus componentes y así lograr distintos colores, estoy un poco perdido en el sentido para tu caso con los motores. Por su parte el capítulo 20 trata del motor de continua mediante el controlador L298N que no es para motores paso a paso y segun entiendo tu consulta inicial era sobre motores PAP. El control de motor de continua como el del capitulo 20 es muy distinto que el paso a paso, con este último es que se logra una gran precisión y torque. Creo que lo primero que debes considerar es el tipo de motor a utilizar, si es paso a paso el unipolar 28BYJ-48 es pequeño y económico pero el driver ULN2003 requiere de 4 conexiones a pines de digitales de Arduino, con lo cual 4 motores llevarán 16 conexiones. Un motor bipolar como el del capítulo 33 es más grande y pesado pero se puede controlar con mayor facilidad con el driver A4988 que solo requiere de dos lineas de conexion (step y dir) con lo cual 4 motores se pueden controlar con solo 8 lineas. Saludos
Hola desde EspañaDeseo felicitarte por la excelencia de tu curso.Es muy didáctico sin ser pesado y las imágenes están muy cuidadas.Sin dudo el mejor de internet sobre Arduino.Para cuando mas capítulos, cual es el plan de continuidad?Gracias
Gracias Alberto por tu comentario, se aprecia. En breve espero poder publicar más contenido sobre temas que forman parte de la serie "desde cero" para luego hacer proyectos completos (y más complejos). Saludos
Excelente explicaciónes me han ayudado mucho, me gustaría que me ayudaras en un pequeño problema que tengo... Tengo que controlas 6 motores a pasos, pero para ocupar demasiados botones, estaba tratando de hacer un programa con lo cual sea un botón para avanzar, uno para retroceder y un botón de cambio de motor... Por más que eh intentado no eh podido
Hola, gracias por el comentario. Como todo proyecto requiere tiempo, prueba y error. Puedo recomendar que simplifiques todo el proceso y comiences de a poco, por ejemplo en vez de activar cada motor simplemente escribir en el monitor serie el número del motor que se estaría activando con cada pulsación, de esa manera podras ver si todo va funcionando, cuando tengas todo probado en el monitor serie podrás pasar a conectar los drivers y motores. Saludos
Nuevamente muchas gracias por tan fantástica información, brillante docente!. Puedo hacerte una consulta?: puedo controlar con el monitor serie dos motores paso a paso, dándole información diferente a cada uno (uno traccionando las ruedas traseras y otro controlando el volante)?. Gracias !!
Gracias por el comentario, efectivamente es posible pero ya requiere de una programación algo más compleja y excede el propósito de explicar el principio de funcionamiento del motor y un ejemplo simple para su rápida implementación. Saludos
buenas, como andas. te hago una consulta. viste q en el cuarto programa decis q quedan 2 bobinas energizadas. esto afectara al motor con el paso del tiempo ? porque la verdad que para lo que lo tengo que usar . me viene joya que quede haciendo fuerza. porque el motor tiene que mover un freno y con la fuerza del mismo se iria para atras. pero al energizado eso no pasaria. que opinas? Muchas gracias por tus cursos . son los mejores lejos
Hola, no hay problema en energizar de a dos bobinas, igual no es un motor para hacer mucha fuerza con engranajes plásticos asi que dependerá lo que le conectes como carga. Saludos
Wooow al fin encuentro a alguien q explica las cosas pasó a paso genial video amigo. Tengo una duda soy nuevo en eso de arduino pero nose como guardar un codigo en la placa arduino y que lo recuerde después de desconectarlo de la laptop por favor si me puedes ayudar eso te agradecería mucho
Hola Tony, gracias por el comentario, me alegro que encuentres el material de utilidad. En el próximo capítulo 39 se estara viendo como trabajar con la memoria EEPROM incorporada para almacenar información que sobrevive un reinicio. Saludos
Gracias por el comentario, hay infinidad de proyectos para hacer, quedan aún ver algunas cuestiones básicas que forman parte de la serie "desde cero", luego ya vendrán proyectos más completos y complejos. Saludos
Gracias por el comentario, la función delay() acepta un número expresado en milisegundos pero puede ser muy grande si es necesario. Para extensiones de tiempo largas existen otras funciones y métodos. Saludos
Hola, para hacerlo girar al revés no bastaría con cambiar de orden así: digitalWrite(IN4, paso[i][0]); digitalWrite(IN3, paso[i][1]); digitalWrite(IN2, paso[i][2]); digitalWrite(IN1, paso[i][3]); y dejarlo exactamente como en el código del video anterior? Hay algún problema si se hace así?
Excelente video me gustaria que me ayudases quiero que al introducir un numero de pasos en el monitor siguiera el motor girando con ese numero de pasos introducido de manera continua con un delay entre maniobra. un saludo
Antes de nada, reiterar el agradecimiento y las felicitaciones por tu trabajo. Luego, una cuestión: ¿Que software usas para realizar los esquemas en 3D? ¿Por casualidad es CADe Simu? Gracias.
Hola, gracias por el comentario, el único programa que utilizo es el Fritzing para hacer los diagramas prolijos, a nivel simuladores no utilizo ninguno. Saludos
nuevamente felicitaciones, fantástico curso. Por favor podrán responderme una pregunta: pude subir "mi primer proyecto arduino"sin inconvenientes. Cuando intento subir un segundo proyecto utilizando monitor serie me aparece un error : "Ha ocurrido un error mientras se enviaba el sketch. avrdude: ser_open(): can't open device "\\.\COM3": El sistema no puede encontrar el archivo especificado. (Arduino:1.8.12 (Windows 7), Tarjeta:"Arduino Uno" . Muchas gracias.
Hola, gracias por la visita, ese mensaje refiere a un error de comunicación entre la computadora y la placa, tendrás que revisar la conexión USB y que se encuentre seleccionado el puerto COM correcto. Saludos
Muchas gracias. Estoy empezando con el aprendizaje de programación y sus videos son muy buenos. Me gustaría construir un pequeño brazos robótico como proyecto de hobbie. Así mi pregunta es. ¿Cómo puedo generar un interfaz hombre maquina con el que pueda interactuar introduciendo coordenadas polares, cilíndricas o cartesianas? utilizando
muy bueno, pregunto: si quiero controlar tres motores de pasos, hay que hacer alguna otra corrección en la secuencia de asignación de los pines (tal como se hizo en el ejemplo que hubo necesidad de invertir pin 9 y pin 10 en la declaración)
Hola, excelente video. Ocupo que el motor gire pero en base a colores. Por ejemplo, yo ingreso al monitor serial verde y que gire 60°, si pongo rojo que gire 120°. ¿En qué parte del programa tengo que declarar estas variables?
Gran video, solo quería hacer una consulta, que programa estas usando para el esquema, yo estoy usando Fritzing pero no aparece ni el motor de paso, ni el driver del mismo. Gracias. Espero puedas responderme.
Hola, si n bien la librería de componentes incluídas en el Fritzing es amplia no tiene todos los sensores o dispositivos existentes, aquellos que no estén los podrás buscar en la web como archivos con extensión fzpz Saludos
Hola, sigo tus vídeo tutoriales desde el capítulo uno de arduino desde cero, y me está ayudando mucho, haces una labor fantástica, no dejes de hacerla. Tengo una duda, ¿se pueden averiguar los pasos de un motor cuya característica de pasos por vuelta completa desconocemos?. Gracias desde España
Hola, gracias por el comentario, se aprecia. Si no es posible obtener información del modelo entonces podrás hacer un programa que aplique por ejemplo 100 pasos y luego medir el ángulo de giro, y por regla de tres simple podrás obtener el ángulo de cada paso. Si 100 pasos generaron un giro de 180 grados, entonces tendrás un ángulo de 1,8 grados por paso. Saludos
hola!! muy buen video, queria preguntar como puedo alimentar este proyecto con una fuente de alimentacion atx, tengo dudas de si se puede conectar la fuente directamente a la placa de arduino, o si debo conectar al driver. gracias.
Hola, a un pulsador podrías aplicar la acción de mover en sentido horario por ejemplo 20 pasos con motor1.step(20) y a otro pulsador misma cantidad de pasos en sentido opuesto con motor1.step(-20) Saludos
Quito Ecuador.hola. sinceros saludos,te deseo el próximo año mucha felicidad y éxito. seria una gran sorpresa tu excelente trabajo en PDF. un favor muy grande podrias poner una guía de la cámara de video,gracias
Hola, cada driver ULN2003 requiere el uso de 4 pines digitales y no hay ningún requisito especial asi que para varios motores es solo cuestión de usar cualquier otros 4 pines para cada driver disponibles en la placa. Saludos
quería saber si a una placa Arduino uno puedo conectarle, un driver l293d para dos motores dc y un driver uln2003 para un motor pap, en la misma placa, gracias
exelente canal, me esta ayudando muchisimo en mi facultad para diversos proyectos, una consulta, para que el motor de a vuelta completa en la parte de motor1.step , debo poner 2048? de esa manera va a dar vueltas de manera interrumpida? espero sus respuestas! un saludo!!!!
Hola Juan, gracias por el comentario. El motor paso a paso no funciona de manera continua, se le indica la cantidad de pasos que debe realizar y luego se detiene, si le das que realice 2048 pasos tendras un giro completo de 360 grados y se detiene, claro esta que podrás repetir la operación cuantas veces necesites. Saludos
Buenas noches: Primero de todo; !!!! AGRADECERTE EL GRAN TRABAJO QUE ESTAS REALIZANDO ¡¡¡¡¡¡;; y ahora entro en cuestión. Ya he conseguido controlar los motores PaP unipolar mediante el bluetooth, lo único que me falta es ponerles un " FINAL DE CARRERA " no lo he conseguido con los comandos que pones en los videos.( igual me falta algún video , o se me ha cruzado alguna cosa,,,,,,,) . Si me puedes ayudar POR FAVOR, esto es lo que me gustaría que hiciesen los motores : MAXIMO de giro a derecha = 135º ( 768 pasos); MAXIMO de giro a izquierda = - 135º ( - 768 pasos); NEUTRO =========== 0º ( puede ser : ¿ 0 mín . , 1536 máx . , 768 neutro? pero no lo consigo). No consigo esa conversión. Seria : MINIMO: - 135º ( - 768 pasos ) ; MAXIMO: + 135º ( 768 pasos) ; NEUTRO: 0º. Me haría falta conseguir que no sobrepasen esos grados de máx, y min. . Lo he intentado de mil formas ( 999 veces ) pero no lo consigo. La placa es ATMEGA 2560 R3 Te pego el código que he conseguido que me funcione: ( igual se puede simplificar, pero es a todo lo que he llegado de momento): #include // Libreria del BLUETOOTH. #include // Libreria del MOTOR. SoftwareSerial miBT(11, 12); // Conexiones del BLUETOOTH. char DATO = 0; // Caracter inicial del BLUETOOTH. Stepper ANTON(2048, 22, 9, 8, 10); // Velocidad y conexiones del MOTOR1. Stepper BRUNO(2048, 23, 6, 5, 7); // Velocidad y conexiones del MOTOR2. void setup(){ miBT.begin(38400); // Comunicacion del BLUETOOTH. ANTON.setSpeed(3); // Velocidad del MOTOR1. BRUNO.setSpeed(3); // Velocidad del MOTOR2. } void loop(){ if (miBT.available()){ // Lee BT ( movil ) y envia a Arduino. DATO = miBT.read(); // Lee el " numero " introducido del movil ( app ). if (DATO == '1') // Púlso '1' ; para mover MOTOR1. Se mueve 15º a DERECHA, con una pulsacion. Manteniendo gira // hasta soltar boton. ANTON.step(85); // Angulo de giro = 15º. digitalWrite(22, LOW); // Apaga el pin (MOTOR1), digitalWrite(9, LOW); // Apaga el pin (MOTOR1), digitalWrite(8, LOW); // Apaga el pin (MOTOR1), digitalWrite(10, LOW); // Apaga el pin (MOTOR1), los 4 pines del MOTOR1. if (DATO == '2') // Púlso '2' ; para mover MOTOR1. Se mueve 15º a IZQUIERDA, con una pulsacion. Manteniendo gira // hasta soltar boton. ANTON.step(-85); // Angulo de giro = - 15º. digitalWrite(22, LOW); // Apaga el pin (MOTOR1), digitalWrite(9, LOW); // Apaga el pin (MOTOR1), digitalWrite(8, LOW); // Apaga el pin (MOTOR1), digitalWrite(10, LOW); // Apaga el pin (MOTOR1), los 4 pines del MOTOR1. if (DATO == '3') // Púlso '3 ;' para mover MOTOR2. Se mueve 15º a DERECHA, con una pulsacion. Manteniendo gira // hasta soltar boton. BRUNO.step(85); // Angulo de giro = 15º. digitalWrite(23, LOW); // Apaga el pin (MOTOR2), digitalWrite(6, LOW); // Apaga el pin (MOTOR2), digitalWrite(5, LOW); // Apaga el pin (MOTOR2), digitalWrite(7, LOW); // Apaga el pin (MOTOR2), los 4 pines del MOTOR2. if (DATO == '4') // Púlso '4' ; para mover MOTOR2. Se mueve 15º a IZQUIERDA, con una pulsacion. Manteniendo gira // hasta soltar boton. BRUNO.step(-85); // Angulo de giro = 15º. digitalWrite(23, LOW); // Apaga el pin (MOTOR2), digitalWrite(6, LOW); // Apaga el pin (MOTOR2), digitalWrite(5, LOW); // Apaga el pin (MOTOR2), digitalWrite(7, LOW); // Apaga el pin (MOTOR2), los 4 pines del MOTOR2. } } Un saludo; Pello
Hola, podrias almacenar en una variable la cantidad de pasos que realizan los motores y antes de usar la función step() con un simple bloque if verificar si la cantidad de pasos esta dentro de rango, también se pueden usar topes mecánicos mediante microswitch, y verificar si se ha llegado a algun limite si alguno de ellos se acciona. Saludos
Hola, tendrás que conectar cada motor con su correspondiente driver a pines digitales y luego ir intercalando el envío de la cantidad de pasos que debe realizar cada uno. Saludos
buenas, gran video, solo me queda una duda para poder hacer hacer que el motor de más de una vuelta solo tengo que sumar por arriba de 2048, o sea se puede hacer o solo tiene la rotacion de 360º gracias
Gracias por el comentario, correcto, también para no trabajar con números muy grandes podrás hacer un simple bucle for() que repita la acción la cantidad de veces necesaria. Saludos
Buenas noches: Sigo alabando tú trabajo desde que empecé en este mundo, y si me permites te sigo preguntando: --- ¿ es mucho forzar conectar 2 motores PaP unipolar de 5V. a los mismos pines ? ; funcionar , funcionan....si no estoy equivocado, ó lo he malinterpretado, son 52 mA. ( no sé, si por motor o por pin ) y las salidas de Arduino dan 500 mA. creo . Muchas gracias por todo, un saludo: Pello
Hola, el consumo generalmente esta dado por fase (por bobina), se pueden conectar dos motores en paralelo sin son los 28BYJ-48, debes tener en cuenta que el consumo depende también de la fuerza que deba hacer el motor y que la fuente que alimenta al controlador brinde lo necesario. Los 500 mA que haces mencion es del ULN2003, los pines digitales de Arduino solo deben utilizarse para manejar lógica. Un saludo
Muchas gracias Eres un rayo, se agradece todo el esfuerzo y dedicación. Ya voy configurando poco a poco lo que tengo en mente gracias a tus tutoriales, y ayuda " personalizada " ( no se puede describir de otra forma ). A ver si llega a buen puerto. Sí, los motores son los que mencionas con ULN2003. Problemas de fuerza no va tener, serán unos 50 gr. Tengo intenciones de moverlos con una batería de unos 7 V. , y 2 A. (+ - ). Espero que sean ( a ver si lo consigo ) : 4 motores, 4 led, 2 receptores IR. Ahora lo estoy haciendo con Arduino UNO , estoy esperando que me llegue la placa 2560, por si acaso... De momento no voy por mal camino.....ya veremos como terminan los " pájaros " de la cabeza. Un saludo, att: Pello
No se si habra algun error en la libreria. Todo me funciona como se ve en el video, excepto por el cambio en direccion. Indiferentemente de que tenga el negativo adelante del valor de los pasos o no, siempre mi motor gira en la misma direccion.
Hola, lamentablemente no sabría indicarte cual puede ser el problema, ya que efectivamente un a cantidad "negativa" de pasos debe hacerlo girar en sentido opuesto. Podrás probar no usando la librería como se explica en el capítulo 30 y el cambio de sentido a final de este 31. Saludos
Estoy haciendo algo mal... Uso un Wemos D1 mini y no hay modo q funcione correctamente la librería stepper. Usando el código del capítulo 30 va de una, pero con los ejemplos de este capítulo el motor hace un stop cada ponele 15º y sigue. Tampoco hace el giro contrario. Puedes ayudarme?
Hola, lamentablemente no sabría indicarte ya que el curso se basa en placas de Arduino y no en ESP8266, si bien este último se puede programar con el IDE de Arduino el hardware es diferente. Tendrás que buscar información especifica del ESP. Saludos
puedo poner push botons para controlar la velocidad del motor algo asi como baja y en el set speed pondra 1 y otro pushbutton un alta y pone un 3 ? otra pregunta ocupo a fuerzas alimentarlo externamente ? es que no tengo el conector ese que pones en el video , le pasa algo al arduino si saca el voltaje de la lap?
Hola, claro que podrás hacer que la acción de presionar un botón llame a la función setSpeed(), es conveiente usar una fuente externa pero podrás omitirla si no hay opción y drenar toda la corriente del puerto USB de la computadora. Saludos
No se quien me podría ayudar, quiero controlar 2 motores paso a paso 28BYJ-48 con el controlador Motor Shield L293D, para realizar un brazo robotico para dibujo de figuras geométricas y mi consulta es si normal puedo emplear la libreria Stepper para este controlador, ya que e visto que programan el controlador con la libreria AccelStepper o la libreria Adafruit Motor Shield, pero lo usan para controlar solo servomotores y no encuentro un codigo que me enseñe como usarlo para el control de los 2 motores paso a paso.
Una pregunta ¿existe la posibilidad de controlar 2 paso a paso de forma independiente? Por ejemplo, ingresar al monitor serie un valor de 50 grados para el motor a y uno de 120 para el motor b
Hola, felicidades, esperando me pueda ayudar, cómo sería para con una entrada (un switch) seleccionar una cantidad de pasos, o varios SW para posicionarse en diferentes puntos de la vuelta y con otro SW volver a la posición original, o cero? Gracias
Hola, Estoy intentando definir 3 posisciones y que el motor vaya y vuelva al punto 0. Todo controlado por el monitor serial pero no lo consigo. Me gustaria saber si puedes ayudarme con el codigo. He conseguido que arranque pero pasa por las 3 posiciones continuamente. Y con otro codigo he conseguido que haga 1 solo movimiento y pare pero siempre en el mismo sentido y el mismo numero de pasos. He probado con mas de 12 codigos y ya no se que mas probar. Gracias, un saludo.
Hola, es importante comprender el código ya que sino se tienen comportamientos que no son los deseados. El motor paso a paso no tiene una posición absoluta, es siempre relativa, de manera que no hay punto cero. Lo que se suele hacer es mecánicamente definir un punto como el inicial y colocar un interruptor, de manera que cuando se inicia el programa (en el setup() por ejemplo) lo primero que se hace es girar hasta detectar que se hizo tope con el interruptor y ese será el origen o punto cero y desde allí se toman los pasos que requiere la aplicación. Saludos
Hola, el programa es el Fritzing pero no emula el funcionamiento de la placa, no utilizo simuladores con lo cual no puedo orientarte en ese tema. Saludos
Hola, busqué dicho modelo en la web ya que lo desconozco y por lo que pude ver funciona con 12 V con lo deberás tener en cuenta par alimentar el driver, el tema cantidad de pasos no estoy seguro que sean 2048 pero eso lo podrás obtener de la práctica haciéndolo girar y ver la cantidad que requiere para un giro completo. Saludos
Hola que tal, Queria preguntarte que motor es el mas rapido, necesito un giro de 90ª en 0,2 segundo (como poco). No tiene que hacer ninguna fuerza solo mover un pequeño carto Saludos.
Hola, gracias por el comentario. Será cuestión que conectes el driver en otros cuatro pines digitales que tengas libres y generar un segundo objeto, por ejemplo: Stepper motor2(2048, 4, 6, 5, 7); Y luego usar las mismas funciones vistas pero con "motor2" Saludos
gracias por tu pronta respuesta, afirme es asi, solo que estaba conectando en el motor en unos pines que no había declarado , muchisimas gracias maquina.
Hola necesito ayuda con un problemita, necesito que cuando el motor de la cantidad de pasos establecidos deje de girar, es decir no puedo poner el programa como lo pusiste para que desde el monitor serie se indique la cantidad de pasos, no, necesito que la cantidad de pasos este fija en el codigo del arduino, pero no tengo idea como hacer para que se detenga. Ayudame, Gracias
Hola, al paso a paso hay que darle la cantidad de pasos que debe realizar, se detiene una vez los realice pero si el código está dentro del loop() sin ninguna condición entonces se repetirá constantemente, la cantidad de pasos debería estar dentro de un condicional, por ejemplo si se presiona un botón que de cierta cantidad de pasos, lo hará y se detiene hasta que se presione nuevamente. Saludos
Maravilloso !. SImplemente una clase magistral y con la claridad y precisión que sólo aquellos que dominan el tema, pueden entregar !.
Saludos cordiales desde Santiago de Chile. Juan.
Excelente canal, muchas gracias por tan completas y claras explicaciones, este tema de los motores paso a paso me caen como "anillo al dedo" ya que estoy desarrollando un proyecto y con este video y el anterior quedaron aclaradas todas mis dudas, muy pronto quiero empezar estos videos de principio a fin, me encanta la claridad con la que se desarrollan todos los temas, de nuevo muchisimas gracias y un fuerte abrazo desde Medellín Colombia.
Genial, me alegro que el material sea de utilidad.
Un saludo
Amigo buenas noches comentarle que sus cursos de arduino me sirven de mucho y me siguen sirviendo, le agradezco mucho por esa paciencia que tiene, para enseñar, si tiene alguna cuenta para poder contribuir con algo avíseme. Yo me encargo de la fabricación de generadores con imán permanente ya casi llevo fabricando 15 años, y con el tiempo me ise un circuito sencillo para mis generadores que los utilizo también como motores para motos eléctricas y compresores de 12 y 60 voltios para el campo y como aerogeneradores también, pero siempre tuve el problema con la contraelectromotriz en el gatillo de los mosfet, pero gracias al circuito del ULN2003 pude mejorar bastante el circuito y controlar las velocidades mucho mas precisas que antes. Un saludo
Me encantan tus videos.. los uso como guía para todo mis proyectos... recientemente hice una cnc casera con estos motores y las 3 rpm me eran muy lentas... probé con 6 y siguieron reapondiendo a la perfección
Genial, gracias por el comentario.
Saludos
muchas gracias , sos el unico que explico el misterio es la unica vez que puedo hacer andar en ambos sentidos con la libreria stepper, me suscribi y pulgar pára arriba no sabes lo valiosa que fue tu ayuda para mi .
Genial, me alegro que el material haya sido de utilidad.
Saludos
Felicidades por las excelentes explicaciones que todo el mundo puede entender ( por lo menos yo; y muchos como yo, creo ) que no tenemos ni idea, y empezamos a adentrarnos en el mundo de Arduino.
Siga así , por favor .
Acabo de empezar en este mundo de Arduino para darle un poco de vida a una maqueta RC, de un barco de la segunda guerra mundial. Seguiré como usted dice, intentando entender el porqué de cada acción, en vez de hacerlo sin saber el porqué.
Un saludo
Gracias por el comentario y compartir tu opinión. Saludos
El mejor curso didáctico de Arduino que he visto gracias, sin desmerecer a los otros que también son hermosos, por favor tu excelente trabajo podrías subirla en presentación de ppt o pdf , de repente seria mucho pedir muchísimas gracias estoy para servirte.
Hola Jaime, gracias por el comentario, se aprecia. Generar un archivo pdf o presentación es bastante trabajoso ya que primero realizo la locución y luego sincronizo con capturas de pantalla y video, pasar todo el contenido a imágenes fijas y texto que corresponda a lo mostrado lamentablemente me llevaría demasiado tiempo.
Se que para muchos tener el material en formato de texto e imágenes es mejor pero básicamente es elegir hacerlo de esa manera o un video, hacer ambos me consumiría un tiempo inmenso.
Saludos
Felicidades por los vídeos. Te animo a seguir adelante para los que queremos aprender Arduino.
La mayoría de los tutoriales en Internet dan por sabido conceptos que los que comenzamos no sabemos.
Te felicito por tu didáctica explicación
De todos modos estoy agradecido con usted por su valioso aporte.
Felicitaciones, estoy haciendo una plataforma giratoria para un escáner, y todo el día lo perdí buscando tutoriales y no me funcionaba el driver 24BYJ-48 (PAP unipolar) y ULN2003, por un pequeñísimo error que resaltaste y corregiste en el código y que todos los videos que vi tienen el mismo error y es la asignación de los pines (IN1-8, IN2-9, IN3-10, IN4-11), gracias por desatascas me.
Genial, gracias por el comentario.
Saludos
Excelente explicación, no te puedo decir cada vez mejor. Porque venís manteniendo esta excelencia desde el primer capitulo. GRACIAS COMO SIEMPRE... Salu2
No le aflojes por favor seguí subiendo videos
Gracias por el comentario.
Saludos
Excelente muy didactico , te felicito por la paciencia y el querer compartir. Gracias....
Gracias por el comentario.
Saludos
magnifico esplicas muy bien paso a paso lo que se tiene que hacer con los motres de este tipo gracias por el aporte amigo , como dije antes muy bien explicado me quedo calirito como el agua , apureba de jajaja
!!FANTASTICA explicación y Muy Buen Material para aprender.
Simplemente decirte que este vídeo y el anterior son unos de los que más me han gustado de todos los que he visto hasta el momento. Tiene mucha utilidad para aplicaciones industriales. Será interesante practicar realizando un ejercicio con el 4° programa que has hecho en este capítulo junto con el de bluetooth. Un saludo.
De acuerdo, gracias por la sugerencia.
Saludos
Eres genial explicando y muy ordenado, gracias
Gracias por el comentario. Saludos
Muy buen video!. Mi 28BYJ-48 vino con un pcb del ULN2003 un poco diferente ya que el integrado, los leds y las resistencias son SMD y ademas intercambiando los pines 9 y 10 no me funcionaba por lo que los deje con el orden anterior. Los 3 RPM me parecia muy lento y probando pude llegar a 9 RPM sin perder pasos
Gracias por el comentario y compartir tu experiencia, efectivamente hay drivers con el ULN2003 en formato SMD, tema pines y RPM lo desconocía.
Saludos
Sin dudas el mejor canal sobre arduino.. muchas gracias
Vine buscando plata y encontré oro!. Gracias genio
Genial, me alegro, gracias por la visita. Un saludo
Gracias.Que increíble, saludos desde Quetzaltenango, Guatemala.
Gracias David por el comentario. Saludos
Buenos días gracias por compartir tus conocimientos y enseñanzas excelentes todos tus vídeos. Te deseo lo mejor para el próximo año.
Gracias Alberto por el comentario y felices fiestas. Saludos
Gracias por la información valiosa, eres grande ♥
Más que claro!... Excelente explicación muy detallada por cierto 😊.
Gracias por tu apoyo en conocimiento, lo puedo hacer funcionar con un pulso de entrada
Hola, correcto, no si deseas un microcontrolador colocando cada pin en secuencia a un nivel lógico alto.
Saludos
16:30 me as salvado nunca se me había ocurrido como apagar el steper
Genial, saludos
Gracias por la oportunidad de aprende com tu canal, bien explicada informacion
Muy útil i genial como siempre. Muchas gracias
Gracias por la visita y el comentario.
Un saludo
Felicitaciones por su magnífico curso de Arduino.Muchas gracias.
Gracias por el comentario. Saludos
Maravilloso contenido, muchísimas gracias profe!!
Gracias por el comentario y la visita.
Saludos
tu si haces dar ganas de aprender
master!!!
siempre me ayudan tus videos
Genial, me alegro.
Un saludo
Excelente trabajo, Mil felicitaciones
Gracias Edgar por el comentario. Saludos
buenas tardes soy leandro ortiz y no es que me preocupe mucho es que aqui en Galicia no me sale el codigo de todos los videos tutoriales yo los estoy escribiendo a mano es un poco mas lento pero es mejor para quedarme como funciona el codigo a unos les cuesta menos y a otros como a mi nos cuesta mas Muy bien hechos los videotutoriales me encantan como lo has trabajado Felicidades
Hola, gracias por el comentario, el enlace al repositorio de Github con los códigos de todos los capítulos se encuentra en la zona de descripción.
Saludos
GRACIAS HERMANO espero sigas haciendo vídeos gracias por toda la información ;)
Te felicito. Sigue con tu curso.
Gracias por tu comentario. Saludos
siempre que necesito algo lo tienes, Muchas Gracias!!!!
Genial, saludos
Sos un genio loco! Gracias por tus videos
¡Muy buen video!!! , le agregue este código a otro que vengo utilizando con bluetooth, pero se quedan encendidas los leds A y C, y el giro hay veces que no cambia de dirección.
muchas gracias por tu clase de arduino
Gracias por el comentario. Saludos
Gracias por la clase.
Gracias por el comentario y la visita.
Saludos
Gracias por tus videos.. son mas que utiles
Gracias por el comentario.
Saludos
Hola, tenía el problema de que cuando pongo que mi motor 28BYJ-48 gire en sentido opuesto, no gira aunque sí vibra. No me funciona ni con la librería stepper ni con la matriz.
Ya Extrañaba tus videos, gracias.
Gracias a ti. Un saludo
Gracias por la información
Gracias por el comentario y la visita.
Saludos
Buenos días
Dirás , ¡ ya viene el pelma otra vez para que le solucione la vida! , no tanto como eso ; pero sí.
He probado con las funciones del cap. 12, y 20 , pero la primera es ¿ intensidad ?y la segunda de ¿ velocidad ?, (igual se pueden utilizar y no lo consigo ), pero me hace falta una que me seleccione un motor, de 4 ( dentro de ellos ya tengo todo configurado para que se muevan los grados que yo quiero); por separado hacen lo que les mando.
Me falta poder seleccionar uno en concreto y que me responda como le mando.
Como parece que tienes muchas paciencia ( por lo menos con un inepto como yo, aunque he conseguido hacer mucho), si me puedes echar una mano ( o las 2 ) , te lo agradezco de corazón . Y sino también. Eres el primero que se digna en contestar y explicar, el 99´9 % contestan evasivas.
Un saludo , att.: Pello
Hola, no es molestia. El capítulo 12 utiliza un LED RGB mediante la función analogWrite() para establecer el brillo de cada uno de sus componentes y así lograr distintos colores, estoy un poco perdido en el sentido para tu caso con los motores. Por su parte el capítulo 20 trata del motor de continua mediante el controlador L298N que no es para motores paso a paso y segun entiendo tu consulta inicial era sobre motores PAP.
El control de motor de continua como el del capitulo 20 es muy distinto que el paso a paso, con este último es que se logra una gran precisión y torque. Creo que lo primero que debes considerar es el tipo de motor a utilizar, si es paso a paso el unipolar 28BYJ-48 es pequeño y económico pero el driver ULN2003 requiere de 4 conexiones a pines de digitales de Arduino, con lo cual 4 motores llevarán 16 conexiones.
Un motor bipolar como el del capítulo 33 es más grande y pesado pero se puede controlar con mayor facilidad con el driver A4988 que solo requiere de dos lineas de conexion (step y dir) con lo cual 4 motores se pueden controlar con solo 8 lineas.
Saludos
Gracias, muy bien explicado
Gracias Ricardo por el comentario. Saludos
Explicas tan bien
Gracias por el comentario. Saludos
gracias :3 ,muy chido tu video
Hola desde EspañaDeseo felicitarte por la excelencia de tu curso.Es muy didáctico sin ser pesado y las imágenes están muy cuidadas.Sin dudo el mejor de internet sobre Arduino.Para cuando mas capítulos, cual es el plan de continuidad?Gracias
Gracias Alberto por tu comentario, se aprecia. En breve espero poder publicar más contenido sobre temas que forman parte de la serie "desde cero" para luego hacer proyectos completos (y más complejos).
Saludos
Excelente explicaciónes me han ayudado mucho, me gustaría que me ayudaras en un pequeño problema que tengo...
Tengo que controlas 6 motores a pasos, pero para ocupar demasiados botones, estaba tratando de hacer un programa con lo cual sea un botón para avanzar, uno para retroceder y un botón de cambio de motor...
Por más que eh intentado no eh podido
Hola, gracias por el comentario. Como todo proyecto requiere tiempo, prueba y error.
Puedo recomendar que simplifiques todo el proceso y comiences de a poco, por ejemplo en vez de activar cada motor simplemente escribir en el monitor serie el número del motor que se estaría activando con cada pulsación, de esa manera podras ver si todo va funcionando, cuando tengas todo probado en el monitor serie podrás pasar a conectar los drivers y motores.
Saludos
Gracias no hay problema
muy buenos videos, me suscribo!
Gracias por el comentario y la suscripción. Saludos
Nuevamente muchas gracias por tan fantástica información, brillante docente!. Puedo hacerte una consulta?: puedo controlar con el monitor serie dos motores paso a paso, dándole información diferente a cada uno (uno traccionando las ruedas traseras y otro controlando el volante)?. Gracias !!
Gracias por el comentario, efectivamente es posible pero ya requiere de una programación algo más compleja y excede el propósito de explicar el principio de funcionamiento del motor y un ejemplo simple para su rápida implementación.
Saludos
@@BitwiseAr comprendo, muchas gracias y nuevas felicitaciones!!
Muy bueno
Gracias por el comentario.
Saludos
buenas, como andas. te hago una consulta. viste q en el cuarto programa decis q quedan 2 bobinas energizadas. esto afectara al motor con el paso del tiempo ? porque la verdad que para lo que lo tengo que usar . me viene joya que quede haciendo fuerza. porque el motor tiene que mover un freno y con la fuerza del mismo se iria para atras. pero al energizado eso no pasaria. que opinas?
Muchas gracias por tus cursos . son los mejores lejos
Hola, no hay problema en energizar de a dos bobinas, igual no es un motor para hacer mucha fuerza con engranajes plásticos asi que dependerá lo que le conectes como carga.
Saludos
Wooow al fin encuentro a alguien q explica las cosas pasó a paso genial video amigo. Tengo una duda soy nuevo en eso de arduino pero nose como guardar un codigo en la placa arduino y que lo recuerde después de desconectarlo de la laptop por favor si me puedes ayudar eso te agradecería mucho
Hola Tony, gracias por el comentario, me alegro que encuentres el material de utilidad. En el próximo capítulo 39 se estara viendo como trabajar con la memoria EEPROM incorporada para almacenar información que sobrevive un reinicio.
Saludos
Bitwise Ar muchas gracias 😄
Para cuando un cubo de LED 8x8x8 , seria interesante gran trabajo como siempre Un saludo.
Gracias por el comentario, hay infinidad de proyectos para hacer, quedan aún ver algunas cuestiones básicas que forman parte de la serie "desde cero", luego ya vendrán proyectos más completos y complejos. Saludos
Cuanto mas formación mejor, espero que crezcas como canal, te lo mereces.Sigue asi. Saludos.
Muy util y bien explicado!! muchas gracias, una consulta, el delay puede realizarse en horas en lugar de mili segundos? muchas gracias!
Gracias por el comentario, la función delay() acepta un número expresado en milisegundos pero puede ser muy grande si es necesario. Para extensiones de tiempo largas existen otras funciones y métodos.
Saludos
@@BitwiseAr Muchas gracias!
que buen vídeo.. habrá algún motor igual que este pero que gire rápido y no pierda el torque?
Hola, para hacerlo girar al revés no bastaría con cambiar de orden así:
digitalWrite(IN4, paso[i][0]);
digitalWrite(IN3, paso[i][1]);
digitalWrite(IN2, paso[i][2]);
digitalWrite(IN1, paso[i][3]);
y dejarlo exactamente como en el código del video anterior? Hay algún problema si se hace así?
Excelente...
Gracias por el comentario y la visita.
Saludos
Muy bien chico
Excelente video me gustaria que me ayudases quiero que al introducir un numero de pasos en el monitor siguiera el motor girando con ese numero de pasos introducido de manera continua con un delay entre maniobra. un saludo
Que bien
Antes de nada, reiterar el agradecimiento y las felicitaciones por tu trabajo. Luego, una cuestión: ¿Que software usas para realizar los esquemas en 3D? ¿Por casualidad es CADe Simu? Gracias.
Hola, gracias por el comentario, el único programa que utilizo es el Fritzing para hacer los diagramas prolijos, a nivel simuladores no utilizo ninguno.
Saludos
nuevamente felicitaciones, fantástico curso. Por favor podrán responderme una pregunta: pude subir "mi primer proyecto arduino"sin inconvenientes. Cuando intento subir un segundo proyecto utilizando monitor serie me aparece un error : "Ha ocurrido un error mientras se enviaba el sketch. avrdude: ser_open(): can't open device "\\.\COM3": El sistema no puede encontrar el archivo especificado. (Arduino:1.8.12 (Windows 7), Tarjeta:"Arduino Uno" . Muchas gracias.
Hola, gracias por la visita, ese mensaje refiere a un error de comunicación entre la computadora y la placa, tendrás que revisar la conexión USB y que se encuentre seleccionado el puerto COM correcto.
Saludos
@@BitwiseAr Muchas gracias !!
EXCELENTE TUTORIAL!! mil gracias!! como puedo "manejar el paso a paso con el modulo joystick? o a distancia? gracias nuevamente!!!
Hola, ya se trata de un proyecto que requiere combinar los coneptos de este capítulo y el joystick o módulos de comunicación inalámbrica.
Saludos
Muchas gracias. Estoy empezando con el aprendizaje de programación y sus videos son muy buenos. Me gustaría construir un pequeño brazos robótico como proyecto de hobbie. Así mi pregunta es. ¿Cómo puedo generar un interfaz hombre maquina con el que pueda interactuar introduciendo coordenadas polares, cilíndricas o cartesianas? utilizando
Hola, gracias por el comentario, lamentablemente no sabría indicarte como realizarlo.
Saludos
muy bueno, pregunto: si quiero controlar tres motores de pasos, hay que hacer alguna otra corrección en la secuencia de asignación de los pines (tal como se hizo en el ejemplo que hubo necesidad de invertir pin 9 y pin 10 en la declaración)
Hola, es correcto.
Saludos
Hola, excelente video. Ocupo que el motor gire pero en base a colores. Por ejemplo, yo ingreso al monitor serial verde y que gire 60°, si pongo rojo que gire 120°. ¿En qué parte del programa tengo que declarar estas variables?
Hola muy buen video :). tengo una pregunta si queremos controlar el motor con un joystick como hariamos ?
Gran video, solo quería hacer una consulta, que programa estas usando para el esquema, yo estoy usando Fritzing pero no aparece ni el motor de paso, ni el driver del mismo. Gracias. Espero puedas responderme.
Hola, si n bien la librería de componentes incluídas en el Fritzing es amplia no tiene todos los sensores o dispositivos existentes, aquellos que no estén los podrás buscar en la web como archivos con extensión fzpz
Saludos
Hola, sigo tus vídeo tutoriales desde el capítulo uno de arduino desde cero, y me está ayudando mucho, haces una labor fantástica, no dejes de hacerla. Tengo una duda, ¿se pueden averiguar los pasos de un motor cuya característica de pasos por vuelta completa desconocemos?. Gracias desde España
Hola, gracias por el comentario, se aprecia. Si no es posible obtener información del modelo entonces podrás hacer un programa que aplique por ejemplo 100 pasos y luego medir el ángulo de giro, y por regla de tres simple podrás obtener el ángulo de cada paso.
Si 100 pasos generaron un giro de 180 grados, entonces tendrás un ángulo de 1,8 grados por paso.
Saludos
@@BitwiseAr Gracias por tu interes
Perdón en la consultas anterior puse l293d en vez de L298D
Hola, es correcto, se pueden utilizar ambos en simultáneo si se tienen la cantidad de pines disponibles para su control.
Saludos
hola!! muy buen video, queria preguntar como puedo alimentar este proyecto con una fuente de alimentacion atx, tengo dudas de si se puede conectar la fuente directamente a la placa de arduino, o si debo conectar al driver. gracias.
Hola, podrás ver todo lo relacionado al tema alimentación en el capítulo 50
Saludos
Hola, se pueden conectar las entras a pines digitales que no sean pwm???
Es porque tengo un mega y nesecito controlar 4 motores
Hola, en ningún momento se menciona que los pines deben ser PWM.
Saludos
Muchas gracias
Hola buen día excelente vídeo lo felicito
Como se podria controlar por medio de dos pulsadores un saludo
Hola, a un pulsador podrías aplicar la acción de mover en sentido horario por ejemplo 20 pasos con motor1.step(20) y a otro pulsador misma cantidad de pasos en sentido opuesto con motor1.step(-20)
Saludos
Quito Ecuador.hola. sinceros saludos,te deseo el próximo año mucha felicidad y éxito. seria una gran sorpresa tu excelente trabajo en PDF. un favor muy grande podrias poner una guía de la cámara de video,gracias
Gracias Ricardo y saludos para vos también, gracias por la sugerencia. Saludos
Hola, si quiero utilizar dos o tres motores que pines digitales se pueden usar aparte de os que describes en el vídeo. Saludos desde Mexico
Hola, cada driver ULN2003 requiere el uso de 4 pines digitales y no hay ningún requisito especial asi que para varios motores es solo cuestión de usar cualquier otros 4 pines para cada driver disponibles en la placa.
Saludos
quería saber si a una placa Arduino uno puedo conectarle, un driver l293d para dos motores dc y un driver uln2003 para un motor pap, en la misma placa, gracias
exelente canal, me esta ayudando muchisimo en mi facultad para diversos proyectos, una consulta, para que el motor de a vuelta completa en la parte de motor1.step , debo poner 2048? de esa manera va a dar vueltas de manera interrumpida? espero sus respuestas! un saludo!!!!
Hola Juan, gracias por el comentario. El motor paso a paso no funciona de manera continua, se le indica la cantidad de pasos que debe realizar y luego se detiene, si le das que realice 2048 pasos tendras un giro completo de 360 grados y se detiene, claro esta que podrás repetir la operación cuantas veces necesites.
Saludos
genial muchas gracias!
hola estoy desarollando un robot con 2 de esos motores y quiero hacer que ambos se muevan en simultaneo, como lo podria hacer?
Buenas noches:
Primero de todo; !!!! AGRADECERTE EL GRAN TRABAJO QUE ESTAS REALIZANDO ¡¡¡¡¡¡;; y ahora entro en cuestión.
Ya he conseguido controlar los motores PaP unipolar mediante el bluetooth, lo único que me falta es ponerles un " FINAL DE CARRERA " no lo he conseguido con los comandos que pones en los videos.( igual me falta algún video , o se me ha cruzado alguna cosa,,,,,,,) .
Si me puedes ayudar POR FAVOR, esto es lo que me gustaría que hiciesen los motores :
MAXIMO de giro a derecha = 135º ( 768 pasos);
MAXIMO de giro a izquierda = - 135º ( - 768 pasos);
NEUTRO =========== 0º ( puede ser : ¿ 0 mín . , 1536 máx . , 768 neutro? pero no lo consigo).
No consigo esa conversión.
Seria : MINIMO: - 135º ( - 768 pasos ) ; MAXIMO: + 135º ( 768 pasos) ; NEUTRO: 0º.
Me haría falta conseguir que no sobrepasen esos grados de máx, y min. . Lo he intentado de mil formas ( 999 veces ) pero no lo consigo.
La placa es ATMEGA 2560 R3
Te pego el código que he conseguido que me funcione: ( igual se puede simplificar, pero es a todo lo que he llegado de momento):
#include // Libreria del BLUETOOTH.
#include // Libreria del MOTOR.
SoftwareSerial miBT(11, 12); // Conexiones del BLUETOOTH.
char DATO = 0; // Caracter inicial del BLUETOOTH.
Stepper ANTON(2048, 22, 9, 8, 10); // Velocidad y conexiones del MOTOR1.
Stepper BRUNO(2048, 23, 6, 5, 7); // Velocidad y conexiones del MOTOR2.
void setup(){
miBT.begin(38400); // Comunicacion del BLUETOOTH.
ANTON.setSpeed(3); // Velocidad del MOTOR1.
BRUNO.setSpeed(3); // Velocidad del MOTOR2.
}
void loop(){
if (miBT.available()){ // Lee BT ( movil ) y envia a Arduino.
DATO = miBT.read(); // Lee el " numero " introducido del movil ( app ).
if (DATO == '1') // Púlso '1' ; para mover MOTOR1. Se mueve 15º a DERECHA, con una pulsacion. Manteniendo gira
// hasta soltar boton.
ANTON.step(85); // Angulo de giro = 15º.
digitalWrite(22, LOW); // Apaga el pin (MOTOR1),
digitalWrite(9, LOW); // Apaga el pin (MOTOR1),
digitalWrite(8, LOW); // Apaga el pin (MOTOR1),
digitalWrite(10, LOW); // Apaga el pin (MOTOR1), los 4 pines del MOTOR1.
if (DATO == '2') // Púlso '2' ; para mover MOTOR1. Se mueve 15º a IZQUIERDA, con una pulsacion. Manteniendo gira
// hasta soltar boton.
ANTON.step(-85); // Angulo de giro = - 15º.
digitalWrite(22, LOW); // Apaga el pin (MOTOR1),
digitalWrite(9, LOW); // Apaga el pin (MOTOR1),
digitalWrite(8, LOW); // Apaga el pin (MOTOR1),
digitalWrite(10, LOW); // Apaga el pin (MOTOR1), los 4 pines del MOTOR1.
if (DATO == '3') // Púlso '3 ;' para mover MOTOR2. Se mueve 15º a DERECHA, con una pulsacion. Manteniendo gira
// hasta soltar boton.
BRUNO.step(85); // Angulo de giro = 15º.
digitalWrite(23, LOW); // Apaga el pin (MOTOR2),
digitalWrite(6, LOW); // Apaga el pin (MOTOR2),
digitalWrite(5, LOW); // Apaga el pin (MOTOR2),
digitalWrite(7, LOW); // Apaga el pin (MOTOR2), los 4 pines del MOTOR2.
if (DATO == '4') // Púlso '4' ; para mover MOTOR2. Se mueve 15º a IZQUIERDA, con una pulsacion. Manteniendo gira
// hasta soltar boton.
BRUNO.step(-85); // Angulo de giro = 15º.
digitalWrite(23, LOW); // Apaga el pin (MOTOR2),
digitalWrite(6, LOW); // Apaga el pin (MOTOR2),
digitalWrite(5, LOW); // Apaga el pin (MOTOR2),
digitalWrite(7, LOW); // Apaga el pin (MOTOR2), los 4 pines del MOTOR2.
}
}
Un saludo; Pello
Hola, podrias almacenar en una variable la cantidad de pasos que realizan los motores y antes de usar la función step() con un simple bloque if verificar si la cantidad de pasos esta dentro de rango, también se pueden usar topes mecánicos mediante microswitch, y verificar si se ha llegado a algun limite si alguno de ellos se acciona.
Saludos
disculpa amigo y como podria mover dos o tres motores al mismo tiempo?? por cierto excelente video
Hola, tendrás que conectar cada motor con su correspondiente driver a pines digitales y luego ir intercalando el envío de la cantidad de pasos que debe realizar cada uno.
Saludos
buenas, gran video, solo me queda una duda para poder hacer hacer que el motor de más de una vuelta solo tengo que sumar por arriba de 2048, o sea se puede hacer o solo tiene la rotacion de 360º gracias
Gracias por el comentario, correcto, también para no trabajar con números muy grandes podrás hacer un simple bucle for() que repita la acción la cantidad de veces necesaria.
Saludos
Buenas noches:
Sigo alabando tú trabajo desde que empecé en este mundo, y si me permites te sigo preguntando:
--- ¿ es mucho forzar conectar 2 motores PaP unipolar de 5V. a los mismos pines ? ;
funcionar , funcionan....si no estoy equivocado, ó lo he malinterpretado, son 52 mA. ( no sé, si por motor o por pin ) y las salidas de Arduino dan 500 mA. creo .
Muchas gracias por todo, un saludo: Pello
Hola, el consumo generalmente esta dado por fase (por bobina), se pueden conectar dos motores en paralelo sin son los 28BYJ-48, debes tener en cuenta que el consumo depende también de la fuerza que deba hacer el motor y que la fuente que alimenta al controlador brinde lo necesario.
Los 500 mA que haces mencion es del ULN2003, los pines digitales de Arduino solo deben utilizarse para manejar lógica.
Un saludo
Muchas gracias
Eres un rayo, se agradece todo el esfuerzo y dedicación. Ya voy configurando poco a poco lo que tengo en mente gracias a tus tutoriales, y ayuda " personalizada " ( no se puede describir de otra forma ). A ver si llega a buen puerto.
Sí, los motores son los que mencionas con ULN2003. Problemas de fuerza no va tener, serán unos 50 gr.
Tengo intenciones de moverlos con una batería de unos 7 V. , y 2 A. (+ - ). Espero que sean ( a ver si lo consigo ) : 4 motores, 4 led, 2 receptores IR.
Ahora lo estoy haciendo con Arduino UNO , estoy esperando que me llegue la placa 2560, por si acaso...
De momento no voy por mal camino.....ya veremos como terminan los " pájaros " de la cabeza.
Un saludo, att: Pello
No se si habra algun error en la libreria. Todo me funciona como se ve en el video, excepto por el cambio en direccion. Indiferentemente de que tenga el negativo adelante del valor de los pasos o no, siempre mi motor gira en la misma direccion.
Hola, lamentablemente no sabría indicarte cual puede ser el problema, ya que efectivamente un a cantidad "negativa" de pasos debe hacerlo girar en sentido opuesto. Podrás probar no usando la librería como se explica en el capítulo 30 y el cambio de sentido a final de este 31.
Saludos
Estoy haciendo algo mal... Uso un Wemos D1 mini y no hay modo q funcione correctamente la librería stepper. Usando el código del capítulo 30 va de una, pero con los ejemplos de este capítulo el motor hace un stop cada ponele 15º y sigue. Tampoco hace el giro contrario. Puedes ayudarme?
Hola, lamentablemente no sabría indicarte ya que el curso se basa en placas de Arduino y no en ESP8266, si bien este último se puede programar con el IDE de Arduino el hardware es diferente. Tendrás que buscar información especifica del ESP.
Saludos
puedo poner push botons para controlar la velocidad del motor algo asi como baja y en el set speed pondra 1 y otro pushbutton un alta y pone un 3 ? otra pregunta ocupo a fuerzas alimentarlo externamente ? es que no tengo el conector ese que pones en el video , le pasa algo al arduino si saca el voltaje de la lap?
Hola, claro que podrás hacer que la acción de presionar un botón llame a la función setSpeed(), es conveiente usar una fuente externa pero podrás omitirla si no hay opción y drenar toda la corriente del puerto USB de la computadora.
Saludos
@@BitwiseAr eres un crack gracias me ayudaste con mi tarea
No se quien me podría ayudar, quiero controlar 2 motores paso a paso 28BYJ-48 con el controlador Motor Shield L293D, para realizar un brazo robotico para dibujo de figuras geométricas y mi consulta es si normal puedo emplear la libreria Stepper para este controlador, ya que e visto que programan el controlador con la libreria AccelStepper
o la libreria Adafruit Motor Shield, pero lo usan para controlar solo servomotores y no encuentro un codigo que me enseñe como usarlo para el control de los 2 motores paso a paso.
Una pregunta ¿existe la posibilidad de controlar 2 paso a paso de forma independiente? Por ejemplo, ingresar al monitor serie un valor de 50 grados para el motor a y uno de 120 para el motor b
Hola, es posible, deberás programar que espere a ingresar al segundo valor antes de comenzar con las secuencias de pasos para cada motor.
Saludos
@@BitwiseAr muchas gracias, lo intentaré
Hola, felicidades, esperando me pueda ayudar, cómo sería para con una entrada (un switch) seleccionar una cantidad de pasos, o varios SW para posicionarse en diferentes puntos de la vuelta y con otro SW volver a la posición original, o cero? Gracias
Hola, la acción de switch simplemente aplica la función motor1.step() con la cantidad de pasos a realizar.
Saludos
@@BitwiseAr gracias lo voy a intentar, muchos saludos
una pregunta, se puede conectar simultáneamente a la fuente externa de 6 a 12v y a la PC?? para la parte controlada por monitor serie.
Hola, correcto, se puede mantener la conexión por USB a la computadora mientras se alimenta Arduino mediante el jack de alimentación con 12V
Saludos
Hola,
Estoy intentando definir 3 posisciones y que el motor vaya y vuelva al punto 0. Todo controlado por el monitor serial pero no lo consigo. Me gustaria saber si puedes ayudarme con el codigo. He conseguido que arranque pero pasa por las 3 posiciones continuamente. Y con otro codigo he conseguido que haga 1 solo movimiento y pare pero siempre en el mismo sentido y el mismo numero de pasos. He probado con mas de 12 codigos y ya no se que mas probar.
Gracias, un saludo.
Hola, es importante comprender el código ya que sino se tienen comportamientos que no son los deseados. El motor paso a paso no tiene una posición absoluta, es siempre relativa, de manera que no hay punto cero.
Lo que se suele hacer es mecánicamente definir un punto como el inicial y colocar un interruptor, de manera que cuando se inicia el programa (en el setup() por ejemplo) lo primero que se hace es girar hasta detectar que se hizo tope con el interruptor y ese será el origen o punto cero y desde allí se toman los pasos que requiere la aplicación.
Saludos
Por favor necesito una respuesta... el driver que está esta este video ¿lo puedo utilizar para motor bipolar?
Hola, el driver esta pensado para controlar a un unipolar, el bipolar se analiza en el capítulo 33.
Saludos
disculpa que programa usas para representar ese circuito ya que Porteus no puedo instalar que me recomiendas
Hola, el programa es el Fritzing pero no emula el funcionamiento de la placa, no utilizo simuladores con lo cual no puedo orientarte en ese tema.
Saludos
Hola, una consulta! para un motor
50BYJ26-30 tambien será 2048 pasos aquel parametro stepper motor1 ? muchas gracias, buenas tus clases!
Hola, busqué dicho modelo en la web ya que lo desconozco y por lo que pude ver funciona con 12 V con lo deberás tener en cuenta par alimentar el driver, el tema cantidad de pasos no estoy seguro que sean 2048 pero eso lo podrás obtener de la práctica haciéndolo girar y ver la cantidad que requiere para un giro completo.
Saludos
@@BitwiseAr Muchas gracias Master, se aprecia la orientacion. Saludos!
Hola que tal, Queria preguntarte que motor es el mas rapido, necesito un giro de 90ª en 0,2 segundo (como poco). No tiene que hacer ninguna fuerza solo mover un pequeño carto
Saludos.
Hola, probablemente sea de utilidad el servomotor visto en el capítulo 6.
Saludos
HOLA UNA DUDA VI UN CODIGO Q LE PUSIERON RPM DE 5 Y SI FUNCIONA ESO MALOGRARIA EL MOTOR?
hola muy buenas felicitarte por todos tus tutoriales, y preguntarte como hago con la librería si quiero trabajar con dos motores, como los declaro.
Hola, gracias por el comentario. Será cuestión que conectes el driver en otros cuatro pines digitales que tengas libres y generar un segundo objeto, por ejemplo:
Stepper motor2(2048, 4, 6, 5, 7);
Y luego usar las mismas funciones vistas pero con "motor2"
Saludos
gracias por tu pronta respuesta, afirme es asi, solo que estaba conectando en el motor en unos pines que no había declarado , muchisimas gracias maquina.
@@BitwiseAr osea siempre es alternando? Digamos que quiero empezar en 0
Seria 0 2 1 3?
Hola necesito ayuda con un problemita, necesito que cuando el motor de la cantidad de pasos establecidos deje de girar, es decir no puedo poner el programa como lo pusiste para que desde el monitor serie se indique la cantidad de pasos, no, necesito que la cantidad de pasos este fija en el codigo del arduino, pero no tengo idea como hacer para que se detenga. Ayudame, Gracias
Hola, al paso a paso hay que darle la cantidad de pasos que debe realizar, se detiene una vez los realice pero si el código está dentro del loop() sin ninguna condición entonces se repetirá constantemente, la cantidad de pasos debería estar dentro de un condicional, por ejemplo si se presiona un botón que de cierta cantidad de pasos, lo hará y se detiene hasta que se presione nuevamente.
Saludos