ROBÔ DE AQUISIÇÃO DE DADOS

ROBOT DE ADQUISICIÓN DE DATOS

Resumen:

Este proyecto tiene como objetivo construir una aplicación robótica para automatizar la recopilación de aspectos ambientales. El robot admite el monitoreo remoto del desempeño y mantenimiento de diversos factores ambientales en cualquier área. Aquí se proporcionan detalles del diseño, configuración y uso del robot en el sistema de adquisición de datos (DAQ). Los sensores proporcionan datos precisos y confiables en tiempo real necesarios para el monitoreo y control autónomo de cualquier tipo de área o industria. Se puede acceder, trazar y analizar de forma remota los datos adquiridos por el sistema propuesto. Esto proporciona una solución totalmente automatizada para monitorear y controlar ubicaciones remotas.

Protótipo de robô Land Rover baseado em Arduino usado para aquisição de dados de sensores

Fig. 1: Prototipo de robot Land Rover basado en Arduino utilizado para la adquisición de datos del sensor

Descripción:

Requisitos previos y equipo:

Necesitará lo siguiente:

  1. Una placa Arduino o un clon de Arduino (aquí tienes una guía si la necesitas)

  2. Dos motores CC.

  3. Un módulo Bluetooth TTL-UART de 5v.

  4. Chasis de robot y ruedas que se adaptan al tamaño del chasis y motor.

  5. Arduino IDE para programación.

Diagrama de bloques:

Diagrama de blocos do robô de aquisição de dados de sensores baseado em Arduino

Fig. 2: Diagrama de bloques del robot de adquisición de datos de sensores basado en Arduino

Nuestro objetivo en este proyecto es recopilar datos de sensores y almacenarlos para análisis futuros. Existen muchas técnicas utilizadas para la adquisición de datos, como EEPROM y tarjeta SD. Aquí utilizaremos almacenamiento basado en Internet, que es una forma confiable y eficiente de analizar los datos de cualquier sensor.

Montaje de herrajes:

Realice las conexiones del robot como se indica en el diagrama del circuito. Monta el robot con las piezas seleccionadas y conecta los motores al circuito. Los optoacopladores se utilizan para proteger Arduino de peligros de alto voltaje. Nota: El RX de Arduino debe estar conectado al TX del módulo Bluetooth y el TX de Arduino debe estar conectado al RX del módulo Bluetooth.

Laboral:

En este Robot agregamos funcionalidad de Internet mediante un módem GSM que proporciona conexión GPRS. La siguiente sección explicará cómo enviar lecturas de sensores mediante un comando HTTP a un sitio web. Utilizamos el sitio web ThingSpeak, que proporciona una API sencilla y gratuita para registrar datos de una variedad de sensores.

Gráfico mostrando variações de intensidade de luz detectadas por LDR no robô Arduino de aquisição de dados

Fig. 3: Gráfico que muestra las variaciones de intensidad de la luz detectadas por LDR en el robot de adquisición de datos Arduino

Gráfico mostrando as variações de umidade registradas pelo sensor DHT11 no robô Arduino de aquisição de dados

Fig. 4: Gráfico que muestra las variaciones de humedad registradas por el sensor DHT11 en el robot de adquisición de datos Arduino

Gráfico mostrando as variações de temperatura registradas pelo sensor DHT11 no robô Arduino de aquisição de dados

Fig. 5: Gráfico que muestra las variaciones de temperatura registradas por el sensor DHT11 en el robot de adquisición de datos Arduino

Estos son algunos ejemplos de gráficos que se generaron a partir de datos de sensores enviados desde el robot al canal en el sitio web de ThingSpeak:

Configuración de cosa hablada

Estos son los pasos necesarios para que este ejemplo funcione con el sitio web de ThingSpeak:

  1. Crea una cuenta con ThingSpeak (Regístrate).

  2. Crear un nuevo canal

Captura de tela do site Thingspeak mostrando a criação de um canal para aquisição de dados

Fig. 6: Captura de pantalla del sitio web de Thingspeak que muestra la creación de un canal para la adquisición de datos.

  1. Copie la CLAVE DE API DE ESCRITURA de la pestaña APIKEYS de su nuevo canal.

  2. Configure su nuevo canal (consulte la pestaña Configuración del canal ).

    • Añade tres campos a tu canal.

    • Nombra el canal y cada uno de los campos.

    • Guarde la configuración del nuevo canal.

    • Nota: Los nombres de canales y campos se utilizan para etiquetar datos en gráficos. Estos nombres no tienen ningún efecto en la API y se pueden cambiar en cualquier momento.

Aquí están las configuraciones de canal utilizadas para este Robot:

Captura de tela do site Thingspeak mostrando a adição de campos de intensidade de luz, temperatura e umidade no canal criado para dis

Fig. 7: Captura de pantalla del sitio web de Thingspeak que muestra la adición de campos de intensidad de luz, temperatura y humedad en el canal creado para mostrar los datos del sensor.

La biblioteca incluye

Además de las bibliotecas existentes, ahora también debemos incluir las bibliotecas Timerone, Soft serial y DHT en el borrador utilizando la directiva del compilador #include.

#incluir

#incluir

#incluir

La API ThingSpeak limita la carga de datos a un máximo de una vez cada 15 segundos. Además, se necesita algún tiempo para establecer la conexión GPRS antes de que se puedan enviar datos. Por este motivo, configuramos Timer1.initialize(4000000); //establece un temporizador de 4 segundos. Y cree una variable para 5 llamada tick_count para que las lecturas se tomen una vez cada 20 segundos. (las unidades son microsegundos)

Para configurar:

Además del código de configuración existente para los controles robóticos, debemos realizar alguna inicialización en GSM.

GPRS.write(“AT+CGATT=1”); //Adjuntar un servicio GPRS

GPRS.write(“AT+CGDCONT=1”,IP”,”airtelgprs.com””); //Establecer contexto PDP

GPRS.write(“AT+CSTT=”airtelgprs.com”,””,”””); //Establecer punto de acceso, ID de usuario y contraseña

GPRS.write(“AT+CIICR”); //Activar la conexión inalámbrica con GPRS lleva tiempo

GPRS.write(“AT+CIFSR”); // Obtener la dirección IP local. De hecho, no es necesario.

GPRS.write(“AT+CIPSTATUS”); // Obtiene el estado de la conexión PS. Debe ser 'ESTADO IP'. // Esto se puede utilizar como punto de control.

GPRS.write(“AT+CIPHEAD=1”); // Agregar encabezados a la solicitud HTTP.

GPRS.write(“AT+CDNSORIP=1”); //Indica si la solicitud de conexión utilizará la dirección IP (0) o el nombre de dominio (1)

GPRS.write(“AT+CIPSTART=”TCP”,”api.thingspeak.com”,”80″”); //Inicia la conexión TCP (modo, dirección IP/nombre, puerto) PD: si devuelve 'CONNECT OK' entonces estás de suerte

GPRS.write(“AT+CIPSEND”);//Informando al módulo GSM que vamos a enviar los datos

Recopilación de datos:

Luz = lectura analógica (A0); //Intensidad de la luz de lectura

¡Leer la temperatura o la humedad tarda unos 250 milisegundos! Las lecturas del sensor también pueden tener hasta 2 segundos de antigüedad (es un sensor muy lento)

h = dht.readHumedad; // Lee la temperatura como Celsius (el valor predeterminado)

t = dht.readTemperature;

Envío de datos a Thing Speak:

itoa (Luz,LIGHT_data,10);

itoa (h,HUMID_dados,10);

itoa (t,TEMP_dados,10); //Función para convertir un número entero en una cadena.

GPRS.write(“EN+CIPSEND”); //Informando al módulo GSM que enviaremos los datos

GPRS.write(“GET /update?key=XXXXXXXXXXXXXXXXXXXXXX= “); // Cambie a su CLAVE API.

GPRS.write(LIGHT_data);

GPRS.write(“&campo2= “);

GPRS.write(HUMID_dados);

GPRS.write(“&campo3= “);

GPRS.write(TEMP_data);

GPRS.write(”HTTP/1.1″); //Y finalmente aquí viene la solicitud HTTP real //A continuación están los encabezados que se deben configurar.

GPRS.write(“Anfitrión: api.thingspeak.com”);

GPRS.write(“Conexión: mantener vivo”);

GPRS.write(“Aceptar: */”);

GPRS.escribir(“*”);

GPRS.write(“Idioma aceptado: es-us”);

GPRS.write(0x1A);//Informa al módulo GSM que ya no enviaremos datos

//char ctrlZ = 0x1A;

Diagramas de circuito

Diagrama-de-circuito-Circuitos-de-control-basados-en-Arduino-Robot-de-adquisición-de-datos-usado

Vídeo del proyecto

Volver al blog

Deja un comentario

Los comentarios deben ser aprobados antes de su publicación.