Buenos días, tardes o noches a quienes lean este post.
Perdonen si no soy apropiado con la estructura de mi post, pero tengo un problema con mis librerías y no sé como resolverlo, soy novato en la programación y no encuentro solución al siguiente problema:
In file included from C:\Users\Admin\Documents\Arduino\Beta_prog_Arduin_PLC0_0_003\Beta_prog_Arduin_PLC0_0_003.ino:4:0:
C:\Users\Admin\Documents\Arduino\libraries\Modbus\src/Modbus.h:9:10: fatal error: vector: No such file or directory
#include <vector>
^~~~~~~~
compilation terminated.
exit status 1
Compilation error: exit status 1
Como podrán ver pongo muchas notas en mi código y no sé porque ocurre esto, agradecería mucho la ayuda.
// Librerias relacionadas con PLC Siements y Ethernet //se abrira un menu, en el aparecera la siguiente opcion; "Examples"
//#include <SPI.h>
#include <Modbus.h> // Inicializa las //se abria una lista con la cual podras consultar los formatos de declaración.
#include <ModbusIP.h> // librerias _ENC28J60
#include <EtherCard.h>
// Iniciazan las librerias relacionadas con memorias SD
#include <SD.h> // Objetivos iniciales de la siguiente version incicial de prog.
//#include <SPI.h> // --> Separacion del codigo de forma adecuada
#include <TMRpcm.h> // --> Comprobacion del codigo cargandolo al Arduino
File myFile; // Inicia el protocolo de reconicimiento de datos --> Avance con programacion de lado del PLC (Programar adecuadamente las IP y variables para el arduino)
// --> Avanzar con las grabaciones de audio .wav ( el uso de bazooka es posible?)
#include "Adafruit_LiquidCrystal.h" //
Adafruit_LiquidCrystal lcd(0); // Conecta e inicia la pantalla
// declaracion de constantes del programa(pines) para SD
#define SD_ChipSelectPin 10 // pin número 4
const int speakerPin = 9;
char* file = "Alarma_zona_o2_1.wav"; // Nombre bajo el que se hara la llamada a la pista de audio
//Variables relacionadas al TRMpcm (Reproduccion de audio)
unsigned long previousTime = 0;
unsigned long interval = 1000;
// Citación del object para TRMpcm
TMRpcm tmrpcm;
const int SENSOR_IREG = 50; // Variables que almacenan los datos
const int sensorAnalog = A0; // extraidos del plc
ModbusIP mb; // Inicia el protocolo de reconocimiento IP
void setup() {
Serial.begin(9600); // inicializamos el serial com y especificamos la frecuencia
Serial.println("Verificación LCD.");
// Inicializacion del numero de pixeles horizontales/verticales
if (!lcd.begin(16, 2)) {
Serial.println("Error con la conexion a la pantalla...");
while (1)
;
}
Serial.println("Pantalla conectada.");
// Imprimiendo mensaje en pantalla LCD
lcd.print("Inicio de LCD excitoso");
Modbuscd(); // Se manda a llamar seccion del codigo para modbus
SD_lecture(); // Se manda a llamar seccion del codigo para lectura SD e indicaciones de sonido
}
void loop() {
// Inicialización de la pantalla LCD para su uso en el programa
lcd.setCursor(0, 1);
// Impresion del tiempo antes del reseteo de la información mostrada
lcd.print(millis() / 1000);
lcd.setBacklight(HIGH); // Indicacion de inicio ecritura lcd
delay(500);
lcd.setBacklight(LOW); // Indicacion de inicio descanso del mensaje en pantalla
delay(500);
analisis();
lecturasd();
}
void Modbuscd(){
//dirección MAC
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //Facilmente ajustable a la medida
//dirección IP (Muestra de dirección IP generica)
byte ip[] = { 192, 168, 1, 22 };
mb.config(mac, ip); // Compara la direcciones tomadas tanto del Arduino como del PLC
mb.addIreg(SENSOR_IREG); // Toma los valores previamente especificados del programa plc y los integra en la variable
mb.task(); // actualiza para el trabajo se realize
// con normalidad
// envía los valores del Arduino - PLC
mb.Ireg(SENSOR_IREG, analogRead(sensorAnalog));
//muestra en el monitor serie los valores
Serial.println(analogRead(sensorAnalog));
}
void analisis(){
mb.task(); // actualiza para el trabajo se realize
// con normalidad
// envía los valores del Arduino - PLC
mb.Ireg(SENSOR_IREG, analogRead(sensorAnalog));
//muestra en el monitor serie los valores de pot4
Serial.println(analogRead(sensorAnalog));
}
void SD_lecture(){
// Inicia la lectura de datos de la memoria SD
Serial.print("Iniciando lectura de tarjeta SD...");
if (!SD.begin(4)) { // Comprobación de estado de memoria SD
Serial.println("... Fallo en la lectura!");
while (true)
;
}
Serial.println("... listo.");
//Inicialización del Speaker
tmrpcm.speakerPin = speakerPin;
tmrpcm.setVolume(3);
}
void lecturasd(){
if (millis() - previousTime > interval) {
activateOutput(); // Llammado a la sub-rutina
previousTime = millis();
}
}
void activateOutput() {
Serial.println("Reproduciendo... ");
tmrpcm.play(file);
while (tmrpcm.isPlaying()) {} // Esperando a que el audio termine su reproducción
//delay(1000);tmrpcm.stopPlayback(); // o esperar 1 segundo para detener la musica (Los intervalos son variables)
}
PDT: Gracias a los moderadores por recalcarme los detalles en mi post para corregirlos