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

409<br />

if (pointer < 64) pointer++;<br />

O valor em c é verificado, para descobrir se você recebeu o fim da string:<br />

if (c == '\n') {<br />

Se afirmativo, você utiliza o comando strstr para verificar se a sequência "200 OK" surge<br />

em algum ponto da string e retorna um ponteiro para sua localização, armazenado<br />

em found:<br />

found = strstr(buff, "200 OK");<br />

O comando strstr encontra uma sub-string dentro de outra string e requer dois parâmetros:<br />

o primeiro é a string que você está verificando, e o segundo é a string que<br />

você deseja localizar. Se a substring for encontrada, o comando retorna sua localização,<br />

caso contrário, retorna um ponteiro nulo.<br />

Então, reinicializamos e limpamos o buffer:<br />

buff[pointer]=0;<br />

clean_buffer();<br />

Em seguida, temos a função final para obter as temperaturas dos sensores DS18B20:<br />

void getTemperatures() {<br />

sensors.requestTemperatures();<br />

itempC = sensors.getTempC(insideThermometer);<br />

itempF = DallasTemperature::toFahrenheit(itempC);<br />

etempC = sensors.getTempC(outsideThermometer);<br />

etempF = DallasTemperature::toFahrenheit(etempC);<br />

}<br />

Depois de definir todas as suas funções, você alcança a rotina de inicialização:<br />

void setup()<br />

A primeira coisa que ela faz é iniciar a comunicação serial com taxa de transmissão<br />

de 57.600 bauds:<br />

Serial.begin(57600);<br />

Então, chama a função setupEthernet():<br />

setupEthernet();<br />

Depois, iniciamos os sensores 1-Wire e definimos sua resolução:<br />

sensors.begin();<br />

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

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

Agora, basta que o loop principal não faça nada além de chamar a função pachube_out<br />

repetidas vezes:

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

Saved successfully!

Ooh no, something went wrong!