(Arduino Nano V3)

Este proyecto te permite controlar de forma independiente 4 servomotores usando 4 potenciómetros de 10 kΩ. Es ideal para un brazo robótico de 4 grados de libertad: base, hombro, codo y muñeca (o pinza). El Arduino lee la posición de cada potenciómetro y la convierte a un ángulo (0–180°) para cada servo. (Algunas placas genéricas utilizan una versión antigua del gestor de arranque, si tienes problemas para subir el sketch considera cambiarla antes de subirlo a la placa)
Guía de apoyo el ensamble del chasis Aquí
Materiales
- 1 × Nano V3 compatible con Arduino
- 1 × Shield/Protoshield para Nano V3 (facilita el cableado, opcional pero recomendado)
- 2 × Baterías 18650
- 1 × Porta baterías para 2×18650
- 4 × Potenciómetros 10 kΩ (uno por cada servo)
- 4 × Servomotores (SG90, MG90S, o similares según tu chasis)
- Cables dupont y/o cableado
- Recomendado: 1 módulo reductor (buck) 5 V/3–5 A para alimentar los servos
- Recomendado: Capacitores de 100–470 µF cerca del riel de 5 V de los servos
Nota de alimentación: Los servos consumen picos altos de corriente (varios cientos de mA cada uno). No los alimentes desde el regulador del Nano. Usa un buck a 5 V dedicado para los servos (3–5 A), y une las tierras (GND del buck y GND del Nano) para que las señales sean de referencia común. Si usas 2×18650 en serie (~7.4 V), alimenta:
- Al buck 5 V (salida a servos y opcionalmente al pin 5V del Nano).
- Evita usar VIN del Nano para también alimentar servos: el regulador integrado no soporta esa corriente.
Conexiones
Potenciómetros (uno por servo)
- Centro (wiper) del potenciómetro → A0, A1, A2, A3 (uno para cada pot)
- Una pata lateral → 5 V del Nano
- La otra pata lateral → GND del Nano
Si el giro se siente “invertido”, intercambia las patas de 5 V y GND del potenciómetro.
Servomotores
- Señales:
- Servo 1 → D11
- Servo 2 → D10
- Servo 3 → D9
- Servo 4 → D8
- Rojo (V+) de todos los servos → 5 V del buck
- Marrón/Negro (GND) de todos los servos → GND del buck
- Muy importante: GND del buck unido a GND del Nano
Código sketch para Arduino
Cómo funciona (paso a paso)
- Declaración y pines: Se crean 4 objetos
Servo
. Los potenciómetros van a A0–A3 y las señales de los servos a D11, D10, D9, D8. - setup():
attach()
vincula cada objeto servo a su pin digital de señal. A partir de aquí,write()
enviará pulsos PWM (posiciones) a cada servo. - loop(): lectura analógica:
analogRead()
mide cada potenciómetro (0–1023). Ese valor representa la posición física del pot. - Mapeo a ángulo:
map(0–1023 → 0–180)
traduce la lectura a grados para el servo. - Movimiento:
servo.write(ángulo)
ordena la posición del eje del servo. Cada pot controla un servo de forma independiente. - Suavizado básico:
delay(10)
da un pequeño respiro entre actualizaciones para evitar vibraciones innecesarias.
Puesta en marcha
- Realiza todas las conexiones según las secciones anteriores.
- Conecta el Nano al PC (sólo datos). Alimenta los servos con el buck a 5 V.
- Sube el sketch desde el IDE de Arduino.
- Gira cada potenciómetro y verifica que el servo correspondiente siga el movimiento. Si va al revés, invierte 5 V y GND en ese potenciómetro.
Calibración y límites mecánicos
- Si tu brazo tiene topes físicos, limita el rango por software:
servo1.write(constrain(angle1, 10, 160));
(ajusta 10–160 a tus límites reales). - Si un servo zumba o fuerza, reduce el rango o revisa la mecánica.
Solución de problemas
- Temblor/Jitter: Suele ser por alimentación insuficiente o ruidosa. Usa un buck 5 V de 3–5 A; añade un capacitor de 100–470 µF cerca del riel de servos; une GNDs correctamente.
- Reseteos del Nano al mover servos: Separar alimentación (buck para servos; el Nano por USB o desde el mismo buck a 5 V), con tierras comunes.
- Movimiento invertido: Invierte las patas de 5 V y GND del potenciómetro correspondiente.
- Vibración por ruido en potenciómetros: Cables cortos, buena masa; opcional: un condensador de 0.1 µF del wiper (centro) a GND.
Extensiones (opcionales)
- Guardado de límites por servo: Define min/max diferentes por articulación para proteger la mecánica.
- Pinza: Usa el 4º canal para abrir/cerrar una pinza y limita su rango para no forzarla.
Consejo final: prueba primero sin carga (servos “al aire”), y luego monta el brazo y vuelve a ajustar límites. Un buen suministro de 5 V estable es la clave para movimientos suaves.