Programação

Explicação sobre a programação do microcontrolador



Programação do Arduino

Como dito no tópico de microcontrolador é necessário que haja um script operando em seu processador, é esse script que manda em todos os periféricos, sejam eles de saída ou de entrada. Para escrever um script é necessário a utilização de um software especializado, pois através dele é possível a conversão de linguagem de programação para a linguagem de máquina, o software utilizado nesse projeto foi o “IDE Arduino” disponibilizado pela própria desenvolvedora do Arduino.



Lógica de programação

Na hora de criar um script é necessário seguir uma lógica de programação, cada lógica é desenvolvida de acordo com a necessidade do usuário. Neste projeto a lógica seguida foi a seguinte: é feita uma leitura de dois sinais analógicos enviadas para o Arduino através de um Joystick, o sinal do eixo X e o sinal do eixo Y, esses sinais podem variar de 0 a 1023, de acordo o valor recebido o microcontrolador envia um pulso para os drives, dependendo do pulso os drives ativam ou desativam as bobinas do motor, resultando em uma velocidade e direção que os motores operam. Abaixo está uma tabela com os valores dos sinais que definem o sentido e a velocidade de cada motor:


Sinal Motor Direito Motor Esquerdo
X maior que 300 e Y entre 300 e 700 Sentido horário com velocidade igual ao esquerdo Sentido horário com velocidade igual ao direito
X menor que 300 e Y entre 300 e 700 Sentido anti-horário com velocidade igual ao esquerdo Sentido anti-horário com velocidade igual ao direito
X entre 300 e 700 e Y maior que 700 Sentido anti-horário com velocidade superior ao esquerdo Sentido horário com velocidade inferior ao direito
X entre 300 e 700 e Y menor que 300 Sentido horário com velocidade inferior ao esquerdo Sentido anti-horário com velocidade superior ao direito
X maior que 700 e Y maior que 700 Sentido horário com velocidade maior que o esquerdo Sentido horário com velocidade inferior ao direito
X maior que 700 e Y menor que 300 Sentido horário com velocidade inferior ao esquerdo Sentido anti-horário com velocidade superior ao direito
X menor que 300 e Y maior que 700 Sentido anti-horário com velocidade superior ao esquerdo Sentido anti-horário com velocidade inferior ao direito
X menor que 300 e Y menor que 300 Sentido anti-horário com velocidade inferior ao esquerdo Sentido anti-horário com velocidade superior ao direito

Para ver o código completo que foi desenvolvido acesse esse link.