Un ROV de agua dulce, con mando de PS2

Si te gustan los modelos Radio Control RC este es tu foro.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Ahora voy a intentar explicaros el programa para que se entienda.



Si a alguien le interesa el tema, le aconsejo que se haga un curso gratis, por internet de Arduino, hay muchísimos, y muy variados, y a demás en distintos idiomas, tienes el curso en Alemán, Chino, Ruso, etc., y por supuesto en Español, así que, según el idioma que dominéis, podéis hacer el curso en un idioma u en otro.



Con cualquier curso de los que hay por la red, dedicándole solo unas horas durante los fines de semana, en alrededor de un mes, ya podéis ir haciendo cosas interesantes.



Como en todo se necesita una curva de aprendizaje, si empiezas de cero, te enseñan a instalar el programa de control o IDE de Arduino, como incluir librerías, las diversas órdenes y comandos de programación, etc., en definitiva, te enseñan que es y para qué sirve el entorno Arduino.



Más que nada por dos cosas, una, porque nos abre un montón inimaginable de posibilidades para implementar en nuestros modelos, y cada uno lo puede adaptar a sus necesidades, desde lo más sencillo, encender una luz fija, encender una luz intermitente a modo de señalización, o a lo mas complicado, controlar por completo el modelo, que navegue solo, y desde casa, ver la ruta que está siguiendo, y ver las imágenes como si fueses montado en el puesto de mando, o como me ha comentado un compañero del foro, manejar las distintas velas de un barco velero con varios palos, como dicen en la página de Arduino, “El límite lo pones tú, y tú imaginación”.



Y otra razón, es para que sepáis de qué estoy escribiendo, y así evitar que os perdáis a lo largo de mis explicaciones, que aunque voy a procurar que no sean excesivamente técnicas, siempre hay que utilizar un lenguaje específico.



Por ejemplo, mirar las publicaciones del compañero tsanshon aquí



https://www.foromodelismonaval.es/viewtopic.php?f=46&t=16047



y en esta otra publicación



https://www.foromodelismonaval.es/viewtopic.php?f=46&t=6366



Los pasos de construcción de los barcos, son una maravilla, pero los secretos de la programación de los mandos y de los barcos, también.



Así que ya tenéis deberes para esta semana, ver las publicaciones del compañero tsanshon, y aprender algo de Arduino.



Un saludo.
Última edición por asesorplaza1 el Dom Abr 26, 2020 2:13 pm, editado 1 vez en total.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Una vez que habéis empezado el curso de Arduino, os resumo bastante cómo funciona el IDE, y os explico un poco mi programa.

Como ya sabéis la ventana del IDE se puede dividir en 3 grandes bloques o partes

LA PRIMERA seria la parte de arriba donde está la barra de herramientas, con todas las opciones del programa, incluida la lupa del Monitor Serie, que está a la derecha de la ventana principal, y que se utiliza para “ver”, que está haciendo el Arduino, siempre y cuando en el programa hayamos puesto la orden

Código: Seleccionar todo

Serial.print()
Que le manda al Arduino, imprimir algo por el puerto de comunicaciones del ordenador, y así que el usuario, pueda controlar los distintos procesos que está haciendo el Arduino.

LA SEGUNDA seria la ventana grande con el fondo blanco, que es donde se escribe todo lo referente al programa en sí, que a su vez se puede dividir en 4 sub-partes

1 arriba del todo, seria la parte que va escrita y que siempre empezara comentada, donde le ponemos el nombre del programa, o alguna explicación corta, que siempre empezara con las dos barras de división

Código: Seleccionar todo

// Lo que haya escrito en esta línea no se ejecutara nunca
Que encontraremos en el teclado usando el botón de mayúsculas y el botón del numero 7, o bien en los teclados expandidos, en el bloque numérico es la barra de división, este signo se utiliza cuando quieres escribir pocas líneas y siempre las empiezas todas con //.
O bien con los signos de división y multiplicación seguidos

Código: Seleccionar todo

/* Todo lo que escribamos aquí en medio no se ejecutara nunca */
<br/>
Esto se usa para cuando quieres escribir un texto más largo, con más de 4 líneas, y así no tienes que estar poniendo las dos //, al principio de cada línea.

2 La parte siguiente es donde se ponen todas las órdenes de inclusión y definición que se van a utilizar en el programa, y esto si lo ejecutara el programa, es donde ponemos todas las librerías que vamos a utilizar en el programa, y todos los comandos para definir las variables que vamos a utilizar.

Es donde van las ordenes

Código: Seleccionar todo

#include &lt;libreria.h&gt;
Const Int
Int
Byte
También es donde se crean los sensores que vamos a utilizar

Servo Servodireccion

Y el pin donde está conectado ese sensor o servo

Código: Seleccionar todo

Const int RedLedpin = 13;
El LED rojo está conectado en el pin 13

3 El void setup, que es la parte del programa que solo se ejecuta una vez, cuando arranca el Arduino, y lee el programa entero, y es donde se le dice que hacer, o donde guardar momentáneamente los datos obtenidos.

4 El void loop, que es la parte del programa que se ejecuta continuamente, una y otra vez, sin descanso, mientras que este encendido el Arduino, y es donde, por ejemplo, va comunicándose con los distintos periféricos que tiene pinchados, y obteniendo los datos que va leyendo de los distintos sensores.

Y EL TERCER GRAN BLOQUE, que es el de abajo del todo con el fondo en negro, esta parte del IDE, normalmente no hace nada, hasta que el usuario no se lo dice, por ejemplo, cuando has escrito un programa, y quieres comprobar si es correcto, le das al botón de compilar, es donde te marca los errores, o si el programa es correcto y ha compilado y lo quieres subir al Arduino, te informa del tamaño del programa, del porcentaje de memoria que ocupa, y te informa de cuando ha terminado de pasar el programa al Arduino.

El que quiera saber más sobre el IDE de Arduino, que haga un curso gratuito por Internet, sintiéndolo mucho, yo no soy profesor de Informática.

Un saludo.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Todos tenéis mucha prisa por ver los códigos, pero tengo que haceros una advertencia

LOS CÓDIGOS NO FUNCIONAN CORRECTAMENTE TODAVÍA.

Van haciendo cosas, pero todavía no van todo lo finos que deberían, y dan muchos fallos, sobre todo el mando de la PS2, los códigos están en pleno proceso de depuración.

En mis dos programas, veréis que hay comentadas en el encabezamiento del programa “Maestro”, por ejemplo, desde la línea /* 1, hasta la línea 123 */, que es donde explico el funcionamiento del programa, las fechas de los cambios producidos hasta ahora, donde están conectados los distintos pines del mando, y de donde he sacado el programa original, que ya no se parece en nada al mío.

Después incluyo las librerías <PS2X_lib.h>, y la librería <Easytransfer.h>

Posteriormente genero todos los parámetros que se utilizan en el programa, y genero también la estructura de datos a enviar y a recibir de un Arduino al otro.

Comienza el void setup, iniciando y leyendo el mando de la PS2, establezco algunos pines de salida, y lo más importante

Genero e inicio 2 puertos serie

Uno para la comunicación con el ordenador

Serial.begin(9600);

Y otro puerto para que se comuniquen los dos Arduinos

Serial1.begin (9600);

Con dos órdenes muy parecidas pero no son iguales, tenéis que tener mucho cuidado con estos detalles, porque os va a pasar más de una vez, dos líneas que se parecen mucho, pero que significan cosas distintas.

Si se establece la comunicación con el mando, y es correcta, seguimos con el programa, si no me marca un mensaje de error

Vamos con el void loop()

Si se ha iniciado el mando correctamente y se han leído todas las funciones del mando, comprueba el estado de cada botón, que debe ser apagado o cero, y cuando esto cambie, guárdalo en una variable llamada

PSB_PAD_UPstate = (ps2x.ButtonPressed(PSB_PAD_UP));

Luego si el estado del botón cambia, guardalo en esa variable

PSB_PAD_UPstate

Enciéndeme un LED para que yo lo vea y mándame ese cambio de estado del botón al otro Arduino

Código: Seleccionar todo

if (ps2x.ButtonPressed(PSB_PAD_UP)) // Si presionamos el botón izquierda arriba
    {
      PSB_PAD_UPstate = (!PSB_PAD_UPstate); // guarda el cambio
      digitalWrite(yelLEDpin, HIGH); // Enciende el Led Amarillo
    }
    else
    {
      digitalWrite(yelLEDpin, LOW); // Apaga el Led Amarillo
    }
    txdata.PSB_PAD_UPstate = (PSB_PAD_UPstate); // manda el estado del boton al Esclavo

Y así con todos los botones del mando

Espérate 2 segundos antes de continuar con el programa, línea 476.

Y a partir de aquí, línea 478, ve haciendo cosas con los datos recibidos del Arduino “Esclavo”.

A partir de la línea 554, ve mandando al PC, y ordenaditos, todos los datos recibidos de los sensores del Arduino “Esclavo”, para que yo controle el funcionamiento del programa

Al final línea 619, espérate 10 segundos, y vuelve a empezar con el void loop.
Última edición por asesorplaza1 el Sab Abr 25, 2020 11:37 pm, editado 2 veces en total.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Todos tenéis mucha prisa por ver los códigos, pero tengo que haceros una advertencia

LOS CÓDIGOS NO FUNCIONAN CORRECTAMENTE TODAVÍA.

Van haciendo cosas, pero todavía no van todo lo finos que deberían, y dan muchos fallos, sobre todo el mando de la PS2, los códigos están en pleno proceso de depuración.

Vamos con el programa del “Esclavo”, por ejemplo, desde la línea /* 1, hasta la línea 119 */, que es donde explico el funcionamiento del programa, las fechas de los cambios producidos hasta ahora, donde están conectados los distintos pines del mando, y de donde he sacado el programa original, que ya no se parece en nada al mío.

Después incluyo un montón de librerías para que el Arduino pueda trabajar con los sensores

Posteriormente genero todos los parámetros que se utilizan en el programa, genero las variables de los sensores, genero la recepción de datos de los botones del mando, y genero también la estructura de datos a enviar y a recibir de un Arduino al otro, que es diferente a la del programa anterior.

Comienza el void setup, iniciando las comunicaciones que me hacen falta con los sensores, establezco algunos pines de salida, y lo más importante

Genero e inicio los 2 puertos serie que hice en el otro programa
Uno para la comunicación con el ordenador

Serial.begin(9600);

Y otro puerto para que se comuniquen los dos Arduinos

Serial1.begin (9600);

Con dos órdenes muy parecidas pero no son iguales, tenéis que tener mucho cuidado con estos detalles, porque os va a pasar más de una vez, dos líneas que se parecen mucho, pero que significan cosas distintas.

Vamos con el void loop()

Se generan todos los bloques de trabajo de los distintos sensores con la orden

Loop_ESC()

Y se reciben los estados de los botones del mando

PSB_PAD_UPstate = (rxdata.PSB_PAD_UPstate); // Recibe lectura del botón Izquierda arriba al Esclavo ***

Y se establece que hacer si se recibe el dato de cambio de estado del botón correspondiente con la orden para cada botón

if (rxdata.PSB_PAD_UPstate > 0)
// Si presionamos el botón izquierda arriba
{
digitalWrite(yelLEDpin, HIGH);
// Enciende el Led Amarillo
digitalWrite(HeadLts, rxdata.LEDHdlts);
// Enciende los focos
}

else if (rxdata.PSB_PAD_DOWNstate > 0)
// Si presionamos el botón izquierda abajo
{
digitalWrite(yelLEDpin, HIGH);
// Enciende el Led Amarillo
}

Y así con todos los botones del mando

Espérate 2 segundos antes de continuar con el programa, línea 460.

Y a partir de aquí, línea 468, ve haciendo cosas con los sensores y manda los datos de cada sensor al Arduino “Maestro”, y ve mandando los datos al PC, y ordenaditos, para que yo controle el funcionamiento del programa

Al final línea 711, manda todos los cambios de los datos de los sensores al Arduino “Maestro”, y vuelve a empezar con el void loop.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Bueno pues después de calentaros la cabeza intentando explicar las ordenes más importantes del código, viene lo que estabais esperando todos con ansia.
Los famosos códigos.

No me canso de repetirlo

LOS CÓDIGOS NO FUNCIONAN CORRECTAMENTE TODAVÍA.

Van haciendo cosas, pero todavía no van todo lo finos que deberían, y dan muchos fallos, sobre todo el mando de la PS2, los códigos están en pleno proceso de depuración.

Tanto la comunicación entre Arduinos, como el mando de la PS2, están basados en el trabajo de Bill Porter

Comunicación entre Arduinos

http://www.billporter.info/2011/05/30/e ... o-library/

Mando PS2

http://www.billporter.info/2010/06/05/p ... rary-v1-0/

http://www.billporter.info/2011/03/27/a ... ing-guide/

Pero de todas formas aquí están los códigos.

Un saludo a todos
Adjuntos
28_23_04_2020.rar
Estos son los dos códigos
(15.55 KiB) Descargado 92 veces
Adafruit_ADXL343.rar
Librería de sensores
(11.84 KiB) Descargado 84 veces
Adafruit_Circuit_Playground.rar
Librería de sensores
(448.5 KiB) Descargado 107 veces
Adafruit_Unified_Sensor.rar
Librería de sensores
(12.75 KiB) Descargado 80 veces
DHT.rar
Librería de sensores
(1.71 KiB) Descargado 80 veces
EasyTransfer.rar
Librería de comunicaciones entre Arduinos
(95.15 KiB) Descargado 91 veces
MPU6050.rar
Librería del giroscopio
(96.06 KiB) Descargado 74 veces
OneWire.rar
Librería de comunicación de sensores
(19.45 KiB) Descargado 74 veces
PS2X_lib.rar
Librería del mando PS2
(9.41 KiB) Descargado 84 veces
Servo.rar
Librería para el servo
(29.42 KiB) Descargado 82 veces
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

A partir de ahora, abro un periodo de 5 minutos, para preguntas sobre el proyecto, después de ese tiempo, no contestare a ninguna pregunta, sin la presencia de mi abogado.

Es broma, contestare y explicare lo que pueda, y lo que no os mandare a las mismas referencias de donde saqué yo la información.

Espero que este proyecto y sus explicaciones, os anime a implantar el Arduino en vuestros proyectos, por la infinidad de posibilidades de controlar vuestros proyectos que se os abren.

Pues ya os he descubierto el ¿Por que? de tener parado el tema de la construcción del otro barco que tengo en el tema

viewtopic.php?f=46&t=15702

Hasta que no acabe con este proyecto, no puedo continuar con el otro

Un saludo.
Última edición por asesorplaza1 el Sab May 02, 2020 2:06 pm, editado 1 vez en total.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Ahora os cuento los fallos que tengo en los programas, tanto en el Maestro como en el Esclavo

En el "Maestro", que es el que está en el puesto de control.

Los indicadores LED de la placa tx y rx, del “Maestro”, no se encienden, por lo tanto no se si está produciendo la transmisión y la recepción de datos, o no, parece que sí, puesto que los valores cambian.

En el Monitor Serie del “Maestro”, si puedo ver los datos de los valores de los sensores, por ejemplo, si muevo el giroscopio me cambia sus valores.

El sensor de infrarrojos E18D80NK, cuando no hay nada que corte la luz, me dice peligro, cuando corto la luz, me dice todo despajado, por lo tanto ahora está funcionando al revés, hubo un momento en el que funcionaba bien.

El piloto chivato de que el mando está en funcionamiento, no se enciende, por lo tanto el mando no va bien, y los botones no provocan ninguna reacción en el montaje.

En el "Esclavo", que es el que está dentro del ROV.

Los indicadores LED de la placa tx y rx, del "Esclavo", no se encienden, por lo tanto no se si se está produciendo la transmisión y la recepción de datos o no, parece que sí, puesto que los valores cambian en el " Maestro ".

No puedo ver los datos de los sensores en el Monitor Serie del "Esclavo".

Si aprieto cualquier botón, o muevo cualquier palo, no hay respuesta en el Arduino Esclavo.

Los motores se encienden solos, sin tocar los botones del mando, cuando pasa un minuto que esta encendido el "Esclavo", por lo tanto, ellos no obedecen las órdenes de los palos del joystick, y no los puedo controlar a ellos, ellos solos se apagan si yo apago la corriente.

Espero poder solucionar pronto estos fallos, para poder continuar con el proyecto.

Un saludo.
Última edición por asesorplaza1 el Lun Abr 27, 2020 6:42 pm, editado 1 vez en total.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Buenos días.

Parece que todos me habéis hecho caso con lo del curso de Arduino, y estáis todos pegados a la pantalla haciendo el curso, y no os estáis dedicando ni a hacer barcos, ni a preguntar nada de como se hace el control del ROV, no me habéis comentado nada, supongo que es porque estáis digiriendo los programas que publiqué el otro día.

Prefiero pensar esto, a pensar que alguien se haya podido molestar por mis comentarios, ya os comenté que intentare responder a las dudas que podáis tener.

Os voy a ir comentando paso a paso, como se controla cada uno de los sensores con Arduino, primero por separado, y después como se puede juntar todo en un solo programa.

Siempre y cuando os interese el tema lo mas mínimo, en el momento que a alguien se pueda molestar, lo dejo inmediatamente.

Empezamos con algo vistoso y que a todos nos puede venir bien en algún momento

El control del SERVO

Este compañero de viaje, lo estamos utilizando de continuo, para controlar infinidad de partes de nuestros modelos que tengan movimiento, principalmente lo usamos para controlar la dirección del barco, pero se puede utilizar para muchísimas cosas más.
No me voy a extender en contaros como funciona por dentro, porque hay toneladas de información en Internet, solo os voy a explicar cómo lo he hecho yo, que tan solo es una de las muchísimas formas de hacerlo.
Como lo que quiero es que este servo se encargue de subir y bajar el ROV, en el plano horizontal del agua, lo que he hecho es controlarlo con 2 botones, uno para que me gire en un sentido, y otro botón para que gire en sentido contrario, me puse a investigar cómo se puede hacer esto y encontré esta página.

https://arduparatodos.blogspot.com/2017 ... arios.html

En esta página veréis como se controla un servo de distintas maneras

Un saludo.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Ahora que me acuerdo, ya se porque no estáis escribiendo en el foro, aun estáis intentando recoger a vuestros hijos de la calle, después de la salida del domingo.

Sigo con el ROV

Que quede claro que yo no tengo nada que ver con el Señor Luis Llamas, ni con ninguno de los productos a los que se hace referencia en su pagina, así como con ninguna otra pagina de Internet, a la que pueda hacer referencia en esta publicación

Lo que si es que la considero interesante por la información que contiene sobre Arduino, como utilizar sensores con Arduino, ya que a demás de explicar los distintos sensores, tiene ejemplos prácticos, con programas de como usar los sensores con Arduino, y yo he buscado información muchísimas veces en la pagina y me ha servido para resolver un montón de dudas, sobre el funcionamiento de los sensores y el funcionamiento de Arduino.

https://www.luisllamas.es/tutoriales-de-arduino/

Solamente la considero como una buena pagina de referencia y consulta, para resolver muchas dudas que nos puedan surgir, no es la mejor del mundo, pero si es de lo mejorcito que yo he visto en Español.

Un saludo
Avatar de Usuario
JuanP
Colaborador
Colaborador
Mensajes: 73
Registrado: Jue May 26, 2016 9:10 pm
Ubicación: Sevilla

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por JuanP »

Buenas tardes compañero.
Estoy completamente enganchado a tu proyecto. Tanto que me has abierto otra vez el gusanillo que tenía con el Arduino. He sacado del baúl el kit de iniciación que me compré de Arduino UNO en el año 2018 y he retomado las practicas. Encender y apagar el led de la placa de Arduino, encender y apagar un led externo usando una resistencia y la placa protoboard. Vamos, lo que viene siendo dar pasitos de bebé. Lo que tengo claro, es que realizar mi proyecto me va a llevar años, entre fabricar el barco y crear el programa para controlarlo.
Avatar de Usuario
tsanshon
Colaborador
Colaborador
Mensajes: 169
Registrado: Mié Jul 29, 2009 1:36 am
Ubicación: Bilbao

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por tsanshon »

Un proyecto muy interesante, lo seguiré con interés.

Un saludo.
Alberto.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Gracias a todos por los comentarios.

De eso se trata JuanP, de que os entre el gusanillo, y le perdáis el miedo.

Gracias Alberto, espero que me quede la mitad de espectacular, de cómo te quedan a ti los modelos.

Lo que pretendo es acercaros al mundo de Arduino, y que cada uno lo implemente en su proyecto, si quiere, como mejor le convenga, y sobre todo que le perdáis el miedo a programar, que no es tan complicado.

En esta publicación, no esperéis diseños espectaculares en 3D, ni el uso de impresoras 3D para la realización de piezas, por dos motivos básicos, el primero es porque no tengo ni idea del diseño gráfico digital, y el otro motivo es porque no tengo impresora 3d.

Lo que si pretendo es daros a conocer el mundo de Arduino, en la medida de mis posibilidades, haciendo referencia a las páginas de Internet, de donde yo saque una información muy valiosa en su momento.

Sigo calentándoos la cabeza con más cosas, os he puesto en la página anterior como se controla un servo, la primera, con toda la intención que os podáis imaginar, con un solo motivo, para que os deis cuenta de cómo se programa un servo, y así asentar la base del siguiente paso, como se controlan y se hacen los programas para controlar los distintos tipos de motores que nos podemos encontrar en cualquier modelo.

Ya sean servos, motores con escobillas y lo más interesante, motores sin escobillas, si esos motores con tres cables que están de moda para la construcción de drones voladores, y que por sus características, también se pueden emplear en nuestros modelos de barcos.

No me canso de repetirlo

Que quede claro que yo no tengo nada que ver con la página, ni con ninguno de los productos a los que se hace referencia en su página, así como con ninguna otra página de Internet, a la que pueda hacer referencia en esta publicación. Solamente la considero como una buena pagina de referencia y consulta, para resolver muchas dudas que nos puedan surgir.

Esta página es más técnica, y en ella, se profundiza bastante en los aspectos técnicos de los distintos componentes. Se da por hecho que ya sabéis manejar el IDE de Arduino, como instalar bibliotecas, como descargar programas de ejemplo, y como abrir el Monitor Serie de Arduino, Se le da un repaso a como programar un servo, nos enseña lo que es un acelerómetro o giroscopio, un motor paso a paso, que es un potenciómetro, que es un L293, componente electrónico (cucaracha), que ayuda a Arduino al control de motores, un motor DC de los normales con escobillas, varios driver como el L293D y el L298, solos y con su placa de expansión, y varias cosas mas

https://aprendiendoarduino.wordpress.co ... ervomotor/

A esta página volveremos más de una vez a ver y consultar como se controlan bastantes cosas.

Si queréis leer la página entera, os podéis pasar varios meses leyendo y no sé yo si la acabareis, por lo tanto no os distraigáis mucho, y centraros en los motores, y en su control, que ya volveremos a ella en otra ocasión a ver cómo funcionan más componentes.

En esta otra página también se explica cómo controlar los motores sin escobillas, de una manera más liviana

https://blog.bricogeek.com/noticias/mod ... brushless/

Y en esta otra página, también explican cómo controlar los motores sin escobillas

http://elrincondelpoli.blogspot.com/201 ... ne555.html

Entendéis ahora porque publique lo primero como se controlan los servos, porque los motores sin escobillas se controlan igual, el programa es muy parecido.

Un saludo
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Buenas tardes.

Supongo que aun estáis leyendo las páginas de las que os puse los enlaces, se que tienen miga, pero a estas alturas, ya tenía que haberos surgido alguna duda, de cómo conectar alguno de los componentes que ya hemos visto, si entendéis todas las líneas del código, o si lo que estáis leyendo os suena a Chino Mandarín, o si entendéis todo lo que se explica en ellas, más que nada, por saber si sigo intentando explicar más cosas, o me espero un poco, a que dijerais, analicéis y entendáis, todo lo que ya os he descrito anteriormente.

Ni quiero ir demasiado deprisa y que no os enteréis de nada, y que no os de tiempo a leer la información, ni quiero ir tan despacio que os aburráis, y lo dejéis por imposible, pretendo encontrar un punto medio en el progreso de la información que os doy.

Y a demás quiero saber si os interesa el tema, o pasáis por completo, no sea que este aquí escribiendo para que no le interese a nadie.

Con uno que me siga las publicaciones me vale, pero no quiero que caigan en saco roto.

He visto que hay 203 visitas, ahora mismo, y me extraña que de entre tanta gente, no se le plantee ninguna duda a alguien, tengo claro que las paginas explican muy bien los conceptos, pero creo que aun así, siempre surgen dudas.

Un saludo.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Buenas tardes.

Ahora que ya sabemos que un motor sin escobillas se maneja igual que un servo, voy a darle un vuelta más a la tuerca, y a deciros que eso no es del todo correcto.

Son elementos que se pueden manejar con mucha similitud, pero a su vez, son muy distintos los unos de los otros y os explico el porqué.

Resulta que los servos, en definitiva, son un motor de corriente continua, que tienen acoplado un potenciómetro electrónico. Si mueves el potenciómetro con los pulsos emitidos por la emisora de RC, o los pulsos emitidos por Arduino, con este mecanismo se les hace girar en un sentido o en otro.

Pero un motor sin escobillas, los de los tres cables, resulta que son motores de corriente trifásica de baja tensión, lo cual quiere decir que necesitan un ESC, que es el dispositivo que se encarga de producir esa corriente trifásica de baja tensión, y también se encarga del desplazamiento de las corrientes para hacer girar el motor, y a demás controlar el sentido de giro del motor, por lo que la cosa se complica bastante.
Y eso hay que controlarlo, para que sea efectivo, porque como decía el anuncio en la televisión de las ruedas “La potencia sin control, no sirve de nada.”

Y ¿Cómo se controla eso?, pues con un chip electrónico que se encarga de eso, y está oculto dentro del ESC.

Como ocurre con casi todos los elementos que podemos conectar a un Arduinno, llegamos tarde, y hay alguien que se nos ha adelantado, y pensado, como hacer funcionar ese dispositivo aprovechando todos sus recursos, haciendo una librería específica para controlar el dispositivo en cuestión, y los ESC, no podían ser menos.

Por eso os recomiendo que visitéis esta página, que explica como calibrar y controlar un ESC, de distintas maneras.

https://www.robotshop.com/community/blo ... no-library

No me canso de repetirlo

Que quede claro que yo no tengo nada que ver con la página, ni con ninguno de los productos a los que se hace referencia en su página, así como con ninguna otra página de Internet, a la que pueda hacer referencia en esta publicación. Solamente la considero como una buena pagina de referencia y consulta, para resolver muchas dudas que nos puedan surgir.

Un saludo.
asesorplaza1
Colaborador
Colaborador
Mensajes: 209
Registrado: Jue Ene 24, 2019 6:51 am
Ubicación: Cuenca

Re: Un ROV de agua dulce, con mando de PS2

Mensaje por asesorplaza1 »

Buenas tardes otra vez.

Ahora os voy a presentar como controlar la temperatura de nuestros modelos.

No es algo imprescindible, pero a más de uno nos ha pasado, que sin saber porque, la electrónica de nuestro modelo al rato de estar funcionando, se calienta en exceso, y se para la electrónica, porque ha saltado el fusible de autoprotección, , o se rompe la electrónica, por que se quema algún componente, y en los casos más extremos, se nos funde y daña el plástico del modelo, o incluso se puede llegar al extremo de que el modelo salga ardiendo, sin saber el porqué, y se te queda una cara de gilipollas, que no hay quien te la quite, en mucho tiempo.

Los que entendéis de electrónica, me diréis que eso puede pasar por comprar componentes baratos, y que no están preparados para el uso que se les da, y no mantienen la relación calidad de componentes / potencia exigida. Y tenéis razón, muchos de los componentes que compramos habitualmente, bien por desconocimiento nuestro, o bien porque el fabricante quiere abaratar costes, no están preparados para el uso que se les da, pero eso es otro tema.

Lo que yo os quiero presentar es un elemento que nos puede ayudar a controlar ese nivel de temperatura en un rango aceptable, y así evitar posibles catástrofes.

Ese elemento no es más que un termómetro que a demás mide la humedad, se llama DHT11, que es el modelo más básico, o DHT22, que es el hermano mayor del anterior.

Los dos se controlan igual con Arduino, y nos pueden evitar algún disgusto.

Esta página ya la conocéis, es la de Don Luis Llamas, y aquí nos explica cómo controlar los sensores de temperatura y humedad DHT11 y DHT22.

https://www.luisllamas.es/arduino-dht11-dht22/

Digo lo mismo de siempre

No me canso de repetirlo

Que quede claro que yo no tengo nada que ver con la página, ni con ninguno de los productos a los que se hace referencia en su página, así como con ninguna otra página de Internet, a la que pueda hacer referencia en esta publicación. Solamente la considero como una buena pagina de referencia y consulta, para resolver muchas dudas que nos puedan surgir.

Un saludo.
Última edición por asesorplaza1 el Jue May 07, 2020 9:47 pm, editado 1 vez en total.
Responder