Tabla de contenido:

Registrador de datos de temperatura y humedad de Arduino a un teléfono Android con módulo de tarjeta SD a través de Bluetooth: 5 pasos
Registrador de datos de temperatura y humedad de Arduino a un teléfono Android con módulo de tarjeta SD a través de Bluetooth: 5 pasos

Video: Registrador de datos de temperatura y humedad de Arduino a un teléfono Android con módulo de tarjeta SD a través de Bluetooth: 5 pasos

Video: Registrador de datos de temperatura y humedad de Arduino a un teléfono Android con módulo de tarjeta SD a través de Bluetooth: 5 pasos
Video: Arduino IoT Cloud con ESP32, Relé (relay) y Sensor DHT22. Guía completa paso a paso desde cero 2024, Noviembre
Anonim
Registrador de datos de temperatura y humedad desde Arduino a teléfono Android con módulo de tarjeta SD a través de Bluetooth
Registrador de datos de temperatura y humedad desde Arduino a teléfono Android con módulo de tarjeta SD a través de Bluetooth

Hola a todos, Este es mi primer Instructable. Espero poder ayudar a la comunidad de creadores, ya que me he beneficiado con él.

A menudo utilizamos sensores en nuestros proyectos, pero encontrar una manera de recopilar los datos, almacenarlos y transferirlos Los teléfonos u otros dispositivos de forma inmediata e inalámbrica no eran un proceso ya hecho. Este Instructable lo guiará a través de

  • Adquisición de datos del sensor (DHT 11): sensor de temperatura y humedad.
  • Almacenamiento de los datos adquiridos en la tarjeta SD con módulo de tarjeta SD.
  • Transferencia de datos de forma inalámbrica mediante Bluetooth a una aplicación de Android personalizada.
  • Almacenar los valores de sensor recibidos como archivo de texto (archivo.txt).

Paso 1: Lista de componentes

Lista de componentes
Lista de componentes
Lista de componentes
Lista de componentes
Lista de componentes
Lista de componentes

Bajemos a reunir las tropas para hacer este increíble proyecto.

  • Arduino Uno (cualquier otro arduino también será adecuado)
  • Módulo de tarjeta micro SD.
  • Módulo de tarjeta SD (el que estoy usando es de 8 GB, se recomienda usar> = 32 GB)
  • HC05 - Módulo Bluetooth
  • DHT11 (sensor de temperatura y humedad)
  • Montón de jerséis.
  • Teléfono Android

Paso 2: Conexiones:

Conexiones
Conexiones

Armar y conectar los componentes está a medio camino del proyecto. Los productos mencionados están fácilmente disponibles en la mayoría de las tiendas minoristas de electrónica y sitios en línea como Amazon.

Conexión Arduino - HC05 (Bluetooth):

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

Arduino - Conexión del módulo de tarjeta SD:

  • + 5V - Vcc
  • Gnd - Gnd
  • Pin 11 - MOSI (Master Out Slave In)
  • Pin 12 - MISO (Master In Slave Out)
  • Pin 13 - SCk (reloj sincrónico)
  • Pin 4 - CS (selección de chip)

Conexión Arduino - HC05 (Bluetooth):

  • + 5V - Vcc
  • Gnd - Gnd
  • Pin A0 - Señal

Paso 3: procedimiento

Procedimiento
Procedimiento

Conectamos todas las partes como se mencionó en el paso anterior, con esto podemos escribir código en el Arduino Ide para alcanzar nuestro objetivo.

La segunda parte de nuestro proyecto es tener una aplicación de Android para recibir los valores de los sensores, mostrar los valores y almacenarlos en un archivo en el móvil. He usado Thunkable para hacer la aplicación de Android y también he proporcionado el apk y el aia para ello.

Paso 4: Código Arduino:

El Código Arduino se ha proporcionado y explicado a continuación.

El código arduino es en su mayoría autoexplicativo con la biblioteca de tarjetas SD y la biblioteca DHT11. El bluetooth usa una serie de hardware que es pin0 y pin1 del arduino, por lo tanto, la transferencia de bluetooth ocurre con las funciones Serial print () que usa el protocolo I2C y el módulo de la tarjeta SD usa el protocolo SPI para comunicarse con él.

/*

* Tarjeta SD conectada al bus SPI de la siguiente manera:

** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (para MKRZero SD: SDCARD_SS_PIN) * * Conexión del módulo HC 05: ** TX - pin 0 (predeterminado) [puede ser cambiado si se está usando Softwareserial] ** RX - pin 1 (predeterminado) [se puede cambiar si se está usando Softwareserial]

*/

#incluir

#incluir #incluir

Archivo myFile;

dht DHT; #define DHT11_PIN A0

configuración vacía () {

// Abra las comunicaciones en serie y espere a que se abra el puerto: Serial.begin (9600); Serial.println ("Tipo, / tEstado, / tHumedad (%), / tTemperatura (C)"); while (! Serial) {; // espera a que se conecte el puerto serie. Necesario solo para puerto USB nativo} DHTAcq (); sdCardWrite ("prueba3.txt"); sdCardRead ("test3.txt");

}

anular DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Impresión en serie (humedad DHT, 1); Serial.print (", / t"); Impresión serial (temperatura DHT, 1); retraso (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("Inicializando la tarjeta SD"); if (! SD.begin (4)) {Serial.println ("Error de inicialización"); regreso; } Serial.println ("¡Iniciación hecha!"); // abre el archivo. tenga en cuenta que solo se puede abrir un archivo a la vez, // por lo que debe cerrar este antes de abrir otro. myFile = SD.open (fileNameStr, FILE_WRITE); // si el archivo se abrió correctamente, escríbalo: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.humedad, 1); myFile.print (", / t"); myFile.print (DHT.temperatura, 1); myFile.close (); Serial.println ("¡listo!"); retraso (200); /*Serial.print("Escribiendo en test.txt… "); myFile.println ("prueba 1, 2, 3."); // cierra el archivo: myFile.close (); Serial.println ("hecho"); * /} else {// si el archivo no se abrió, imprima un error: Serial.println ("error al abrir test.txt"); }}

void sdCardRead (String fileName)

{// volver a abrir el archivo para leerlo: myFile = SD.open (fileName); if (myFile) {Serial.println ("test.txt:"); // leer del archivo hasta que no haya nada más en él: while (myFile.available ()) {Serial.write (myFile.read ()); } // cierra el archivo: myFile.close (); } else {// si el archivo no se abrió, imprima un error: Serial.println ("error al abrir test.txt"); }}

bucle vacío () {

// no pasa nada después de la instalación //Serial.println("test 1.. 2.. 3 "); // retraso (1000); }

Paso 5: Aplicación de Android:

Aplicación Android
Aplicación Android
Aplicación Android
Aplicación Android

La aplicación de Android se ha realizado con la aplicación Thunkable con programación de arrastrar y soltar. Registrará los datos en la etiqueta en la pantalla y una vez que se presione el botón Store Data en la ubicación AppInventor / Data con el nombre de archivo al que se le ha dado el código.

El proyecto se puede extender para tener almacenamiento fuera de línea de los datos del sensor que queramos reemplazando con los módulos de sensor deseados y la aplicación se puede extender para recuperar los datos del almacenamiento y manipularlos para que se adapten a la aplicación.

Recomendado: