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.

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

289<br />

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

boolean touch()<br />

{<br />

boolean touch = false;<br />

// pega as coordenadas horizontais<br />

pinMode(Left, OUTPUT);<br />

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

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

digitalWrite(Right, HIGH);<br />

pinMode(Top, INPUT);<br />

pinMode(Bottom, INPUT);<br />

// Topo e base com impedância alta<br />

delay(3);<br />

coordX = analogRead(topInput);<br />

// pega as coordenadas verticais<br />

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

digitalWrite(Bottom, LOW);<br />

pinMode(Top, OUTPUT);<br />

digitalWrite(Top, HIGH);<br />

pinMode(Right, INPUT);<br />

pinMode(Left, INPUT);<br />

// Defina o topo para os +5 V<br />

// Esquerda e direita com impedância alta<br />

}<br />

delay(3);<br />

coordY = analogRead(rightInput);<br />

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

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

return touch;<br />

Digite o código e faça seu upload para o Arduino. Assim que ele estiver sendo executado,<br />

abra o monitor serial e então toque na tela de toque. Sempre que a tela for<br />

tocada, as coordenadas de seu dedo serão exibidas no monitor serial. As coordenadas<br />

são X no plano horizontal, da esquerda para a direita, e Y no plano vertical, do topo<br />

para a base.<br />

Antes que você possa analisar o código, será interessante compreender como funciona<br />

uma tela de toque. Faremos uma breve análise do hardware antes de verificar o código.

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

Saved successfully!

Ooh no, something went wrong!