FAVORITAR
FecharPlease login

Projeto | Registro de dados de temperatura

Introdução

Até agora, nós temos usado a Raspberry Pi Pico conectada ao computador por meio da porta micro USB. No entanto, como todos os microcontroladores, não há motivo para a placa permanecer conectada dessa forma. Isso se deve ao fato de que ela é um sistema totalmente autossuficiente, com capacidades de processamento, memória e tudo o que é necessário para funcionar por conta própria.

Neste artigo, você aprenderá a usar o sistema de arquivos para criar, gravar e ler arquivos, permitindo que você posicione sua Raspberry Pi Pico em qualquer lugar que desejar e a utilize para registrar dados a serem acessados posteriormente — transformando-a em um registrador de dados.

Registrador de dados

Sistema de arquivos

O sistema de arquivos é onde a sua Raspberry Pi Pico armazena todos os programas que você escreveu. Ele é uma forma de armazenamento não volátil, o que significa que tudo o que você salvar lá permanece mesmo quando você desconecta o cabo micro USB da Pico.

Para entender isso, conecte a sua Raspberry Pi Pico ao computador e abra o Thonny. Agora, você não irá abrir nenhum programa, então clique na parte inferior da área do Terminal para começar a trabalhar com a sua Raspberry Pi Pico em modo interativo e digite:

Isso instrui o MicroPython a abrir um arquivo chamado “test.txt” para realizar uma escrita (“w” é a instrução de escrita). No momento o arquivo foi aberto mas não há nada nele, então digite:

Ao pressionar o ENTER no final desta linha, você verá o número 14 aparecer. Isso é o MicroPython confirmando que ele escreveu 14 bytes no arquivo que você abriu. Conte o número de caracteres na mensagem que você escreveu: incluindo as letras, acento, a vírgula, o espaço e o ponto de exclamação, há catorze – cada um dos quais ocupa um byte.

Quando escrevemos um arquivo, é preciso fechá-lo — isso garante que os dados que você informou ao MicroPython para escrever sejam realmente gravados no sistema de arquivos. Se você não fechar o arquivo, os dados podem não ser gravados.

Agora o arquivo está armazenado com segurança no sistema de arquivos da sua Raspberry Pi Pico. Uma forma de conferir é clicar no ícone “Abrir” na barra de ferramentas do Thonny, depois clicar em “Raspberry Pi Pico”, rolar pela lista de arquivos até encontrar test.txt. Clique nele e, em seguida, clique em OK para abri-lo: você verá sua mensagem aparecer em uma nova guia do Thonny.

Passo a passo para visualizar arquivo test.txt

Há outra forma para ler arquivos — você pode fazê-lo usando o MicroPython. Clique novamente na parte inferior da área do Terminal e digite:

Você poderia digitar open(“test.txt”, “r”) mas o MicroPython abre um arquivo em modo de leitura por padrão – então está tudo bem deixar essa parte da instrução de fora. Em seguida, digite:

Assim você verá a mensagem que você escreveu no arquivo ser exibida na área do Terminal. Observe que dessa forma o uso de acentos pode imprimir uma coisa estranha ao invés do “olá” armazenado, por isso recomenda-se evitar o uso de acentos.

Na leitura não é tão importante quanto na escrita fechar, mas é uma boa prática, então recomenda-se que sempre o faça. Então digite:

Programa para registrar dados de temperatura

Agora que sabemos como abrir, escrever e ler arquivos, podemos construir um registrador de dados na Pico. Assim, vamos iniciar um novo programa no Thonny resgatando a montagem e o código utilizado no artigo “Projeto | Medidor de temperatura com MicroPython”  e realizando alguns ajustes.

As leituras do sensor são os dados que vamos registrar no sistema de arquivos, ao invés de imprimi-las como fizemos no artigo anterior.

Note que diferente do que fizemos antes, em vez de escrever uma string fixa entre aspas, desta vez estamos convertendo a variável temperatura, que é ponto flutuante, em uma string e escrevendo isso no arquivo. Além disso, o “+ “\n”” foi adicionado para que cada leitura do sensor seja armazenada em uma linha diferente, deixando o arquivo txt mais organizado. 

Agora, observe que não vamos fechar o arquivo como antes, isso porque não poderíamos escrever nele novamente sem reabri-lo e apagar todo seu conteúdo. Mas se você não fechar o arquivo, os dados nunca serão escritos no sistema de arquivos.

A solução é esvaziar o arquivo, em vez de fechá-lo, digitando:

Quando estamos escrevendo em um arquivo e os dados não estão sendo gravados no sistema de arquivos, eles são armazenados em um buffer – uma área de armazenamento temporário. Quando você fecha o arquivo, o buffer é gravado em um processo conhecido como “esvaziamento” (flushing). Usar “file.flush()” é equivalente a “file.close()”, no sentido de que esvazia o conteúdo do buffer no arquivo. Mas ao contrário de “file.close()”, o arquivo permanece aberto para você gravar mais dados nele posteriormente.

Por último, realizamos uma pausa no programa de 10 segundos entre as leituras.

Agora, execute o programa e o deixe rodando por 1 minuto ou mais. No terminal, digite o seguinte código para abrir e ler o novo arquivo:

Dessa vez, colocamos o “file.read()” dentro do “print” isso porque utilizamos o “\n” na escrita do arquivo e ele só funciona como quebra de linha se utilizado no print.

Após esperar 80 segundos, parei a execução e acessei o arquivo. No Shell vemos a leitura da temperatura que a Pico utilizado mediu e armazenou.

Lembre-se: se não fechar o arquivo esses dados serão perdidos.

Conclusão

Neste artigo aprendemos como trabalhar com o sistema de arquivos na Raspberry Pi Pico usando a linguagem MicroPython. A capacidade de criar, escrever e ler arquivos permitiu transformar a Pico em um data logger capaz de armazenar informações importantes para uso posterior.

E também aprendemos como abrir um arquivo para escrita e leituras de dados de sensores, como o sensor de temperatura embutido do RP2040, e gravá-los no arquivo. Além de entender o conceito de esvaziar o buffer do arquivo usando file.flush() para garantir que os dados sejam gravados no sistema de arquivos.

Outros artigos da série

<< Projeto | Medidor de temperatura com MicroPythonProjeto | Acendimento automático de LED com Sensor LDR >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Home » Maker » Projeto | Registro de dados de temperatura

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS