so forgive my etiquette, but im struggling to grasp what it is im doing wrong here, ive built a system off the arduino mega, to control all aspects of nutrient dosing and irrigation for an indoor garden. i.e., dosing the nutrients to a mixing reservoir, correcting PH swings, & pumping it to plant pots. multiple rooms are separated by solenoid valves. id very much like to configure a sketch that allows me to save regimens per room but i do not have the resources to take on such a task at the moment. the schematic is below, as well as the sketch ive tweaked from open source. if anyone here can lend a hand as to what i can do to get it compile, it would be greatly appreciated.
heres the sketch setup....
#include <Wire.h> //Include the software serial library for white shield
#include <Adafruit_NeoPixel.h>
#include <LiquidCrystal.h> //lib for interfacing with LCD screen
#include <SPI.h> //Suppoting lib for SD card
#include <SD.h> //SD card API
#include <EEPROM.h>
#include <Arduino_JSON.h> //Arduno Json (aka epic)
#include <DS3231.h> //Real time clock lib
#include "Globals.h" //All temp and PROGMEM global variables
#include "Core.h" //All core functions and variables
#include "Crops.h" //All crop functions and variables
#include "Pumps.h" //All pump functions and variables
#include "Regimens.h" //All session functions and variables
#include "Screens.h" //All screen functions and variables
#include "Menus.h" //All menu functions and variables
#include "DatesTime.h" //All date & time functions and variables
#include "Irrigation.h" //All irrigation related functions and variables
#include "Timers.h" //All timer related functions and variables
//OS main setup
void setup()
{
LiquidCrystal.createChar(0, upArrow);
LiquidCrystal.createChar(1, downArrow);
LiquidCrystal.begin(16, 2);
Adafruit_NeoPixel.begin(); // This initializes the NeoPixel library.
Adafruit_NeoPixel.setBrightness(128);
Adafruit_NeoPixel.show();
//If SD Card is not found, we can't proceed
if (!SD.begin(53)){
LiquidCrystal.print(F("SD Card Required"));
LiquidCrystal.setCursor(0, 1);
LiquidCrystal.print(F("Insert And Reset"));
screenName = F("REQUIREDSD");
} else {//if SD card is found, proceed with crop load or setup
captureDateTime(); //Capture current time from real time clock
phRsvrMillis = phPlantMillis = ecMillis = millis(); //set first time use of timestamps
//Setup Flow Sensor Pins
pinMode(FlowPinIn, INPUT); //irrigation "in" flow meter
digitalWrite(FlowPinIn, HIGH);
pinMode(FlowPinOut, INPUT); //irrigation "out" flow meter
digitalWrite(FlowPinOut, HIGH);
pinMode(FlowPinOut, INPUT); //irrigation "tent" flow meter
digitalWrite(FlowPinOut, HIGH);
//irrigation flow meters being hooked into flow counter methods
attachInterrupt(digitalPinToInterrupt(FlowPinIn), countRsvrFill, RISING);
attachInterrupt(digitalPinToInterrupt(FlowPinOut), countRsvrDrain, RISING);
attachInterrupt(digitalPinToInterrupt(FlowPinTent), countRsvrDrain, RISING);
//Setup Relay Pins
pinMode(22, OUTPUT); //perstaltic pump 1
digitalWrite(22, HIGH);
pinMode(23, OUTPUT); //perstaltic pump 2
digitalWrite(23, HIGH);
pinMode(24, OUTPUT); //perstaltic pump 3
digitalWrite(24, HIGH);
pinMode(25, OUTPUT); //perstaltic pump 4
digitalWrite(25, HIGH);
pinMode(26, OUTPUT); //perstaltic pump 5
digitalWrite(26, HIGH);
pinMode(27, OUTPUT); //perstaltic pump 6
digitalWrite(27, HIGH);
pinMode(28, OUTPUT); //perstaltic pump 7
digitalWrite(28, HIGH);
pinMode(29, OUTPUT); //perstaltic pump 8
digitalWrite(29, HIGH);
pinMode(30, OUTPUT); //perstaltic pump 9
digitalWrite(30, HIGH);
pinMode(31, OUTPUT); //perstaltic pump 10
digitalWrite(31, HIGH);
pinMode(32, OUTPUT); //irrigation "D" valve
digitalWrite(32, HIGH);
pinMode(33, OUTPUT); //irrigation "C" valve
digitalWrite(33, HIGH);
pinMode(34, OUTPUT); //irrigation "B" valve
digitalWrite(34, HIGH);
pinMode(35, OUTPUT); //irrigation "A" valve
digitalWrite(35, HIGH);
pinMode(36, OUTPUT); //High voltage power receptical 1
digitalWrite(36, HIGH);
pinMode(37, OUTPUT); //High voltage power receptical 2
digitalWrite(37, HIGH);
//Serial.begin(9600);
Wire.begin(); // enable i2c ports.
coreInit(); //Loads or Creates Crops
}
}
