EXPERIMENTOS COM O ARDUINO VIRTUAL

Concluída a montagem do controlador em ponte-H no Tinkercad, é hora de escrevermos o código que deverá ser executado pelo processador do Arduino. Sabemos que o sentido de rotação de um motor CC depende da polarização CC que ele recebe em seus dois terminais. Com o circuito de controle em ponte-H, podemos, com um mínimo de componentes eletrônicos discretos, fazer um pequeno motor CC girar em um sentido ou em outro, sob controle de dois pinos do Arduino.

Voltando ao esquema elétrico do controlador em ponte-H na figura 3, acima, podemos ver que, para o motor girar em um sentido qualquer, os transistores Q1 e Q4 devem entrar em condução, ao mesmo tempo em que os transistores Q2 e Q3 devem estar cortados. Para isso acontecer, O Arduino deverá colocar o pino 8 no terra, e o pino 9 em 5 volts. Para o motor girar no sentido contrário, os transistores Q2 e Q3 deverão conduzir e os transistores Q1 e Q4 cortados. Agora, o Arduino deverá colocar 5 volts no pino 8 e simultâneamente terra no pino 9. O motor pode ser freado com terra nos dois pinos.

O PROGRAMA DE CONTROLE

A linguagem de programação do Arduino é estruturada em duas funções principais: a função setup() e a função loop(). A primeira é a das configurações do Arduino; por exemplo, se um determinado pino será entrada ou saída digital. A segunda função é a de execuções repetitivas; tudo dentro dessa função ficará sendo executado repetidas vezes, até ser interrompido.

Na função setup() definimos os pinos digitais 9 e 10 do Arduino como saídas. E na função loop(), os comandos que vão definir quando cada pino terá 5 volts ou terra. Veja na listagem do programa que dentro da função loop() o pino 9 vai ser inicialmente aterrado; o pino 10 terá 5 volts. Nessa configuração, no circuito de controle os transistores Q1 e Q4 vão conduzir e o motor vai girar num sentido, como vimos acima. A nova função delay() mantém o motor girando por 4 segundos até que o motor é freado por outros 2 segundos, com terra em seus dois terminais. Nas últimas linhas, o pino 9 agora recebe 5 volts, enquanto o pino 10 permanece aterrado; o motor agora gira no sentido contrário por 4 segundos. Depois desse tempo todas as linhas dentro da função loop() são executadas de novo.

void setup()

{

pinMode(9, OUTPUT);

pinMode(10, OUTPUT);

}

void loop()

{

digitalWrite(9, LOW);

digitalWrite(10, HIGH);

delay(4000);//aguardar 4 segundos

digitalWrite(9, LOW);

digitalWrite(10, LOW);

delay(2000);// aguardar 2 segundos

digitalWrite(9, HIGH);

digitalWrite(10, LOW);

delay(4000);// aguardar 4 segundos

}

Listagem-1: Programa de controle de motor CC com o Arduino.

Copie toda a lista de instruções acima no clipboard do seu PC, e a cole no editor de códigos do Tinkercad. Observe que incluímos dois LED’s vermelhos com resistores de 270 ohms nas entradas do controlador, para monitorar a chegada dos sinais digitais de controle.

Deixe um comentário