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 8 ■ Displays de cristal líquido<br />

209<br />

int maxC=0, minC=100, maxF=0, minF=212;<br />

int scale = 1;<br />

int buttonPin=8;<br />

void setup() {<br />

lcd.begin(16, 2); // Define o display com 16 colunas e 2 linhas<br />

analogReference(INTERNAL);<br />

pinMode(buttonPin, INPUT);<br />

lcd.clear();<br />

}<br />

void loop() {<br />

lcd.setCursor(0,0);<br />

// Define o cursor na posição de início<br />

int sensor = analogRead(0); // Lê a temperatura do sensor<br />

int buttonState = digitalRead(buttonPin); // Verifica se o botão foi pressionado<br />

switch (buttonState) {<br />

// Altera o estado da escala, caso tenha sido pressionado<br />

case HIGH:<br />

scale=-scale;<br />

// Inverte a escala<br />

lcd.clear();<br />

}<br />

delay(250);<br />

switch (scale) { // Decide por escala em Celsius ou Fahrenheit<br />

case 1:<br />

celsius(sensor);<br />

break;<br />

case -1:<br />

fahrenheit(sensor);<br />

}<br />

}<br />

void celsius(int sensor) {<br />

lcd.setCursor(0,0);<br />

int temp = sensor * 0.09765625; // Converte para Celsius<br />

lcd.print(temp);<br />

lcd.write(B11011111); // Símbolo de grau<br />

lcd.print("C ");<br />

if (temp>maxC) {maxC=temp;}<br />

if (temp

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

Saved successfully!

Ooh no, something went wrong!