Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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:
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
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:
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.