Olá pessoal!
Neste post eu mostro um dos meus últimos projetos, uma placa eletrônica autônoma para reprodução de shows de animatrônica. Esta placa pode ser utilizada com conjunto com o software Visual Show Automation (VSA) da Brookshire Software e pode gravar até três shows diferentes, cada um com oito servos e dois relés.
Este projeto foi desenvolvido para atender rapidamente uma demanda do cliente Oficina de Artes e Decorações e em razão dos prazos apertados, optou-se por uma solução que aliou um baixo custo e uma relativa flexibilidade de uso. Diante disso, foi concebida uma placa eletrônica capaz de gravar o fluxo de dados seriais gerados pelo software VSA, armazenando-os em uma memória flash serial SPI de 32Mbits (MX25L3206 da Macronix). A placa também inclui um módulo MP3 com controle serial, responsável pela reprodução das trilhas de audio dos shows (os arquivos de audio devem ser armazenados num cartão microSD que é plugado no módulo).
A SSCR (Serial Servo Controller and Recorder) mostrada abaixo foi desenvolvida com base num microcontrolador NXP Coldfire v1 de 32 bits (MCF51JM128). Este MCU foi selecionado principalmente pelo fato de eu já ter uma boa base de código voltado para animatrônica escrito para a plataforma Freescale (agora NXP). Além disso, o MCF51JM128 também possui uma porta USB, permitindo que a placa implemente tanto comunicação serial assíncrona tradicional como via USB (um dispositivo CDC que cria uma porta COM virtual no computador host). A comunicação USB não foi implementada na primeira fase do projeto, mas poderá se-lo caso o cliente necessite.

A placa possui 8 saídas para servos de 5V (tipo Futaba) e 8 saídas para servos de 12V (um projeto anterior que eu desenvolvi para o mesmo cliente). Além dos servos, há duas saídas com relés que podem ser utilizadas para controlar cargas externas juntamente com os servos.
Existem três modos distintos de operação:
- modo SSC: a placa opera utilizando o protocolo miniSSC com endereços de 0 a 100;
- modo gravação: a placa pode gravar um show na memória flash, ao mesmo tempo em que o show é reproduzido pelos servos e relés;
- modo player: a placa reproduz um dos shows gravados em memória.
Existem três leds de status que indicam a operação da placa: um led para indicação de gravação, outro para reprodução e outro para comunicação com o host.
Na etapa final de desenvolvimento foram introduzidas funcionalidades que aumentaram bastante a flexibilidade da placa:
- trilha sonora de espera: além das trilhas sonoras relativas aos shows, é possível adicionar um quarto arquivo de audio que a placa reproduz após um tempo de inatividade. O sistema inclui fade-in e fade-out e interrompe automaticamente a trilha de fundo quando um show é executado;
- modo low-power: quando a placa permanece inativa (nenhum show em reprodução) por mais de um minuto, os servos são automaticamente desativados para evitar consumo de energia e desgaste dos mesmos;
- prioridade de shows: é possível definir se um show pode interromper o outro.
A seguir temos uma foto de um dos bonecos do cliente, durante a fase de testes do protótipo da placa.

Este projeto foi desenvolvido rapidamente (menos de três meses desde a concepção até a entrega do primeiro protótipo totalmente funcional) e é sempre muito gratificante ver o seu trabalho ser utilizado para fazer coisas tão bonitas quanto os espetáculos de natal com animatrônica!