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 17 ■ Comunicação via Ethernet<br />

413<br />

// função para obter a temperatura de um dispositivo<br />

void getTemperature(DeviceAddress deviceAddress) {<br />

tempC = sensors.getTempC(deviceAddress);<br />

tempF = DallasTemperature::toFahrenheit(tempC);<br />

}<br />

void setup() {<br />

lastMessage = 0;<br />

Ethernet.begin(mac, ip);<br />

Serial.begin(9600);<br />

// Inicializa a biblioteca sensors<br />

sensors.begin();<br />

// define a resolução<br />

sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);<br />

delay(1000);<br />

}<br />

void loop() {<br />

sensors.requestTemperatures();<br />

getTemperature(insideThermometer);<br />

Serial.println(tempC);<br />

}<br />

// Está quente demais?<br />

if (tempC >= HighThreshold && (millis()>(lastMessage+(emailInterval*1000)))) {<br />

Serial.println("High Threshhold Exceeded");<br />

char message1[] = "Temperature Sensor\0";<br />

char message2[] = "High Threshold Exceeded\0";<br />

sendEmail(subject, message1, message2, tempC);<br />

} // Frio demais?<br />

else if (tempC(lastMessage+(emailInterval*1000))))<br />

Serial.println("Low Threshhold Exceeded");<br />

char message1[] = "Temperature Sensor\0";<br />

char message2[] = "Low Threshold Exceeded\0";<br />

sendEmail(subject, message1, message2, tempC);<br />

}<br />

if (client.available()) {checkEmail();}<br />

Faça o upload do código e depois abra o monitor serial. Você verá que ele exibe repetidas<br />

vezes a temperatura do primeiro sensor. Se a temperatura descer abaixo do<br />

valor de LowThreshold, o monitor serial exibirá "Low Threshold Exceeded" (limiar mínimo<br />

excedido) e enviará o alerta correspondente por e-mail. Se a temperatura ultrapassar<br />

o valor de HighThreshold, o monitor exibirá a mensagem "High Threshold Exceeded" (limiar<br />

máximo excedido) e enviará o alerta apropriado por e-mail, indicando uma situação<br />

de temperatura elevada.

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

Saved successfully!

Ooh no, something went wrong!