Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions arduino_WateringN/arduino_WateringN
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// N-way plant Watering System
// refactored by T. Endo 2024.1.24

#define Interval 1000
#define On LOW
#define Off HIGH
#define END (-1)
const char* Header = "MOISTURE LEVEL:";
int MoistLevel = 750; // ajustable by adding some code.
// refactored to make Sensors and Pumps appendable before END.
const int Sensor[] = {A0, A1, A2, A3, END};
const int Pump[] = {4, 5, 6, 7, END};
// note: pins 2 & 3 should be reserved for interrupt,
// to add level adjustment functionality in the future
// because only those pins are available to early Arduinos.

void setup() {
Serial.begin(9600);
for (int i=0; Pump[i] != END; i++) {
pinMode(Sensor[i], INPUT);
pinMode(Pump[i], OUTPUT);
digitalWrite(Pump[i], Off);
}
delay(500);
}
void loop() {
Serial.print(Header);
for (int i = 0; Pump[i] != END; i++) {
int value1 = analogRead(Sensor[i]);
Serial.println(value1);
digitalWrite(Pump[i], // higher as drier
(value1 > MoistLevel) ? On : Off );
Serial.println();
}
delay(Interval);
}