Este repositório apresenta os códigos relacionados ao controle de um servo motor usando a comunicação serial entre um Arduino e o software Simulink. O fluxo de informação se dá do Simulink para o arduíno. Os códigos realizam as seguintes funcionalidades:
O código Arduino permite controlar a posição de um servo motor com base nos comandos recebidos via comunicação serial do Simulink.
- Inclui a biblioteca Servo.h para controle do servo motor.
- Cria um objeto para controlar o servo motor.
- Define uma estrutura de união (union) para converter valores float em bytes.
- Inicializa um buffer e variáveis para armazenar os dados.
- Inicia a comunicação serial a 115200 bauds.
- Configura a conexão com o servo motor.
- Entra em um loop principal.
- Lê caracteres da porta serial.
- Se um caractere 'A' for recebido, lê um valor float da porta serial e o utiliza para controlar a posição do servo.
- Envia o valor lido de volta para a porta serial.
- Lida com erros caso o header recebido do Simulink não seja o caractere 'A'.
O modelo Simulink é projetado para enviar comandos para o Arduino via comunicação serial, permitindo o controle remoto do servo motor.
- Utiliza blocos Simulink para gerar comandos de controle para o Arduino.
- Esses comandos são enviados para o Arduino via bloco "Serial Send".
- Os comandos controlam a posição do servo motor com base em entradas, enviadas do Simulink.
Obs: Para a comunicação serial é necessário utilizar a biblioteca "Instrument Control Toolbox", caso você não tenha, é necessário instalar.
- Carregue o código Arduino no Arduino.
- Execute o modelo Simulink no ambiente do Simulink.
- O Simulink envia comandos ao Arduino via comunicação serial.
- O Arduino interpreta os comandos e controla a posição do servo motor em conformidade.
Lembre-se de configurar corretamente a porta COM, a taxa de baud e o hardware no Simulink e no Arduino para garantir que a comunicação ocorra sem problemas.
Esperamos que esses códigos sejam úteis para entender e iniciar a comunicação serial entre o Simulink e o Arduino.
Para qualquer dúvida ou problema, sinta-se à vontade para entrar em contato ou contribuir para este repositório.