int relayPin1 = 4;
int relayPin2 = 5;
int relayPin3 = 6;
int relayPin4 = 7;
int functieActivata1 = 0;
int functieActivata2 = 0;
int functieActivata3 = 0;
int functieActivata4 = 0;
unsigned long previousMillis1 = 0;
unsigned long previousMillis2 = 0;
unsigned long previousMillis3 = 0;
unsigned long previousMillis4 = 0;
const long interval1 = 333; // Interval de 333 milisecunde pentru primul releu
const long interval2 = 3000; // Interval de 5 minute (300000 milisecunde) pentru al doilea releu
const long interval3 = 500; //
const long interval4 = 700; //
void setup() {
Serial.begin(9600);
pinMode(relayPin1, OUTPUT);
pinMode(relayPin2, OUTPUT);
pinMode(relayPin3, OUTPUT);
pinMode(relayPin4, OUTPUT);
digitalWrite(relayPin1, LOW);
digitalWrite(relayPin2, LOW);
digitalWrite(relayPin3, LOW);
digitalWrite(relayPin4, LOW);
}
void loop() {
if (Serial.available() > 0) {
char command = Serial.read();
if (command == '1') {
// Porneste functia pentru primul releu
functieActivata1 = 1;
Serial.println("Releu 1 pornit");
} else if (command == '2') {
// Opreste functia pentru primul releu
functieActivata1 = 0;
digitalWrite(relayPin1, LOW);
Serial.println("Releu 1 oprit");
} else if (command == '3') {
// Porneste functia pentru al doilea releu
functieActivata2 = 1;
Serial.println("Releu 2 pornit");
} else if (command == '4') {
// Opreste functia pentru al doilea releu
functieActivata2 = 0;
digitalWrite(relayPin2, LOW);
Serial.println("Releu 2 oprit");
} else if (command == '5'){
functieActivata3 = 1;
Serial.println("Releu 3 pornit");
} else if (command == '6') {
functieActivata3 = 0;
digitalWrite(relayPin3, LOW);
Serial.println("Releu 3 oprit");
} else if (command == '7') {
functieActivata4 = 1;
Serial.println("Releu 4 pornit");
} else if (command == '8') {
functieActivata4 = 0;
digitalWrite(relayPin4, LOW);
Serial.println("Releu 4 oprit");
}
}
if (functieActivata1 == 1) {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis1 >= interval1) {
// Aici poți adăuga codul pentru primul releu
digitalWrite(relayPin1, !digitalRead(relayPin1)); // Inverteaza starea pinului
previousMillis1 = currentMillis;
}
}
if (functieActivata2 == 1) {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis2 >= interval2) {
// Aici poți adăuga codul pentru al doilea releu
digitalWrite(relayPin2, !digitalRead(relayPin2)); // Inverteaza starea pinului
previousMillis2 = currentMillis;
}
}
if (functieActivata3 == 1) {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis3 >= interval3) {
// Aici poți adăuga codul pentru primul releu
digitalWrite(relayPin3, !digitalRead(relayPin3)); // Inverteaza starea pinului
previousMillis3 = currentMillis;
}
}
if (functieActivata4 == 1) {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis4 >= interval4) {
// Aici poți adăuga codul pentru primul releu
digitalWrite(relayPin4, !digitalRead(relayPin4)); // Inverteaza starea pinului
previousMillis4 = currentMillis;
}
}
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
relay1:VCC
relay1:GND
relay1:IN
relay1:NC
relay1:COM
relay1:NO
relay2:VCC
relay2:GND
relay2:IN
relay2:NC
relay2:COM
relay2:NO
relay3:VCC
relay3:GND
relay3:IN
relay3:NC
relay3:COM
relay3:NO
relay4:VCC
relay4:GND
relay4:IN
relay4:NC
relay4:COM
relay4:NO