Registrando dados do Arduino em arquivos em um computador

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Neste tutorial, vamos conectar um sensor de pressão barométrica BMP280 a um Arduino e gravar os resultados em um computador usando um emulador de terminal chamado PuTTY. O BMP280 será conectado usando I2C. Coletamos dados e gravamos para registrar um registro de data e hora da mudança, lendo o tempo decorrido desde o início do Arduino. O arquivo será gravado no formato CSV (valores separados por vírgula), geralmente usado quando dados com estruturas semelhantes são salvos no arquivo ou transmitidos por um link. É compatível com o MS Excel e pode ser aberto apenas com ele para colocar os valores em colunas e linhas.

Anúncio PCBWay

Usando o PuTTY, criaremos um registrador de dados para um BMP280 conectado a um Arduino. Geralmente, um registrador de dados é um dispositivo eletrônico usado para registrar dados dos sensores ao longo do tempo e armazená-los para uso ou análise posterior.

Download, instalação e configuração do PuTTY

O PuTTY pode ser baixado aqui. Depois de instalá-lo, basta executar o instalador e escolher onde deseja instalá-lo.

PuTTY é um emulador de terminal. Naquele dia, os programadores inseriam e liam as informações dos computadores mainframe com terminais. E alguns deles eram até mecânicos e eram chamados de teletipos, como na “máquina de escrever telegráfica”. O PuTTY possui muitos tipos de conexão e protocolos de transferência de dados disponíveis, mas usaremos o RS232 simples como serial. Os emuladores de terminal foram amplamente utilizados para conectar-se a outros computadores distantes antes da Internet.

Registrando dados do Arduino em arquivos em um computador 1

Dessa vez, concentre-se primeiro em obter o programa Arduino antes de executar e em localizar os dados gravados na janela do monitor serial. Anote a porta que está sendo usada a partir do topo da janela (por exemplo, COM12).

Leia Também  Como configurar um LCD no Raspberry Pi e programá-lo com C

Feche a janela serial como queremos abrir esta mesma porta no PuTTY. Não precisa se preocupar, pois o Arduino continuará enviando dados para a porta. Agora, abra o PuTTY e clique em “Sessão” no lado esquerdo da janela. Digite a porta de comunicação (por exemplo, COM12) no campo Linha serial, no lado direito da janela, e selecione ‘Serial’.

No lado esquerdo, selecione “Registro”, selecione “Saída imprimível” e talvez selecione “Sempre”. Sobrescreva se é isso que você deseja. Clique em “Procurar” e procure um local e um nome de arquivo onde você possa salvar o arquivo que você registrou. É uma boa ideia colocar a extensão do nome do arquivo .csv (como “logging.csv”) para que o MS Excel possa reconhecê-la imediatamente. Volte para a janela Sessão e, em “Sessões salvas”, digite seu nome ou iniciais e clique em “Salvar”. Ao fazer isso, toda vez que você abrir o PuTTY, selecione sua sessão salva e clique em ‘Carregar’ e não precisará passar por todos esses obstáculos novamente. Para iniciar o registro, basta clicar em “Abrir”.

Como conectar o BMP280 ao Arduino

Para obter mais informações sobre como o BMP280 funciona com o Arduino, consulte nosso tutorial sobre Comunicação sem fio entre dois Arduinos.

Agora, conecte os componentes usando o guia abaixo.

Registrando dados do Arduino em arquivos em um computador 3
BMP280UNO
VCC3.3V
GNDGND
SCLA5
SDAA4
CSBNão usado
SDDnão usado
Como conectar um BMP280 ao Arduino

Instalando as Bibliotecas

A biblioteca Adafruit BMP280 pode ser encontrada aqui: https://github.com/adafruit/Adafruit_BMP280_Library

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Notas sobre o esboço

Para esses esboços, não usei o objeto Arduino String. Programadores sérios evitam isso e preferem usar cadeias de caracteres do tipo C. Para saber mais sobre por que você deve evitar o objeto string, leia aqui.

o loop() A função inicia com a redefinição do dataStr para 0 para atualizá-lo e, em seguida, obtém um tipo de carimbo de data / hora com o millis() função (o número de milissegundos decorridos desde o início). Agora, ele precisa ser adicionado ao final do dataStr (anexado) e seguido pela variável separada por vírgula.

Leia Também  7 truques CSS para o seu site

strcat() é um pouco confuso porque produzirá algo como isto: buffer = strcat(dataStr, temperature). Mas o buffer é realmente um armazenamento temporário para manter o resultado.

Arduino Sketch

#include 
Adafruit_BMP280 bmp; 
float QNH = 1024.67; //Change the "1022.67" to your current sea level barometric pressure (https://www.wunderground.com)
const int BMP_address = 0x76;
float pressure;   
float temperature;  
float altimeter; 
//char charRead;
char dataStr[100] = "";
char buffer[7];
////////////////////////////////////////////////////
void setup()
{
  Serial.begin(9600);
  bmp.begin(BMP_address); 
}// end setup()

////////////////////////////////////////////////////////////
void loop(void) 
{
 dataStr[0] = 0; //clean out string
 pressure = bmp.readPressure()/100;  //and conv Pa to hPa
 temperature = bmp.readTemperature();
 altimeter = bmp.readAltitude (QNH); //QNH is local sea lev pressure
//----------------------- using c-type ---------------------------
 //convert floats to string and assemble c-type char string for writing:
 ltoa( millis(),buffer,10); //conver long to charStr
 strcat(dataStr, buffer);//add it onto the end
 strcat( dataStr, ", "); //append the delimeter
 
 //dtostrf(floatVal, minimum width, precision, character array);
 dtostrf(pressure, 5, 1, buffer);  //5 is mininum width, 1 is precision; float value is copied onto buff
 strcat( dataStr, buffer); //append the coverted float
 strcat( dataStr, ", "); //append the delimeter

 dtostrf(temperature, 5, 1, buffer);  //5 is mininum width, 1 is precision; float value is copied onto buff
 strcat( dataStr, buffer); //append the coverted float
 strcat( dataStr, ", "); //append the delimeter

 dtostrf(altimeter, 5, 1, buffer);  //5 is mininum width, 1 is precision; float value is copied onto buff
 strcat( dataStr, buffer); //append the coverted float
 strcat( dataStr, 0); //terminate correctly 
 Serial.println(dataStr);
 delay(1000);  
 
   
} //end main
///////////////////////////////////////////////

Usando o projeto e a saída da janela serial

Se a fiação estiver correta, a janela serial no Arduino deve mostrar o seguinte:

Registrando dados do Arduino em arquivos em um computador 5

Desta vez, feche a janela serial do Arduino (O PuTTY não abrirá a porta se o Arduino estiver mantendo-a aberta). Abra o PuTTY e clique em “Abrir”. Posteriormente, o Arduino sairá da porta serial e você verá algo assim:

Registrando dados do Arduino em arquivos em um computador 7

O PuTTY oferece a opção de acrescentar ou substituir seu arquivo. Depois de salvo, você pode abrir o arquivo no MS Excel.

O Projeto de Amostra

Registrando dados do Arduino em arquivos em um computador 9

*As fotos exibidas neste post pertencem ao post www.circuitbasics.com

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br