pt-BR

Setup do Arduino Nano

Setup do Arduino Nano

Este guia foca na placa controladora usada pela stack atual do Ioruba.

Design de circuito

Circuit Schema

Hardware alvo

  • Arduino Nano ATmega328P
  • 3x potenciometros lineares B10K / 10k
  • A0, A1 e A2 como entradas analógicas
  • saída serial em 115200 baud

Se voce ainda precisa da referencia fisica de ligacao, leia primeiro Guia de setup de hardware.

Resumo de ligacao

Knob Pino esquerdo Pino central Pino direito
1 GND A0 5V
2 GND A1 5V
3 GND A2 5V

Se um knob estiver invertido, troque os dois pinos externos.

Firmware recomendado

Use o sketch ativo:

O que ele envia:

  • handshake de inicialização e sob demanda como HELLO board=Ioruba Nano; fw=0.6.1; protocol=2; knobs=3; mcu=ATmega328P; adcBits=10; threshold=4; deadzone=7; smooth=75; mins=0,0,0; maxs=1023,1023,1023
  • leituras analógicas suavizadas
  • frames aproximadamente a cada 40 ms quando os valores mudam
  • linhas separadas por pipe como 512 768 1023

O runtime desktop ainda aceita o formato legado P1:512 para compatibilidade, mas o firmware atual tambem reporta ajuste do controlador e calibracao no handshake.

Detectar a placa

Use primeiro o arduino-cli:

arduino-cli board list

Voce tambem pode inspecionar os devices Linux diretamente:

ls -l /dev/ttyUSB* /dev/ttyACM* 2>/dev/null

Labels de chip USB comuns em clones Nano incluem CH340 e FT232R USB UART.

Permissoes no Linux

Dependendo da distro, adicione seu usuario em dialout ou uucp:

sudo usermod -a -G dialout $USER
sudo usermod -a -G uucp $USER

Depois saia da sessao e entre novamente antes de testar a conexao serial.

Compilar firmware

arduino-cli compile --fqbn arduino:avr:nano firmware/arduino/ioruba-controller

Upload para o Nano

Perfil padrao do Nano:

arduino-cli upload -p /dev/ttyUSB0 --fqbn arduino:avr:nano firmware/arduino/ioruba-controller

Perfil old bootloader para clones comuns:

arduino-cli upload -p /dev/ttyUSB0 --fqbn arduino:avr:nano:cpu=atmega328old firmware/arduino/ioruba-controller

Validar saida serial

Depois do flash, a placa deve emitir linhas como:

HELLO board=Ioruba Nano; fw=0.6.1; protocol=2; knobs=3; mcu=ATmega328P; adcBits=10; threshold=4; deadzone=7; smooth=75; mins=0,0,0; maxs=1023,1023,1023
512|768|1023

O app desktop também solicita o handshake com HELLO? sempre que conecta ou reconecta. O firmware atual usa protocolo 2 e baud padrão 115200; versão de firmware e versão do app são independentes.

Smoke test pratico:

  1. inicie o shell desktop com npm run desktop:watch
  2. escolha a porta serial detectada, se necessario
  3. abra a aba Watch
  4. gire os knobs e confirme que a telemetria atualiza
  5. no Linux, verifique se os alvos de audio mapeados reagem

Se upload falhar

Sintomas comuns:

  • not in sync
  • unable to read signature data
  • a placa aparece como Unknown no arduino-cli board list

Correcao pratica:

  • tente ambos os perfis de processador Nano
  • pressione RESET pouco antes do upload iniciar
  • garanta que nenhum outro app esta segurando /dev/ttyUSB0
  • troque o cabo USB por um cabo de dados conhecido
  • confirme que a placa e realmente um Nano-compativel ATmega328P
  • se necessario, regrave bootloader com programador ISP

Checks uteis de debug

Verifique se algo ja esta segurando a porta:

fuser -v /dev/ttyUSB0

Liste apps de audio Linux ativos:

pactl list short sink-inputs

Guias relacionados