Advertisement
AngyalRobert

Arduino relays

Feb 16th, 2023
806
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.53 KB | Source Code | 0 0
  1. const int relayPins[] = {2, 3, 4}; // Relé kimenetek pinjei
  2. const int numRelays = sizeof(relayPins) / sizeof(relayPins[0]); // Relék száma
  3.  
  4. void setup() {
  5.   for (int i = 0; i < numRelays; i++) {
  6.     pinMode(relayPins[i], OUTPUT); // Az összes relé kimenetét beállítjuk kimenetre
  7.     digitalWrite(relayPins[i], HIGH); // A relék kikapcsolt állapotban legyenek
  8.   }
  9. }
  10.  
  11. void loop() {
  12.   int selectedRelay;
  13.   int selectedDuration;
  14.  
  15.   // Várakozás a felhasználó választására
  16.   while (Serial.available() == 0) {
  17.     // Várakozás
  18.   }
  19.  
  20.   // A felhasználó által választott relé kiválasztása (1-től indul az indexelés)
  21.   selectedRelay = Serial.parseInt();
  22.   Serial.println("Kiválasztott relé: " + String(selectedRelay));
  23.  
  24.   // A felhasználó által választott időtartam kiválasztása (mp-ben)
  25.   while (Serial.available() == 0) {
  26.     // Várakozás
  27.   }
  28.   selectedDuration = Serial.parseInt() * 1000;
  29.   Serial.println("Kiválasztott időtartam: " + String(selectedDuration / 1000) + " mp");
  30.  
  31.   // Az összes relé kikapcsolása
  32.   for (int i = 0; i < numRelays; i++) {
  33.     digitalWrite(relayPins[i], HIGH);
  34.   }
  35.  
  36.   // A felhasználó által választott relé bekapcsolása
  37.   digitalWrite(relayPins[selectedRelay - 1], LOW);
  38.   Serial.println("Relé " + String(selectedRelay) + " bekapcsolva");
  39.  
  40.   // Várakozás a kiválasztott időtartamra
  41.   delay(selectedDuration);
  42.  
  43.   // Az összes relé kikapcsolása
  44.   for (int i = 0; i < numRelays; i++) {
  45.     digitalWrite(relayPins[i], HIGH);
  46.   }
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement