Arduino trabajando con varios archivos (LEER / ESCRIBIR): 4 pasos
Arduino trabajando con varios archivos (LEER / ESCRIBIR): 4 pasos
Anonim
Arduino trabajando con varios archivos (LEER / ESCRIBIR)
Arduino trabajando con varios archivos (LEER / ESCRIBIR)

Hola chicos

Hoy les presento el proyecto Arduino que funciona con un escudo RTC que puede almacenar datos. La tarea principal de este proyecto es trabajar con varios archivos que se almacenan en la tarjeta sc. Este proyecto contiene código que funciona con tres archivos que se almacenan directamente en la tarjeta SD con arduino y escudo RTC. Debido a que este proyecto funciona con el escudo DataLogger, esos datos también se almacenarán exactamente al mismo tiempo que en su PC.

Este proyecto es una versión mejorada de mi último proyecto. Ese proyecto se puede encontrar en el sitio de instructables con el nombre Arduino Data Logger Shield Small Project. Si tiene algunos problemas para comprender este proyecto, le sugiero que primero vea uno más fácil.

La principal diferencia entre esos dos proyectos es que este proyecto utiliza 3 archivos de texto, también esta vez leemos datos de dos de ellos. Debido a que podemos leer datos, podemos obtener un valor medio de humedad y temperatura, que se almacenan en la tarjeta SD. Esto también se mostrará en la pantalla LCD conectada a Arduino.

Una vez más, si eres nuevo en Arduino y este es tu primer proyecto que usa DataLogger, te sugiero que consultes este enlace https://www.instructables.com/id/Arduino-Data-Logg… y cuando tengas todo en eso, ven aquí y diviértete un poco más. Empecemos.

Paso 1: Partes

Partes
Partes
Partes
Partes
Partes
Partes

Como cada vez que escribo proyectos como este, comenzaré con todas las partes que usé con este proyecto. También sugeriré algunos de los sensores que se pueden usar y que pueden hacer que este proyecto sea un poco diferente.

Partes:

  • Arduino uno rev3
  • Escudo del registrador de datos Arduino
  • Tarjeta de memoria SD
  • Pantalla LCD 1602 verde con I2C (puede usar cualquier otra pantalla)
  • DHT22 (DHT11 también funciona bien, pero su precisión no es la misma que la del dht22)
  • Pocos cables de puente
  • Tablero de circuitos
  • Batería 9v

Puedes cambiar algunas partes. El lado bueno de este proyecto es que se puede utilizar para almacenar datos de cualquier otro sensor. Intentaría trabajar con un sensor de humo o un sensor de infrarrojos. Funciona con cualquier otro sensor. También puede cambiar su Arduino, pero tenga en cuenta que Arduino es el mejor para adaptarse al registrador de datos.

Paso 2: Conexión de todas las piezas juntas

Conexión de todas las piezas juntas
Conexión de todas las piezas juntas

Éste es fácil de conectar. Incluso el esquema es el mismo que el proyecto más sencillo. Pero yo diría que debes tener cuidado con qué pin vas a usar. Cada vez revise la hoja de datos del registrador de datos para ver qué pines son mejores para usar, porque como recuerdo, algunos pines ya están definidos y cuando intenté usar mi sensor en uno de los pines definidos, no funcionó.

En la parte superior de este paso puede ver el esquema hecho con fritzing. Lo fácil es que necesita conectar su registrador de datos en la parte superior de su arduino. Conecte su tarjeta sd al registrador de datos y lo último que debe hacer es conectar el sensor dht y el lcd. Usamos 5V de arduino para + parte en el tablero, GND para - parte, y siguiendo esas líneas, también conecta la línea + del sensor y lcd a la línea + del tablero. Lo mismo ocurre con las partes, solo van a la línea que sigue. El sensor Dht está conectado al pin 7 esta vez. La pantalla LCD está conectada a A4 y A5. Fácil, ¿no?

LCD:

  • VCC a 5V (+ parte en protoboard)
  • GND a GND (parte en la placa de pruebas)
  • SDA al pin analógico A4
  • SCL al pin analógico A5

DHT22:

Usé dht con placa en la que hay tres pines para usar:

  • + a 5V
  • - a GND
  • a la clavija digital 7

Paso 3: codificación

Este código de tiempo es más complejo. Una buena parte está comentada para que puedas entenderla con facilidad.

Explicaré este código en pocas partes.

1. Lo primero que debe tener en cuenta es que este código necesitará pocas bibliotecas instaladas en su PC. Esos son: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Probablemente pueda usar algunas otras bibliotecas, pero estas bibliotecas funcionaron para mí. Después de eso, estamos definiendo todo lo que se necesita para este proyecto. El sensor DHT es fácil de definir, solo necesita decir el pin al que está conectado el sensor y el tipo de sensor. Después de eso, debe definir algunos pines que se utilizarán para la tarjeta SD y el pin RTC. Y después de eso, puede ver las variables utilizadas para este proyecto.

3. El proyecto utiliza pocos métodos y todos ellos son para trabajar con el sensor DHT. Si está trabajando en un proyecto con este tipo de sensor, puede usarlo. Esos métodos son getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. En la configuración, hay pocas cosas que se deben realizar. Primero que nada necesitas definir el tiempo. Debido a que estamos usando RTC aquí, queremos tener el tiempo adecuado cuando nuestro Arduino guarde los datos del sensor. Esa parte se comentará en código. Si descomenta //RTC.adjust(DateTime(_DATE_, _TIME_)); línea puede establecer el tiempo en su proyecto. Después de establecer el tiempo adecuado, puede volver a comentar esa parte y puede usar su arduino sin computadora. Esto es genial porque puede usar su sensor de temperatura en otra habitación y realizar un seguimiento de la temperatura sin necesidad de su computadora. La segunda parte que debe hacer es usar su tarjeta SD en la que se almacenarán los datos. Shield intentará ver si hay tarjeta e inicializarla. Si no lo hay, el mensaje de error se mostrará en la pantalla Serie en Arduino IDE.

La configuración es el primer paso en el que trabajamos con la escritura de archivos en la tarjeta de memoria. Lo primero que se escribe en la tarjeta está en el archivo datalog.txt. Esta vez escribimos solo el tiempo de registro de nuestro dispositivo, y también creamos una pequeña fila de nombres (variables que se usan para ahorrar, y también tiempo)

La última parte de la configuración es inicializar la pantalla LCD y el sensor dht.

5. La parte de bucle es la parte principal del proyecto. Trabajar con el sensor esta vez es muy fácil porque usa un solo método que lee los valores que obtiene el sensor. La parte LCD también es muy fácil. La siguiente parte es una que debemos explicar aquí. Este proyecto hace algo cada minuto. Un minuto almacena datos en datalog.txt. Estos datos pueden ser leídos por alguien que ni siquiera sepa programar arduinos. Por otro lado. Un minuto ahorra temperatura en datalogB.txt y un minuto ahorra humedad en datalogC.txt. Necesitamos datalogB.txt y dataLogC.txt para poder leer desde nuestra tarjeta de memoria. Entonces, si continuamos leyendo nuestro código, puede ver también que este código lee valores medios de temperatura y humedad y los almacena en una fila. Quería hacer un dispositivo que solo tomara los últimos diez dígitos en el archivo. Por lo tanto, este proyecto se ejecuta siempre a través de los valores de la tarjeta y guarda los últimos diez dígitos, estos dígitos almacenados en filas se utilizan para obtener el valor promedio de temperatura y el valor promedio de humedad. Que también se muestran en nuestra pantalla LCD después de un tiempo

Paso 4: usar Arduino y la tarjeta SD después

Usando Arduino y la tarjeta SD después
Usando Arduino y la tarjeta SD después
Usando Arduino y la tarjeta SD después
Usando Arduino y la tarjeta SD después
Usando Arduino y la tarjeta SD después
Usando Arduino y la tarjeta SD después
Usando Arduino y la tarjeta SD después
Usando Arduino y la tarjeta SD después

Aquí puede ver lo que se muestra en la pantalla LCD y cómo funciona el proyecto. También pongo aquí imágenes de los registros de datos que guardé. Datalog.txt es el que se puede utilizar para ver cómo el dispositivo almacena cada valor. DatalogB y datalogC están ahí para que pueda ver cómo se ven. Están escritos así para que pueda usar el método de análisis y leer datos sin problemas.

El objetivo de este proyecto es la manipulación de los archivos que están en la tarjeta SD. A veces necesitamos dispositivos que puedan almacenar memoria y la temperatura de lectura también es una vez así. Lo bueno es que el escudo utilizado en este dispositivo también tiene un módulo RTC, que es lo mejor para el tiempo. Cuando podemos leer en tiempo real y almacenar datos con nuestro dispositivo, eso significa que puede ser portátil.

Gracias a todos por leer este proyecto. Espero que te ayude. Gracias.

Saludos cordiales Sebastian

Recomendado: