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.

354<br />

Arduino Básico<br />

if (file.open(&root, name, O_READ)) {<br />

Serial.println(name);<br />

}<br />

else{<br />

error("file.open failed");<br />

}<br />

Serial.println();<br />

Então, você lê o arquivo, um caractere de cada vez, utilizando um loop while e um<br />

comando .read(), e imprime o resultado no monitor serial:<br />

int16_t character;<br />

while ((character = file.read()) > 0) Serial.print((char)character);<br />

Por fim, se tudo der certo, você imprime “Done” (concluído):<br />

}<br />

Serial.println("\nDone");<br />

O loop principal do programa não contém nenhum código. Você deseja que o código<br />

seja executado apenas uma vez, por isso faz sentido colocar tudo na rotina de setup(),<br />

e nada no loop. Dessa forma, o código será executado apenas uma vez, seguido pelo<br />

loop. Como este não contém nenhum procedimento, nada acontecerá até que o<br />

Arduino seja desligado ou reinicializado:<br />

void loop() { }<br />

O exemplo que acabamos de analisar mostrou o método <strong>básico</strong> de criação de um<br />

arquivo, de escrita de números e strings nele, de seu fechamento e, finalmente, de sua<br />

leitura. Agora, ampliaremos esse conhecimento utilizando-o na prática, e empregaremos<br />

o cartão SD para registrar dados de um sensor.<br />

Projeto 43 – Registrador de dados de temperatura em um cartão SD<br />

Agora, você adicionará alguns sensores de temperatura DS18B20 ao circuito, assim<br />

como um chip RTC (Real Time Clock) DS1307. As leituras dos sensores de temperatura<br />

serão registradas no cartão SD, e você utilizará o chip RTC para ler a data e<br />

hora, de modo que todas as leituras do sensor e a modificação do arquivo tenham<br />

marcas temporais.

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

Saved successfully!

Ooh no, something went wrong!