Arduino basico michael mcroberts portugues

Page 413

Capítulo 17 ■ Comunicação via Ethernet

413

// função para obter a temperatura de um dispositivo void getTemperature(DeviceAddress deviceAddress) { tempC = sensors.getTempC(deviceAddress); tempF = DallasTemperature::toFahrenheit(tempC); } void setup() { lastMessage = 0; Ethernet.begin(mac, ip); Serial.begin(9600);

// Inicializa a biblioteca sensors sensors.begin(); // define a resolução sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);

delay(1000); } void loop() { sensors.requestTemperatures(); getTemperature(insideThermometer); Serial.println(tempC); // Está quente demais? if (tempC >= HighThreshold && (millis()>(lastMessage+(emailInterval*1000)))) { Serial.println("High Threshhold Exceeded"); char message1[] = "Temperature Sensor\0"; char message2[] = "High Threshold Exceeded\0"; sendEmail(subject, message1, message2, tempC); } // Frio demais? else if (tempC<= LowThreshold && (millis()>(lastMessage+(emailInterval*1000)))) Serial.println("Low Threshhold Exceeded"); char message1[] = "Temperature Sensor\0"; char message2[] = "Low Threshold Exceeded\0"; sendEmail(subject, message1, message2, tempC); } if (client.available()) {checkEmail();} }

Faça o upload do código e depois abra o monitor serial. Você verá que ele exibe repetidas vezes a temperatura do primeiro sensor. Se a temperatura descer abaixo do valor de LowThreshold, o monitor serial exibirá "Low Threshold Exceeded" (limiar mínimo excedido) e enviará o alerta correspondente por e-mail. Se a temperatura ultrapassar o valor de HighThreshold, o monitor exibirá a mensagem "High Threshold Exceeded" (limiar máximo excedido) e enviará o alerta apropriado por e-mail, indicando uma situação de temperatura elevada.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.