08.11.2017 Views

arduino_básico_Michael_McRoberts

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 12 ■ Tela de toque<br />

303<br />

}<br />

else {<br />

analogWrite(pinR, 0);<br />

analogWrite(pinG, 0);<br />

analogWrite(pinB, 0);<br />

}<br />

// retorne true se tocada, e define as coordenadas para touchX e touchY<br />

boolean touch()<br />

{<br />

boolean touch = false;<br />

// pegue as coordenadas horizontais<br />

pinMode(Left, OUTPUT);<br />

digitalWrite(Left, LOW); // Define o lado esquerdo para o terra<br />

pinMode(Right, OUTPUT); // Define o lado direito para os +5 V<br />

digitalWrite(Right, HIGH);<br />

pinMode(Top, INPUT); // Topo e base como alta impedância<br />

pinMode(Bottom, INPUT);<br />

delay(3); // pequeno intervalo<br />

coordX = analogRead(topInput);<br />

// pegue as coordenadas verticais<br />

pinMode(Bottom, OUTPUT); // define a base para o terra<br />

digitalWrite(Bottom, LOW);<br />

pinMode(Top, OUTPUT); // define o topo para os +5 V<br />

digitalWrite(Top, HIGH);<br />

pinMode(Right, INPUT);<br />

pinMode(Left, INPUT);<br />

delay(3); // pequeno intervalo<br />

coordY = analogRead(rightInput);<br />

// esquerda e direita como alta impedância<br />

// se as coordenadas forem menores que 1000 e maiores que 0, a tela foi tocada<br />

if(coordX < 1000 && coordX > 0 && coordY < 1000 && coordY > 0) {touch = true;}<br />

}<br />

return touch;<br />

Projeto 35 – Tela de toque com controle de luz – Análise do código<br />

Os #defines iniciais são os mesmos dos projetos 33 e 34, com a adição de um conjunto<br />

de #defines para os três pinos PWM, utilizados para controlar os componentes R, G e<br />

B do LED RGB:

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

Saved successfully!

Ooh no, something went wrong!