08.11.2017 Views

arduino_básico_Michael_McRoberts

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

128<br />

Arduino Básico<br />

void loop() {<br />

Mspeed = analogRead(potPin)/4; // lê o valor de velocidade a partir do potenciômetro<br />

analogWrite(speedPin, Mspeed); // escreve a velocidade para o pino de Ativação 1<br />

if (digitalRead(switchPin)) { // Se a chave estiver HIGH, gire o motor em sentido horário<br />

digitalWrite(motorPin1, LOW); // define a Entrada 1 do L293D como baixa<br />

digitalWrite(motorPin2, HIGH); // define a Entrada 2 do L293D como alta<br />

}<br />

else { // se a chave estiver LOW, gire o motor em sentido anti-horário<br />

digitalWrite(motorPin1, HIGH); // define a Entrada 1 do L293D como baixa<br />

digitalWrite(motorPin2, LOW); // define a Entrada 2 do L293D como alta<br />

}<br />

}<br />

Assim que tiver terminado o upload do código, ajuste o potenciômetro em seu ponto<br />

médio e conecte a fonte de alimentação externa. O motor agora deverá girar; você<br />

pode ajustar sua velocidade regulando o potenciômetro. Para alterar a direção do<br />

motor, primeiro ajuste a velocidade no mínimo, então altere a chave seletora. O motor<br />

agora rotacionará na direção oposta. Lembre-se, tenha cuidado com o chip, pois ele<br />

fica muito quente quando ligado.<br />

Projeto 16 – Uso do CI controlador de motor L293D – Análise do código<br />

O código para este projeto é muito simples. Primeiramente, você define os pinos que<br />

vai utilizar no Arduino:<br />

#define switchPin 2 // Entrada da chave<br />

#define motorPin1 3 // Entrada 1 do L293D<br />

#define motorPin2 4 // Entrada 2 do L293D<br />

#define speedPin 9 // Pino de ativação 1 do L293D<br />

#define potPin 0 // Potenciômetro no pino analógico 0<br />

Depois, define um inteiro para armazenar o valor de velocidade lido do potenciômetro:<br />

int Mspeed = 0; // Uma variável para armazenar o valor de velocidade atual<br />

Na função de inicialização, você define os pinos apropriados como entradas ou saídas:<br />

pinMode(switchPin, INPUT);<br />

pinMode(motorPin1, OUTPUT); // Do ponto de vista do Arduino, esses três pinos são usados como saídas<br />

pinMode(motorPin2, OUTPUT);<br />

pinMode(speedPin, OUTPUT);<br />

No loop principal, você primeiro lê o valor do potenciômetro conectado ao pino<br />

analógico 0, armazenando-o em Mspeed:<br />

Mspeed = analogRead(potPin)/4; // lê o valor de velocidade a partir do potenciômetro

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!