subrov & wii nunchuck

Hola a tod@s.

Soy nuevo en el foro y antes de nada saludar a todos.

Soy novato con Arduino (a penas un par de meses). Lo cierto es que mi proyecto es un rov sumergible comandado con un wii nunchuk. Por ahora todo va bien con el I2C y el codigo para los motores. Mi duda es que no se la distancia que podré tener de cable entre el nunchuk (fuera del agua) y el arduino (en el rover dentro del agua).

La conexion nunchuk-arduino es de 4 cables V5, Grnd, Data SDA y ClockSLC. Ese cable (umbilical) debe ser lo más fino posible, por lo que voy a emplear cable de red de alta calidad (dos pares internos solo, sin malla). Mi pregunta es ¿cual es la distancia máxima que puedo tener de umbilical con este sistema?. He probado 5 metros y funciona, pero no quiero comprar 50 metros de cable para que luego no me sirva. Gracias

Aviso que la respuesta es larga xD

Lo que necesitas saber es la caida de tensión para hacerte una idea de que longitud de cable podrías usar. para calcular la caida debemos saber la resistencia que ofrece el cable(que se incrementa con la distancia) la cual se calcula con esta fórmula:

R = p * L/A

Donde R es la resistencia, p la resistividad del material que en el caso del cobre es 0,017 ohmios por mm²/m, L es la longitud y A es la sección del cable.

Supongamos que usas un cable de 24 awg que son 0,205 mm² de área (a mayor área menor resistencia lo que te permite más logitud, cable mas grueso te permite tener un cable mas largo, a menor awg mas distancia de cable) si usas 50 metros de cable la formula nos queda así:

R= 0,017 * 50/0,205;
R= 4,14 ohmios

Ahora ya entramos en un terreno muy especulativo, porque no has dicho ni el voltaje ni el amperaje que envias desde el mando, además yo también soy nuevo con esto de arduino y desconozco el voltaje mínimo que necesita para pasar del estado LOW a HIGH (esto lo podrías comprobar con un potenciometro si tienes)

Para que te sirva a modo de ejemplo y puedas resolverlo cuando tengas todos los datos voy a suponer unos valores para esos datos que me faltan

Supongamos que el arduino pasa al estado HIGH a partir de 2 voltios(repito no tengo ni idea si es este valor) y que el mando de la wii que funciona con dos pilas de 1,5 voltios envía 3 voltios a 100 miliamperios

Cómo había dicho para ese cable y esa longitud la resistencia es de 4,14 ohmios por lo que la caida de tensión en este caso será
V_caidadetensio = R*I;
V_caidadetensión = 4,14 ohmios * 0,1 A;
V_caidadetension = 0,414 Voltios

Cómo estabas aplicando un voltaje de 3 voltios, al arduino te llegarán (3-0,414) 2,586 Voltios que en este hipotético caso serían suficientes para que el arduino la reconociera como HIGH, por lo que podrías usar 50 metros.

Si consigues todos esos datos podrías aplicar la misma lógica de forma inversa para despejar la distancia máxima de cable que podrías usar. Espero que esto te sirva de ayuda.

EDIT: He encontrado el voltaje mínimo al que pasa al estado HIGH en este enlace: http://arduino.cc/es/Reference/Constants el voltaje es de 3 voltios, así que ya solo nos queda saber que voltaje y amperaje envias desde el mando(esto lo puedes comprbar con un tester si lo tienes)

Pues parece que el I2C del nunchuk no llega más allá de los 9 metros. A partir de ahí las señales son ilegibles. He probado con distintos tipos de cable y las diferencias son escasas. Tambien he probado a disminuir el baudrate de comunicación pero no se aprecian mejoras. Por lo tanto tengo que descartar el nunchuk como elemento de mando ya que 9 metros de cable es insuficiente. Tal vez alguien me pueda iluminar sobre que comunicación utilizar para comandar el arduino por cable a unos 20 metros de distancia empleando algun joystick comercial.

Hola. En lugar de sustituir el nunchuck, también puedes agregarle un arduino básico que lo lea por i2c y se encargue de la transmisión al otro arduino por serie u otro sistema que te proporcione el alcance necesario.

siempre podrías amplificar la señal, para que te llegue mas lejos

Yo ni idea de electrónica, pero quizás pudiera interesarte este post. Si funciona, sería perfecto para tí. Saludos.