Gran tutorial, eres un gran maestro. Funciona muy bien, en mi caso, sólo tuve que cambiar lo referente al puerto serie, de: COM = '/dev/cu.usbserial-14120' BAUD = 9600 ser = serial.Serial(COM, BAUD) a sólo: ser = serial.Serial('COM4', 9600) # O el puerto que usa arduino Felicitaciones y gracias:
Muy bueno el canal, Consulta? es posible con Mblock entrenar la maquina y controlar un arduino o un servo?, no se como conectar los objetos con el dispositivo. Muchas gracias
Рік тому
Hola Gustavo, la verdad nunca he utilizado Mblock, así que no podría ayudarte. Ojalá alguien que lo haya utilizado nos apoye :) Supongo que el compilador puede exportar algún archivo o librería que podría integrarse en Arduino, si es así, sería muy fácil la integración. Saludos.
Cada que inicie un proyecto nuevo tengo que reiniciar las librerias o solo hay que exportarlas como en el caso del serial?
Рік тому
Hola, cuando usas PyCharm tienes que añadir las librerías en cada proyecto. Esto es porque se crean ambientes virtuales y tienes la ventaja de instalarle a cada proyecto librerías distintas, la desventaja es que el tamaño de memoria en disco es alto.
Hola! Gracias por compartir! Excelente! Se puede hacer para que se ejecute todo en arduino sin necesidad de conectarlo a un ordenador? Es decir conectar arduino a una cámara y que fuese arduino quien corra todo el programa. Gracias! Te sigo!
Рік тому
Hola gracias por tu comentario, si se puede hacer pero la verdad no lo he intentado. Dudo un poco que el Arduino tenga la velocidad de procesamiento suficiente pero sería un gran proyecto probarlo. Saludos!
Gran vídeo. Aportación muy valiosa para los que queremos aprender de este mundillo. Explicación clara, detallada y completa. Tienes un seguidor más. Muchas gracias 😊👍
Hola ...muy buen proyecto ..me gustaria saber como sacar señal en open cv si se mueve de arriba a abajo
3 роки тому
Hola Luis, muchas gracias por tu pregunta. Precisamente dentro de la explicación en el minuto 9:19 se muestra cómo las coordenadas en y también se guardan en una variable, solamente sería que tú ajustes el código para enviar hacia el Arduino la instrucción deseada. Quedo atento a tus comentarios. Saludos!
@ hola maestro ...se trata de combinar el código opencv con los códigos del programa de animación 3d y unir ambos códigos para crear un app y atraves de el enfoque de la camara mover un personaje 3d ..en su caso usted conbino los códigos de Open cv con los códigos de Arduino para mover servo motor .. aki le dejo un linck por si tiene algún tiempito lo mira para ver de qué se trata ua-cam.com/video/O7nNO3FLkLU/v-deo.html
hola muy buen video estoy tratando de buscar una solucion a mi proyecto que tengo que presentar en unas horas pues utilizo vision artficial en open cv y python y tengo dos servomotores que tienen que clasificar dependiendo del tipo de residuo que detecte la camara web tambien utilizo arduino y el progama funciona pero la camara se me puso lenta y no se que solucion dar espero me leas y me puedas ayudar por favor
6 місяців тому+2
Hola Juan, muchas gracias por tu comentario. Lo lento de la cámara puede deberse a distintas situaciones como el código, que algo esté generando conflictos y tarde más tiempo en realizar la siguiente captura, etc, etc. Creo que puedes iniciar por realizar pruebas con poco código, e ir aumentando poco a poco para verificar en qué momento se "alenta". Éxito!
Si justo ahora estoy viendo un video tuyo de vision artificial con arduino y la diferencia es que la biblioteca que hace conexión con el arduino en mi programa es pyfirmata y tampoco lleva la inicializacion de baudios ni tampoco tengo un codigo en arduino para el movimiento del servo todas ls acciones estan en el codigo de python quiza sea el motivo una de esas 2 diferencias?
Hola! Muy buen video. Quisiera saber si tienes un vídeo o algún material para poder realizar esta misma acción pero sin tener conectado el Arduino de forma cableada al computador con un módulo de cámara o algo similar. El proyecto me exige que sea un objeto que se desplace en una ruta mediada por elementos que debe detectar mediante una cámara. Muchas gracias!
2 роки тому+1
Hola Miguel, gracias por tu comentario. Puedes utilizar un protocolo como ZigBee para realizar la conexión de forma inalámbrica, intentaré hacer un video esto. Saludos!
Muy buen video!! A qué se puede deber que la cámara se congele cada cierto tiempo y deje de responder? La capacidad de la PC, la sobrecarga de información del puerto Serial? gracias! Aclaro que el código es el mismo en python. En arduino, en vez de correr un servomotor utilizo unas funciones para mover a un robot, pero no debería implicar muchos problemas. van desde Adelante(); hasta Atras(); y demás...
Рік тому+1
Gracias por el comentario. Puede deberse al puerto serie ya que suele presentar problemas de comunicación, te recomendaría ir haciendo pruebas con retardos hasta que encuentres el mejor momento de sincronización. Yo lo he probado sin problemas. De hecho, mas adelante estaré haciendo la actualización de este video agregando más variables y conectándolo a un brazo robótico real. ¡Saludos!
Si alguno lo piensa correr en linux, en la sección del "COM=" en el código , solo deben de poner el puerto por el cual esta conectado su Arduino, en mi caso fue /dev/ttyACM0
Buen día. Muy bien video, pero, al momento de ejecutar los códigos tanto en Python como en Arduino funcionan bien los códigos pero el servomotor no se mueve, no se a qué se deba, revise el COM, y todo parece estar bien. Tendrás idea de que pueda ser?
2 роки тому
Gracias por tu comentario. Tendría que observar los códigos para poder revisar. Puede ser que en el Arduino no se esté comprobando correctamente la palabra clave para que proceda al movimiento. Saludos!
muy bueno, excelente video, aunque me entra la duda que si uno solo quiere conectar un led a la salida como seria ya que el servo tiene muchas variables y en este caso no serian tantas para lograr que la cámara no se ponga mas lenta, es decir, como se haría para que cuando detecte el color se encienda y si no hay se apague... saludos
3 роки тому+1
Hola Eduardo, tendrías que modificar el código en el Arduino y los if en el código Python de acuerdo con tu idea. Tú defines cuando se debe encender o apagar. Saludos!
Excelente video, me funciono perfecto. Una duda, controlar 2 servomotores al mismo tiempo con esta misma funcion, se puede?
3 роки тому+1
Hola, gracias por tu comentario. Si puedes controlar todos los servos que quieras, solamente tienes que enviar el código o palabra clave para que al recibirla el Arduino sepa a qué servo tiene que mover. Quedo atento a cualquier duda que tengas. Saludos!
hola hermano soy nuevo por aqui me esta curiosidad como funciona, con arduino 1, pero que quería preguntar algo como le haces para la cámara es una cámara propia de la pc o es un programa tengo dudas quisa me ayude en algun futuro
Місяць тому
Hola gracias por tu comentario. La cámara es la de la computadora, pero puedes utilizar una externa conectada por USB. Saludos!
Buenas al momento de correr el programa en python me salta este error AttributeError: module 'serial' has no attribute 'Serial' , no he podido quitarlo, nose si me pueda orientar en como desaparecer ese error, saludos
Рік тому
Hola Luis, te recomiendo ir al Blog: bit.ly/31EbJKV ahí explico todo los pasos y se soluciona ese error, ya que es por la instalación de la librería. Saludos!
Tengo una duda como le puedo hacer para que Python me detecte más de un color, y dependiendo del color detectado mande una posición al servomotor o active otra respuesta
Hola! Espero te encuentres muy bien. Agregué un servo más y al correr el código la cámara capta bien pero al momento de encuadrar el color que quiero, la captura se queda trabada. Que puede ser? Saludos.
3 роки тому
Hola Eduardo, puede ser al momento de querer enviar el dato por el puerto serie. Puedes compartirme el código ara he charle un vistazo a mi correo electrónico. Saludos!
@ Me refiero a que me diga las coordenadas en el eje Y, osea verticalmente. Solo las veo horizonalmente. Gracias!
3 роки тому+1
Hola David, si sigues exactamente el código del video también te muestra las coordenadas en y, precisamente la guarda en una variable llamada y. No se si me expliqué.
Y para seguir un objeto circular.? No importa el color
Рік тому
¡Es una gran idea! en OpenCV existen funciones para detectar formas, podrías iniciar por explorar este paso. Te recomiendo explorar todo lo que OpenCV puede ofrecerte es una gran gran herramienta. Saludos.
Saludos, Estupendo video: una pregunra, es posible saber la profundidad a la que está el objeto, por ejemplo si el objeto está hacia la derecha como se puede saber la profundidad a la que está el objeto ?
2 роки тому
Gracias por tus comentarios, para saber la profundidad se necesita otro tipo de cámara así como de otro procesamiento o sensor.
Hola me encanto tu video pero necesito ayuda para implementar todo esto en un brazo robótico de marca Braccio. Cuenta con 6 servomotores y en Arduino este mismo cuenta con su propia librería llamada braccio.
3 роки тому+1
Hola Paula, muchas gracias por tu comentario. Te invito a intentar replicar el video adecuado el código a tu necesidad. Mucho éxito!
que pasa si quiero agregarle mas angulos para que el servo rote 360 ° se puede y que mas se tiene que agregar ?
3 роки тому
Hola cyberpunk, para que el servo rote más de 180º necesitarías cambiarlo por uno de giro libre, donde solamente podrás controlar la dirección y la velocidad. Los de giro limitado son precisamente para controlar posición de manera precisa. Entonces, todo depende de lo que necesites. Quedo atento a tus comentarios. Saludos!
Si uso el IDE de visual estudio igual se puede usar Open CV?
3 роки тому+1
Hola Martín, claro que se puede utilizar, solamente tienes que tenerlo instalador en un fichero y configurar Visual Studio para que lo pueda importar. Saludos!
quiero hacer lo mismo para detectar armas con IA y enviar datos a un servidor, crees que me funcione arduino o mejor rasberry pi?
Рік тому
Considero en mi opinión que todo lo que necesite procesamiento de imágenes sea en la RaspberryPi y las señales de control sean desde Arduino. Creo que la combinación de ambos puede funcionar. Saludos!
Excelente justo lo que buscaba ya quiero que mis robots se muevan según su entorno y no con un programa que se repite una y otra vez. Con esta aplicación se vera mas autónomo. Me gustaría agregarle AV Jarvis para que funcione junto a la visión artificial. Crees que se pueda?
3 роки тому+1
Excelente Juan de Dios, supongo que si se puede implementar, la verdad nunca lo he intentado, al menos la parte de reconocimiento de voz sería muy útil.
Hola, quiero realizar un trabajo semejante al suyo para un trabajo de clases. Detectando variaciones en un artículo vase una foto original. Y Activando igual un Arduino, una salida si la deteccion es igual y otra salida si la imagen es diferente. ¿Cree me pueda ayudar?
3 роки тому+1
Hola Alfonso, con gusto puedo ayudarte a resolver tus dudas, puedes enviarme un correo con tus preguntas y con mucho gusto te apoyo.
Cuando primero incio el programa en phyton arduino me dice que el puerto no esta disponible y cuando lo incio primero en arduinon python es el que me dice que el puerto no esta disponible como puedo arreglar eso ?
9 місяців тому
Hola, desconozco el porqué del error, si me envías al correo las capturas de imágenes del error podría revisarlo. Tal como está el código explicado en el video ha funcionado perfecto para mi caso. ¡Saludos!
Me gustó tú video, solo tengo una duda en la parte en la que seccionas el tamaño de imagen que te da tu cámara, espero me pudieras explicar esa parte, ya que el tamaño de imagen que mi camara da es de 640x360, te agradezco hermano.
3 роки тому+1
Hola Víctor, en mi caso mi cámara me entrega por default un tamaño de 1920x1080, por lo que en el eje X tengo hasta 1080 posiciones. En tu caso, simplemente tendrías que ajustar tus comparaciones if a tu tamaño. Quedo atento a tus dudas. Saludos!
@ Hola, era un error en una indentacion y una mayuscula que me comi, ya detecta todo nomas creo tener un error en el codigo de arduino ya que no se mueve
@ seria posible aplicar esto con un servomotor, quiero suponer que lo que cambia en la parte de python son los ifs
Рік тому
Que bueno que se solucionó. El ejemplo es con un servomotor, no se si te refieres a incluir otro servomotor. De hecho, tengo pendiente hacer un video controlando dos servos. Saludos!
Buenos días me compila el código hasta la cámara pero apenas detecta el color se queda colgado el frame ,¿ a que se debe?
2 роки тому
Hola Gustavo, es complicado saber porque es si no tengo una captura de pantalla del error. Te recomiendo leer el mensaje de error que debe aparecer en la terminal. Saludos!
y si quisiera agregar la coordenada Y y otroservo como podria hacerlo alguien me puede ayudar :c ?
2 роки тому
Hola, puedes revisar en el código e interpretar dónde agregarlo, pero puedes agregar tanto información como desees, para el segundo servo, simplemente envías otra instrucción y en el Arduino debes relacionarla con el otro servo. Saludos!
@ logre hacerlo pero ahora no se por que cuando conecto los dos servos el programa se cierra despues de un tiempo aleatoria a veces son 5 segundos otras veces 10 segundos estoy usando el arduino uno no se si podrias ayudarme con ese problema por favor
si quiero agregar mas colores a parte de azul, se puede?
3 роки тому
Hola María, claro que se puede modificar, en el video explico la parte donde se elige el color que vamos a detectar, también te recomiendo visitar la versión escrita donde se explica con mayor detalle: bit.ly/31EbJKV Saludos!
Muchas gracias por el video, muy explicativo y dinámico. Lamentablemente por alguna razón no me funciona, el código en python si funciona, inicia la cámara y detecta el objeto. Pero por alguna razón el servo no se mueve, pareciera que el Arduino si recibe las señales por la luz que prende cuando muevo el objeto. Sabe que pudiera ser el problema? Mis servos funcionan perfectamente. Cuando compilo el codigo en arduino me aparece esto: warning: multi-character character constant [-Wmultichar] if (inChar == '\ ') {
3 роки тому+1
Hola Yamir, gracias por tu comentario. Al parecer tienes repetida la doble diagonal "\ " por lo que el puerto serie al recibir los datos, nunca activa la bandera de que terminó de recibir. Puedes dejarlo como if (inChar == ' ') Quedo atento a tus comentarios, un saludo!
Es mi primera vez interactuando con python. Copié el programa de Python tal y cómo aparece en el blog. Pero me sale un error , con la primera linea, osea la 1. Dice Module Not Found Error: No moduled named 'cv2'. En el vídeo dices que ay que importar esa librería. Creo que eso es lo que me falta pero noce hacerlo. Me podias ayudar. Gracias de antemano!
3 роки тому+1
Hola Juan de Dios. Te recomiendo leer la versión escrita del capítulo el link esta en la descripción: www.automatizacionparatodos.com/vision-artificial-arduino/ También tienes que instalar otras librerías como la de pip install pyserial Quedo atento a tus comentarios. Saludos!
@ lo leí he hice los pasos pero me sige dando el mismo error. Podíamos hacer un team viewer.
3 роки тому
Hola Juan, puedes enviarme un correo con los pasos y códigos utilizados y te puedo ayudar con ello. No es muy complicado solamente tenemos que asegurarnos de que estás instalándonos librerías adecuadas.
@ escríbeme por favor tú correo ya qye desde tú página estoy intentando de envíale la información y cuando le doy click a enviar me dice que lo intente mas tarde que hubo un error.
instale la libreria serial pero me sigue sin reconocerla en python... tengo la version 2.7
3 роки тому+1
Hola Arnaldo, el ejemplo lo realicé con la versión 3 pero con la 2.7 debería funcionar. Para poderte ayudar, podrías enviarme al correo alguna captura de pantalla o el código que utilizaste para instalar? Quedo atento a tus dudas. Saludos!
@ ok te voy a enviar la info al correo descrito en la info del video, estoy usando Liclipse con un pequeño programa reconocedor de rostro, lo que queria hacer es en vez de seguir al objeto como en tu video, que siguiera el rostro de una persona. Ya te mando donde me genera el error. Al llamar IMPORT SERIAL y describir el ser = serial.Serial(COM, BAUD) me dice que "Serial" no esta dentro de la libreria, igual el procedimiento que use para instalar fue a traves de cmd con C:\Python27\Scripts> pip install serial
3 роки тому+1
Te he respondido el correo, intenta instalar la libreria: pip install pyserial Para lo de detección de rostro de manera más fiable, existen otras técnicas (anotaré para un siguiente video), con este ejemplo lo que detectará son colores, si filtras bien el color, con el color del rostro, puede funcionar 😀
@ Genial me a funcionado, automaticamente al abrir Liclipse logro implementar la libreria serial justo como en tu explicacion sin error, muchas gracias por ser atento y responder, estaria genial si haces en otro video un ejemplo que el servomotor se guie haciendo seguimiento al rostro humano.
Hola gente q tal, tengo una pregunta al momento de ejecutar el código de python en visual studio code (con todas las librería previamente instaladas) el mismo no genera la imagen de la cámara y el código tampoco saca errores Simplemente al ejecutar el código de python no abre la cámara y no saca errores Alguien sabe que puede ser Lo estoy haciendo desde un portátil (lo comento ya que no estoy usando cámara usb sino la del portátil por defecto)
3 роки тому
Hola John, puede ser que el ID asignado para la webcam no sea el correcto, intenta cambiándolo. A veces la ventana de la cámara queda en el fondo, intenta verificar si no se abre una ventana extra. Quedo atento a tus comentarios.
En tu código es muy necesario tener un distancia mínima, quiero hacer esto pero con una Raspberry Pi y en vez de que detecte a una pelota lo haga con una persona, pero cuando ejecuto el código no me marca el centroide a no ser que este muy cerca de la cámara. Tampoco me he alejado 10 metros, solo me he alejando como 1m o 1.5 m
2 роки тому+1
Hola Luis, gracias por tu comentario, puedes ajustar el área de detección precisamente con la variable "area", con esto ajustas tu distancia. Saludos!
Cómo podría hacer funcionar 10 servomotores al mismo tiempo ? Con la visión artificial?
2 роки тому
Hola! Sería de manera muy similar, solamente tienes que agregar las salidas correspondientes para cada servo, solamente te recomiendo alimentar los servos con una fuente distinta del Arduino para evitar sobrecargas de corriente. Saludos!
Bueno días, primero agradecer por el excelente video y explicación del mismo, le comento que recién estoy empezando en el mundo python y se me presenta un problema al momento de probar su código. Al principio corre perfectamente, pero luego de unos segundos de estar haciendo el traqueo del objeto y moviendo el servo el programa se empieza a trabar, a congelar, calculo que debe ser por la comunicación serie, por que editando las líneas donde envía los datos al arduino no se tranca el programa. Probé subiendo la velocidad a 115200 baud y lo mismo, probé con la función time.sleep(0.02) (20ms de retardo) despues del envío de cada dato al arduino y el problema persiste. Tiene alguna idea de que puede estar pasando? Las pruebas la estoy realizando en win11 y una notebook relativamente nueva. Desde ya muchas gracias por su tiempo.
Рік тому+1
Te recomiendo depurar, ir ejecutando el código línea a línea hasta ver donde se queda, ahí podríamos detectar que esta pasando. Yo lo he usado continuamente sin problema. Saludos!
Gran tutorial, eres un gran maestro. Funciona muy bien, en mi caso, sólo tuve que cambiar lo referente al puerto serie, de:
COM = '/dev/cu.usbserial-14120'
BAUD = 9600
ser = serial.Serial(COM, BAUD)
a sólo:
ser = serial.Serial('COM4', 9600) # O el puerto que usa arduino
Felicitaciones y gracias:
¡Gracias por tu comentario! Saludos!
Está bien ilustrativo el vídeo.
Super recomendable verlo.
¡Este canal es una joya! Saludos y bendiciones.
Con mucho gusto! :) Saludos!
gracias amigo, me fue de mucha ayuda tu video para mi proyecto en raspberry pi
tremendo video has mas videos de este tipo de vision artificial
Lo tendré muy en cuenta. ¡Saludos!
esta brutal lo monte y super voy a agregar el un servo para el eje y gracias
Excelente!! Comparte tus resultados. Saludos!
Te amo, gracias a ti se va alograr mi proyecto final
Muchas gracias por tu comentario!
Que buen proyecto, eres grande Gordon Freeman
Gracias por tu comentario, por cierto gran videojuego jajajajaja
Muy profesional un creíble mente bueno.
Genail, espero que tu canal siga creciendo!
Muchas gracias por tu comentario!
Excelente. Gracias
Buen video. Gracias!
Que buen contenido un suscriptor más saludos desde los Andes bolivianos.
Gracias por tu comentario. Quedo abierto a tus sugerencias. Saludos!
Justo lo que e estado buscando es excelente aparte que comprendí bien tu explicación sigue con videos así
Con mucho gusto. Saludos!
Toma tu like!
Gracias Heider. Saludos!
Excelente video, sigue asi, muy bien explicado
Gracias, saludos
Muy bueno el canal, Consulta? es posible con Mblock entrenar la maquina y controlar un arduino o un servo?, no se como conectar los objetos con el dispositivo. Muchas gracias
Hola Gustavo, la verdad nunca he utilizado Mblock, así que no podría ayudarte. Ojalá alguien que lo haya utilizado nos apoye :)
Supongo que el compilador puede exportar algún archivo o librería que podría integrarse en Arduino, si es así, sería muy fácil la integración.
Saludos.
Cada que inicie un proyecto nuevo tengo que reiniciar las librerias o solo hay que exportarlas como en el caso del serial?
Hola, cuando usas PyCharm tienes que añadir las librerías en cada proyecto. Esto es porque se crean ambientes virtuales y tienes la ventaja de instalarle a cada proyecto librerías distintas, la desventaja es que el tamaño de memoria en disco es alto.
Ja ja me puse a buscar si alguien ya lo noto.
hola, podría hacerse para mantener un objeto en el centro de la imagen moviendo un domo de dos ejes en lugar de un servo?
Hola, absolutamente es posible, la imaginación y el cómo realices el control depende de tu necesidad. ¡Saludos!
Hola! Gracias por compartir! Excelente! Se puede hacer para que se ejecute todo en arduino sin necesidad de conectarlo a un ordenador? Es decir conectar arduino a una cámara y que fuese arduino quien corra todo el programa. Gracias! Te sigo!
Hola gracias por tu comentario, si se puede hacer pero la verdad no lo he intentado. Dudo un poco que el Arduino tenga la velocidad de procesamiento suficiente pero sería un gran proyecto probarlo. Saludos!
Gran vídeo. Aportación muy valiosa para los que queremos aprender de este mundillo.
Explicación clara, detallada y completa.
Tienes un seguidor más.
Muchas gracias 😊👍
Muchas gracias Philippe. Saludos!
Hola ...muy buen proyecto ..me gustaria saber como sacar señal en open cv si se mueve de arriba a abajo
Hola Luis, muchas gracias por tu pregunta. Precisamente dentro de la explicación en el minuto 9:19 se muestra cómo las coordenadas en y también se guardan en una variable, solamente sería que tú ajustes el código para enviar hacia el Arduino la instrucción deseada. Quedo atento a tus comentarios. Saludos!
Hola si quiero mover una imagen en vez de un servo motor ..como sería el código para mandar señal a una imagen que se mueva
Hola Luis, podrías explicarme a qué te refieres con mover una imagen? A desplazarla por la pantalla o algo así?
@ hola maestro ...se trata de combinar el código opencv con los códigos del programa de animación 3d y unir ambos códigos para crear un app y atraves de el enfoque de la camara mover un personaje 3d ..en su caso usted conbino los códigos de Open cv con los códigos de Arduino para mover servo motor .. aki le dejo un linck por si tiene algún tiempito lo mira para ver de qué se trata ua-cam.com/video/O7nNO3FLkLU/v-deo.html
hola muy buen video estoy tratando de buscar una solucion a mi proyecto que tengo que presentar en unas horas pues utilizo vision artficial en open cv y python y tengo dos servomotores que tienen que clasificar dependiendo del tipo de residuo que detecte la camara web tambien utilizo arduino y el progama funciona pero la camara se me puso lenta y no se que solucion dar espero me leas y me puedas ayudar por favor
Hola Juan, muchas gracias por tu comentario. Lo lento de la cámara puede deberse a distintas situaciones como el código, que algo esté generando conflictos y tarde más tiempo en realizar la siguiente captura, etc, etc. Creo que puedes iniciar por realizar pruebas con poco código, e ir aumentando poco a poco para verificar en qué momento se "alenta". Éxito!
Si justo ahora estoy viendo un video tuyo de vision artificial con arduino y la diferencia es que la biblioteca que hace conexión con el arduino en mi programa es pyfirmata y tampoco lleva la inicializacion de baudios ni tampoco tengo un codigo en arduino para el movimiento del servo todas ls acciones estan en el codigo de python quiza sea el motivo una de esas 2 diferencias?
rifadote
Que buen video!!!! Disculpa dónde puedo guiarme para mover un servo con salida de sonido para raspberry?? Gracias de antemano ☺️
Muchas gracias! Podrías apoyarte del resto de videos en este canal. Si tienes alguna duda específica con gusto te apoyo. Saludos!
@ listo logré hacerlo, muchas gracias!!! 👏👏👏
Me da gusto. Mucho éxito!
@ muchas gracias y me encanta tu canal!!! 👏👏👏
Gracias por el video, realice un proyecto con tu código en mi canal para mover una figura de ojos en 3D.
Muchas gracias por el comentario. Un gusto!
Excelente video, es justo lo que necesito, sin embargo, tengo un problema al ejecutar el programa ojalá me pueda ayudar.
Gracias por tu comentario. ¿Cuál es el problema? Saludos!
Amigo, excelente tutorial
Hola! Muy buen video. Quisiera saber si tienes un vídeo o algún material para poder realizar esta misma acción pero sin tener conectado el Arduino de forma cableada al computador con un módulo de cámara o algo similar. El proyecto me exige que sea un objeto que se desplace en una ruta mediada por elementos que debe detectar mediante una cámara. Muchas gracias!
Hola Miguel, gracias por tu comentario. Puedes utilizar un protocolo como ZigBee para realizar la conexión de forma inalámbrica, intentaré hacer un video esto. Saludos!
Te lo agradecería bastante! Un saludo!
Cual compilador de python usa ?
En la descripción está el enlace del artículo, ahí se especifica todo. Saludos!
Muy buen video!! A qué se puede deber que la cámara se congele cada cierto tiempo y deje de responder? La capacidad de la PC, la sobrecarga de información del puerto Serial? gracias! Aclaro que el código es el mismo en python. En arduino, en vez de correr un servomotor utilizo unas funciones para mover a un robot, pero no debería implicar muchos problemas. van desde Adelante(); hasta Atras(); y demás...
Gracias por el comentario. Puede deberse al puerto serie ya que suele presentar problemas de comunicación, te recomendaría ir haciendo pruebas con retardos hasta que encuentres el mejor momento de sincronización. Yo lo he probado sin problemas. De hecho, mas adelante estaré haciendo la actualización de este video agregando más variables y conectándolo a un brazo robótico real. ¡Saludos!
@ gracias!!
Si alguno lo piensa correr en linux, en la sección del "COM=" en el código , solo deben de poner el puerto por el cual esta conectado su Arduino, en mi caso fue /dev/ttyACM0
Gracias por el dato! Saludos!
buen video vas con la raspberry
Muchas gracias por tu comentario. Próximamente crearé videos utilizando la RaspberryPi. Mantente pendiente. Saludos!
Buen día. Muy bien video, pero, al momento de ejecutar los códigos tanto en Python como en Arduino funcionan bien los códigos pero el servomotor no se mueve, no se a qué se deba, revise el COM, y todo parece estar bien. Tendrás idea de que pueda ser?
Gracias por tu comentario. Tendría que observar los códigos para poder revisar. Puede ser que en el Arduino no se esté comprobando correctamente la palabra clave para que proceda al movimiento. Saludos!
muy bueno, excelente video, aunque me entra la duda que si uno solo quiere conectar un led a la salida como seria ya que el servo tiene muchas variables y en este caso no serian tantas para lograr que la cámara no se ponga mas lenta, es decir, como se haría para que cuando detecte el color se encienda y si no hay se apague... saludos
Hola Eduardo, tendrías que modificar el código en el Arduino y los if en el código Python de acuerdo con tu idea. Tú defines cuando se debe encender o apagar. Saludos!
tengo una pregunta, si lo quisiera realizar con el rostro es posible?
Hola Richard, claro que es posible, solamente tienes que utilizar otra librería para la detección de rostros. Saludos!
Es posible hacer dicho programa usando un puerto virtual en Proteus?
No le he intentado, pero teóricamente si se debe de poder, ya que la comunicación sería por ese puerto serie virtual. Saludos!
Excelente video, me funciono perfecto.
Una duda, controlar 2 servomotores al mismo tiempo con esta misma funcion, se puede?
Hola, gracias por tu comentario. Si puedes controlar todos los servos que quieras, solamente tienes que enviar el código o palabra clave para que al recibirla el Arduino sepa a qué servo tiene que mover. Quedo atento a cualquier duda que tengas. Saludos!
hola hermano soy nuevo por aqui me esta curiosidad como funciona, con arduino 1, pero que quería preguntar algo como le haces para la cámara es una cámara propia de la pc o es un programa tengo dudas quisa me ayude en algun futuro
Hola gracias por tu comentario. La cámara es la de la computadora, pero puedes utilizar una externa conectada por USB. Saludos!
Buenas al momento de correr el programa en python me salta este error
AttributeError: module 'serial' has no attribute 'Serial' , no he podido quitarlo, nose si me pueda orientar en como desaparecer ese error, saludos
Hola Luis, te recomiendo ir al Blog: bit.ly/31EbJKV ahí explico todo los pasos y se soluciona ese error, ya que es por la instalación de la librería. Saludos!
Excelente video. Esto es Visual Studio Code? Mil gracias
Muchas gracias! Es PyCharm. Saludos!
Existe algún módulo con cámara para concertar al Arduino??
Hola, existen algunos como el MÓDULO CÁMARA VGA OV7670, algún día haré un video con ella. Saludos!
Tengo una duda como le puedo hacer para que Python me detecte más de un color, y dependiendo del color detectado mande una posición al servomotor o active otra respuesta
Como activar un led o mover una solenoide
Excelente pregunta, simplemente modificando el código para tener dos objetos en lugar de 1. Trataré de hacer en el futuro un ejemplo de ello.
Saludos!
Hola! Espero te encuentres muy bien.
Agregué un servo más y al correr el código la cámara capta bien pero al momento de encuadrar el color que quiero, la captura se queda trabada.
Que puede ser?
Saludos.
Hola Eduardo, puede ser al momento de querer enviar el dato por el puerto serie. Puedes compartirme el código ara he charle un vistazo a mi correo electrónico. Saludos!
Me funcionó! Muchas gracias! Sólo me falta encontrar que me describa el eje Y. Saludos!!!
Ya me suscribí también!
Hola David, me da gusto que te funcione! A qué te refieres con que te describa el eje y?
@ Me refiero a que me diga las coordenadas en el eje Y, osea verticalmente. Solo las veo horizonalmente. Gracias!
Hola David, si sigues exactamente el código del video también te muestra las coordenadas en y, precisamente la guarda en una variable llamada y. No se si me expliqué.
@ Siii! Minuto 9:19 está lo que decía! Este tutorial vale oro! Gracias amigo!
Y para seguir un objeto circular.? No importa el color
¡Es una gran idea! en OpenCV existen funciones para detectar formas, podrías iniciar por explorar este paso. Te recomiendo explorar todo lo que OpenCV puede ofrecerte es una gran gran herramienta.
Saludos.
hola muy buen video ... Tenes algún video donde pueda detectar líneas paralelas y medir las distancias entre ellas ? saludos desde argentina
Hola Damián, aún no tengo algo así, pero lo consideraré para futuros videos sobre visión artificial, muchas gracias por la recomendación! Saludos!
Amigo muy bueno. Podrías aplicarlo al conteo de objetos que entran y salen por la misma puerta, es para una empresa
Excelente idea! Lo tomaré en cuenta para un próximo video.
Saludos, Estupendo video: una pregunra, es posible saber la profundidad a la que está el objeto, por ejemplo si el objeto está hacia la derecha como se puede saber la profundidad a la que está el objeto ?
Gracias por tus comentarios, para saber la profundidad se necesita otro tipo de cámara así como de otro procesamiento o sensor.
@ ok, quizá alguna otra sugerencia un poco más accesible ?
Puedes usar el sensor HC-SR04, en este mismo canal encontrarás uno: ua-cam.com/video/TeIhQu91FyY/v-deo.html
@ super, gracias
Hola me encanto tu video pero necesito ayuda para implementar todo esto en un brazo robótico de marca Braccio. Cuenta con 6 servomotores y en Arduino este mismo cuenta con su propia librería llamada braccio.
Hola Paula, muchas gracias por tu comentario. Te invito a intentar replicar el video adecuado el código a tu necesidad. Mucho éxito!
que pasa si quiero agregarle mas angulos para que el servo rote 360 ° se puede y que mas se tiene que agregar ?
Hola cyberpunk, para que el servo rote más de 180º necesitarías cambiarlo por uno de giro libre, donde solamente podrás controlar la dirección y la velocidad. Los de giro limitado son precisamente para controlar posición de manera precisa. Entonces, todo depende de lo que necesites. Quedo atento a tus comentarios. Saludos!
Si uso el IDE de visual estudio igual se puede usar Open CV?
Hola Martín, claro que se puede utilizar, solamente tienes que tenerlo instalador en un fichero y configurar Visual Studio para que lo pueda importar. Saludos!
quiero hacer lo mismo para detectar armas con IA y enviar datos a un servidor, crees que me funcione arduino o mejor rasberry pi?
Considero en mi opinión que todo lo que necesite procesamiento de imágenes sea en la RaspberryPi y las señales de control sean desde Arduino. Creo que la combinación de ambos puede funcionar. Saludos!
No hay una forma de descargar el código de python a una placa para no tener que usar toda la laptop en el proyecto? Es posible?
Hola, puedes montarlo en una RaspberryPi, por ejemplo. Saludos!
Excelente justo lo que buscaba ya quiero que mis robots se muevan según su entorno y no con un programa que se repite una y otra vez. Con esta aplicación se vera mas autónomo. Me gustaría agregarle AV Jarvis para que funcione junto a la visión artificial. Crees que se pueda?
Excelente Juan de Dios, supongo que si se puede implementar, la verdad nunca lo he intentado, al menos la parte de reconocimiento de voz sería muy útil.
como puedo agregar otro motor y que se mueve en el eje y?
Pronto realizaré ese video 😀
Hola, quiero realizar un trabajo semejante al suyo para un trabajo de clases.
Detectando variaciones en un artículo vase una foto original.
Y Activando igual un Arduino, una salida si la deteccion es igual y otra salida si la imagen es diferente.
¿Cree me pueda ayudar?
Hola Alfonso, con gusto puedo ayudarte a resolver tus dudas, puedes enviarme un correo con tus preguntas y con mucho gusto te apoyo.
Buen video amigo me gustaria que me ayude para hacer este ptoyecto con camaras de video vigilancia
Gracias por tu comentario. Me encantaría apoyarte, puedo ayudarte a resolver dudas generales, para lo cual te pido me envíes un correo. Saludos!
It would be better if it would be in english. Id like to learn from you sir :)
Hi Kirito, thank you for the comment! Yes, it would be great, and I pretend to add English subtitles in the future, I hope to see you here then :)
@ Yes sir, thank you very much!
Cuando primero incio el programa en phyton arduino me dice que el puerto no esta disponible y cuando lo incio primero en arduinon python es el que me dice que el puerto no esta disponible como puedo arreglar eso ?
Hola, desconozco el porqué del error, si me envías al correo las capturas de imágenes del error podría revisarlo. Tal como está el código explicado en el video ha funcionado perfecto para mi caso. ¡Saludos!
Me gustó tú video, solo tengo una duda en la parte en la que seccionas el tamaño de imagen que te da tu cámara, espero me pudieras explicar esa parte, ya que el tamaño de imagen que mi camara da es de 640x360, te agradezco hermano.
Hola Víctor, en mi caso mi cámara me entrega por default un tamaño de 1920x1080, por lo que en el eje X tengo hasta 1080 posiciones. En tu caso, simplemente tendrías que ajustar tus comparaciones if a tu tamaño. Quedo atento a tus dudas. Saludos!
@ muchas gracias
@ otra duda si mi cámara abre pero se cierra al correr el programa, cual pudiera ser la falla?
Hola Víctor, para poder apoyarte necesitaría ver el código, te pido de favor me lo envíes a mi correo electrónico para poder revisarlo. Saludos!
una duda el codkgo me funciona excelente sin embargo no me abre una ventana para ver lo que ve mi camara
Hola Juan. Es muy extraño lo que comentas, ¿te marca algún error? Saludos!
@ Hola, era un error en una indentacion y una mayuscula que me comi, ya detecta todo nomas creo tener un error en el codigo de arduino ya que no se mueve
@ seria posible aplicar esto con un servomotor, quiero suponer que lo que cambia en la parte de python son los ifs
Que bueno que se solucionó. El ejemplo es con un servomotor, no se si te refieres a incluir otro servomotor. De hecho, tengo pendiente hacer un video controlando dos servos. Saludos!
Buenos días me compila el código hasta la cámara pero apenas detecta el color se queda colgado el frame ,¿ a que se debe?
Hola Gustavo, es complicado saber porque es si no tengo una captura de pantalla del error. Te recomiendo leer el mensaje de error que debe aparecer en la terminal. Saludos!
y si quisiera agregar la coordenada Y y otroservo como podria hacerlo alguien me puede ayudar :c ?
Hola, puedes revisar en el código e interpretar dónde agregarlo, pero puedes agregar tanto información como desees, para el segundo servo, simplemente envías otra instrucción y en el Arduino debes relacionarla con el otro servo. Saludos!
@ logre hacerlo pero ahora no se por que cuando conecto los dos servos el programa se cierra despues de un tiempo aleatoria a veces son 5 segundos otras veces 10 segundos estoy usando el arduino uno no se si podrias ayudarme con ese problema por favor
si quiero agregar mas colores a parte de azul, se puede?
Hola María, claro que se puede modificar, en el video explico la parte donde se elige el color que vamos a detectar, también te recomiendo visitar la versión escrita donde se explica con mayor detalle: bit.ly/31EbJKV
Saludos!
Lo intente pero no detecta varios colores al mismo tiempo, solo me funciono de uno en uno.
Hola María, tendrías que hacer algunas modificaciones en el código como crear una nueva máscara y buscar los contornos con esa máscara nueva
@
azulBajo = np.array([90, 100, 20], np.uint8)
azulAlto = np.array([120, 255, 255], np.uint8)
rojoBajo = np.array([5, 100, 20], np.uint8)
rojoAlto = np.array([45, 255, 255], np.uint8)
verdeBajo = np.array([60, 100, 20], np.uint8)
verdeAlto = np.array([70, 255, 255], np.uint8)
mascara = cv2.inRange(frameHSV, azulBajo, azulAlto)
mascara2 = cv2.inRange(frameHSV, rojoBajo, rojoAlto)
mascara3 = cv2.inRange(frameHSV, verdeBajo, verdeAlto)
@ ok checaré en la parte de los contornos, muchas gracias
Más vídeos con python y arduino saludos crack
Claro que sí!
amigo, me puedes pasar el codigo, o colocarlo en algun lugar para descargarlo?
Hola, el código se encuentra en la versión escrita en el blog: bit.ly/31EbJKV
Muchas gracias por el video, muy explicativo y dinámico.
Lamentablemente por alguna razón no me funciona, el código en python si funciona, inicia la cámara y detecta el objeto. Pero por alguna razón el servo no se mueve, pareciera que el Arduino si recibe las señales por la luz que prende cuando muevo el objeto. Sabe que pudiera ser el problema? Mis servos funcionan perfectamente.
Cuando compilo el codigo en arduino me aparece esto: warning: multi-character character constant [-Wmultichar]
if (inChar == '\
') {
Hola Yamir, gracias por tu comentario. Al parecer tienes repetida la doble diagonal "\
" por lo que el puerto serie al recibir los datos, nunca activa la bandera de que terminó de recibir. Puedes dejarlo como if (inChar == '
')
Quedo atento a tus comentarios, un saludo!
Es mi primera vez interactuando con python. Copié el programa de Python tal y cómo aparece en el blog. Pero me sale un error , con la primera linea, osea la 1. Dice Module Not Found Error: No moduled named 'cv2'. En el vídeo dices que ay que importar esa librería. Creo que eso es lo que me falta pero noce hacerlo. Me podias ayudar. Gracias de antemano!
Hola Juan de Dios. Te recomiendo leer la versión escrita del capítulo el link esta en la descripción: www.automatizacionparatodos.com/vision-artificial-arduino/
También tienes que instalar otras librerías como la de pip install pyserial
Quedo atento a tus comentarios. Saludos!
@ Gracias hare lo que me dices
@ lo leí he hice los pasos pero me sige dando el mismo error. Podíamos hacer un team viewer.
Hola Juan, puedes enviarme un correo con los pasos y códigos utilizados y te puedo ayudar con ello. No es muy complicado solamente tenemos que asegurarnos de que estás instalándonos librerías adecuadas.
@ escríbeme por favor tú correo ya qye desde tú página estoy intentando de envíale la información y cuando le doy click a enviar me dice que lo intente mas tarde que hubo un error.
instale la libreria serial pero me sigue sin reconocerla en python... tengo la version 2.7
Hola Arnaldo, el ejemplo lo realicé con la versión 3 pero con la 2.7 debería funcionar. Para poderte ayudar, podrías enviarme al correo alguna captura de pantalla o el código que utilizaste para instalar? Quedo atento a tus dudas. Saludos!
@ ok te voy a enviar la info al correo descrito en la info del video, estoy usando Liclipse con un pequeño programa reconocedor de rostro, lo que queria hacer es en vez de seguir al objeto como en tu video, que siguiera el rostro de una persona. Ya te mando donde me genera el error. Al llamar IMPORT SERIAL y describir el ser = serial.Serial(COM, BAUD) me dice que "Serial" no esta dentro de la libreria, igual el procedimiento que use para instalar fue a traves de cmd con C:\Python27\Scripts> pip install serial
Te he respondido el correo, intenta instalar la libreria: pip install pyserial
Para lo de detección de rostro de manera más fiable, existen otras técnicas (anotaré para un siguiente video), con este ejemplo lo que detectará son colores, si filtras bien el color, con el color del rostro, puede funcionar 😀
@ Genial me a funcionado, automaticamente al abrir Liclipse logro implementar la libreria serial justo como en tu explicacion sin error, muchas gracias por ser atento y responder, estaria genial si haces en otro video un ejemplo que el servomotor se guie haciendo seguimiento al rostro humano.
Encantado ayudarte. Lo tengo anotado!! Saludos!
Hola gente q tal, tengo una pregunta al momento de ejecutar el código de python en visual studio code (con todas las librería previamente instaladas) el mismo no genera la imagen de la cámara y el código tampoco saca errores
Simplemente al ejecutar el código de python no abre la cámara y no saca errores
Alguien sabe que puede ser
Lo estoy haciendo desde un portátil (lo comento ya que no estoy usando cámara usb sino la del portátil por defecto)
Hola John, puede ser que el ID asignado para la webcam no sea el correcto, intenta cambiándolo. A veces la ventana de la cámara queda en el fondo, intenta verificar si no se abre una ventana extra. Quedo atento a tus comentarios.
En tu código es muy necesario tener un distancia mínima, quiero hacer esto pero con una Raspberry Pi y en vez de que detecte a una pelota lo haga con una persona, pero cuando ejecuto el código no me marca el centroide a no ser que este muy cerca de la cámara. Tampoco me he alejado 10 metros, solo me he alejando como 1m o 1.5 m
Hola Luis, gracias por tu comentario, puedes ajustar el área de detección precisamente con la variable "area", con esto ajustas tu distancia. Saludos!
Cómo podría hacer funcionar 10 servomotores al mismo tiempo ? Con la visión artificial?
Hola! Sería de manera muy similar, solamente tienes que agregar las salidas correspondientes para cada servo, solamente te recomiendo alimentar los servos con una fuente distinta del Arduino para evitar sobrecargas de corriente. Saludos!
Bueno días, primero agradecer por el excelente video y explicación del mismo, le comento que recién estoy empezando en el mundo python y se me presenta un problema al momento de probar su código. Al principio corre perfectamente, pero luego de unos segundos de estar haciendo el traqueo del objeto y moviendo el servo el programa se empieza a trabar, a congelar, calculo que debe ser por la comunicación serie, por que editando las líneas donde envía los datos al arduino no se tranca el programa. Probé subiendo la velocidad a 115200 baud y lo mismo, probé con la función time.sleep(0.02) (20ms de retardo) despues del envío de cada dato al arduino y el problema persiste. Tiene alguna idea de que puede estar pasando? Las pruebas la estoy realizando en win11 y una notebook relativamente nueva. Desde ya muchas gracias por su tiempo.
Te recomiendo depurar, ir ejecutando el código línea a línea hasta ver donde se queda, ahí podríamos detectar que esta pasando. Yo lo he usado continuamente sin problema. Saludos!
Muchas gracias!@
Recuerda que todos los códigos aquí mostrados y diagramas los puedes encontrar en:
➤ bit.ly/31EbJKV
Aquí está el resultado ua-cam.com/users/shortsJAgEMfM6zLg?feature=share
Wow! genial aplicación! Gracias por compartir.