Reply To: Multiple drop controller

Forums General Questions and Comments Multiple drop controller Reply To: Multiple drop controller

#1929
Martyn
Keymaster

The code could be modified to allow more drops and this is something you would need to experiment with. Unfortunately I don’t have time to help much.

The dropContrroller can control up to 6 valves. You don’t say have many you need so I presume it is 6 or less.

The maximum number of drops the dropController can create is hard coded to 9. The code can be modified to have 25 (or even more) and you would need to change the relevant variable initialisations and the loops that deal with the drops. For example:

at the beginning of the sketch, the arrays that hold the drop times would need to be extended to hold more drops
// Arrays to hold the drop times
// I don’t use element [0]. This means drop 1 is at position [1]
byte sol[10] = {0,1,1,1,1,1,1,1,1,1}; // the solenoid to use for the drop; 1 to 6
unsigned int dropStartTime[10] = {0,0,0,0,0,0,0,0,0,0}; // start time in millisecond
unsigned int dropStopTime[10] = {0,0,0,0,0,0,0,0,0,0}; // stop time in millisecond

and the array used to receive the commands would also need extending

char dropCommand[10][16] = {“0-1234567890”, “1-1234567890”, “2-1234567890” , “3-1234567890” , “4-1234567890” , “5-1234567890” , “6-1234567890” , “7-1234567890” , “8-1234567890” , “9-1234567890” };

in the makeDrops function

boolean dropped[10] = { false, false, false, false, false, false, false, false, false, false} ;
boolean solOpen[10] = { false, false, false, false, false, false, false, false, false, false} ;

Then all the loops that deal with drops would need the loop size changing (this is one example only, there are more):

// set the drops as not dropped
// set the solenoid valve for each drop as not open
for (int i=1; i<9; i++) { dropped[i] = false; solOpen[i] = false; }