Índice:

Registrador de dados de temperatura e umidade do Arduino para o telefone Android com módulo de cartão SD via Bluetooth: 5 etapas
Registrador de dados de temperatura e umidade do Arduino para o telefone Android com módulo de cartão SD via Bluetooth: 5 etapas

Vídeo: Registrador de dados de temperatura e umidade do Arduino para o telefone Android com módulo de cartão SD via Bluetooth: 5 etapas

Vídeo: Registrador de dados de temperatura e umidade do Arduino para o telefone Android com módulo de cartão SD via Bluetooth: 5 etapas
Vídeo: Palestra: IoT com ESP8266 e Mobilidade Multiplataforma com Xamarin [Faculdade Pitágoras de BH] 2024, Julho
Anonim
Registrador de dados de temperatura e umidade do Arduino para o telefone Android com módulo de cartão SD via Bluetooth
Registrador de dados de temperatura e umidade do Arduino para o telefone Android com módulo de cartão SD via Bluetooth

Olá a todos, Este é o meu primeiro Instructable de todos os tempos. Espero ajudar a comunidade de criadores, pois fui beneficiado com ele.

Freqüentemente, usamos sensores em nossos projetos, mas encontrar uma maneira de coletar os dados, armazená-los e transferi-los Telefones ou outros dispositivos imediatamente e sem fio não era um processo pronto. Este Instructable irá guiá-lo através

  • Aquisição de dados do sensor (DHT 11) - sensor de temperatura e umidade.
  • Armazenando os dados adquiridos no cartão SD com módulo de cartão SD.
  • Transferir os dados sem fio usando Bluetooth para um aplicativo Android personalizado.
  • Armazenar os valores do sensor recebidos como arquivo de texto (arquivo.txt).

Etapa 1: lista de componentes

Lista de Componentes
Lista de Componentes
Lista de Componentes
Lista de Componentes
Lista de Componentes
Lista de Componentes

Vamos reunir as tropas para fazer este projeto incrível.

  • Arduino Uno (qualquer outro arduino também será adequado)
  • Módulo de cartão micro SD.
  • Módulo de cartão SD (o que estou usando tem 8 GB, é recomendável usar> = 32 GB)
  • HC05 - Módulo Bluetooth
  • DHT11 (Sensor de Temperatura e Umidade)
  • Um monte de saltadores.
  • Telefone Android

Etapa 2: Conexões:

Conexões
Conexões

Juntar e conectar os componentes já está na metade do projeto. Os produtos mencionados estão facilmente disponíveis na maioria das lojas de varejo eletrônico e sites online como a Amazon.

Conexão Arduino - HC05 (Bluetooth):

  • + 5V - Vcc
  • Gnd - Gnd
  • Pino 0 - Tx
  • Pino 1 - Rx

Arduino - conexão do módulo SDcard:

  • + 5V - Vcc
  • Gnd - Gnd
  • Pino 11 - MOSI (Master Out Slave In)
  • Pino 12 - MISO (Master In Slave Out)
  • Pino 13 - SCk (relógio síncrono)
  • Pino 4 - CS (Chip Select)

Conexão Arduino - HC05 (Bluetooth):

  • + 5V - Vcc
  • Gnd - Gnd
  • Pino A0 - Sinal

Etapa 3: Procedimento

Procedimento
Procedimento

Conecte todas as partes conforme mencionado na etapa anterior, com isso podemos escrever código no Arduino Ide para atingir nosso objetivo.

A segunda parte do nosso projeto é ter um aplicativo Android para receber os valores do sensor, exibir os valores e armazená-los em um arquivo no celular. Usei Thunkable para fazer o aplicativo Android e também forneci o apk e aia para ele.

Etapa 4: Código Arduino:

O código do Arduino foi fornecido e explicado a seguir.

O código do arduino é autoexplicativo principalmente com a biblioteca de cartões SD e a biblioteca DHT11. O bluetooth usa serial de hardware que é pin0 e pin1 do arduino, portanto a transferência bluetooth acontece com as funções Serial print () que usa o protocolo I2C e o módulo de cartão SD usa o protocolo SPI para se comunicar com ele.

/*

* Cartão SD conectado ao barramento SPI da seguinte forma:

** MOSI - pino 11 ** MISO - pino 12 ** CLK - pino 13 ** CS - pino 4 (para MKRZero SD: SDCARD_SS_PIN) * * Conexão do módulo HC 05: ** TX - pino 0 (padrão) [pode ser alterado se Software serial estiver sendo usado] ** RX - pino 1 (padrão) [pode ser alterado se Software serial estiver sendo usado]

*/

#incluir

#include #include

Arquivo meuArquivo;

dht DHT; #define DHT11_PIN A0

void setup () {

// Abra as comunicações seriais e aguarde a porta abrir: Serial.begin (9600); Serial.println ("Tipo, / tStatus, / tHumidity (%), / tTemperatura (C)"); while (! Serial) {; // aguarde a conexão da porta serial. Necessário apenas para porta USB nativa} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

void DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serial.print (umidade DHT, 1); Serial.print (", / t"); Serial.print (DHT.emperatura, 1); atraso (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("Inicializando o cartão SD"); if (! SD.begin (4)) {Serial.println ("Falha na inicialização."); Retorna; } Serial.println ("Inicilização concluída!"); // abre o arquivo. observe que apenas um arquivo pode ser aberto por vez, // portanto, você deve fechar este antes de abrir outro. myFile = SD.open (fileNameStr, FILE_WRITE); // se o arquivo foi aberto corretamente, escreva nele: if (meuArquivo) {meuArquivo.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); meuArquivo.impressão (umidade DHT, 1); meuArquivo.print (", / t"); meuArquivo.impressão (DHT.temperatura, 1); meuArquivo.close (); Serial.println ("pronto!"); atraso (200); /*Serial.print("Writing to test.txt… "); meuArquivo.println ("teste 1, 2, 3."); // feche o arquivo: myFile.close (); Serial.println ("pronto."); * /} else {// se o arquivo não abriu, imprime um erro: Serial.println ("error abrindo test.txt"); }}

void sdCardRead (String fileName)

{// reabra o arquivo para leitura: myFile = SD.open (fileName); if (meuArquivo) {Serial.println ("test.txt:"); // lê o arquivo até que não haja mais nada nele: while (meuArquivo.available ()) {Serial.write (meuArquivo.read ()); } // feche o arquivo: myFile.close (); } else {// se o arquivo não abriu, imprime um erro: Serial.println ("error abrindo test.txt"); }}

void loop () {

// nada acontece após a configuração //Serial.println("test 1.. 2.. 3 "); // delay (1000); }

Etapa 5: Aplicativo Android:

App Android
App Android
App Android
App Android

O aplicativo Android foi feito com o aplicativo Thunkable com programação de arrastar e soltar. Ele irá registrar os dados na etiqueta na tela e assim que o botão Armazenar Dados for pressionado no local AppInventor / Dados com o nome do arquivo que recebeu o código.

O projeto pode ser estendido para ter armazenamento offline de quaisquer dados do sensor que desejamos, substituindo-os pelos módulos de sensor desejados, e o aplicativo pode ser estendido para recuperar os dados do armazenamento e manipular para se adequar ao aplicativo.

Recomendado: