Advertisement
LeventeDaradici

Single AXIS Solar tracker with ARDUINO - arduino for beginners

Feb 1st, 2022
431
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.05 KB | None | 0 0
  1. #define LUMINASUS 0 // defineste pinul Analog 0 pentru senzor sens SUS
  2. #define LUMINAJOS 1 // defineste pinul Analog 1 pentru senzor sens JOS
  3. #define ReleuSUS 2 // Pinul Digital folosit pentru releul de sens SUS
  4. #define ReleuJOS 3 // Pinul Digital folosit pentru releul de sens JOS
  5. void setup()
  6.   {
  7.     Serial.begin(9600);// Seteaza Serial Monitor pentru afisare date pe serial
  8.     pinMode(LUMINASUS, INPUT_PULLUP);// defineste PIN ca INPUT pentru SENZOR directia SUS
  9.     pinMode(LUMINAJOS, INPUT_PULLUP);// defineste PIN ca INPUT pentru SENZOR directia JOS
  10.     pinMode(ReleuSUS, OUTPUT); // defineste PIN ca OUTPUT pentru releul de sens SUS
  11.     pinMode(ReleuJOS, OUTPUT);  // defineste PIN ca OUTPUT pentru releul de sens JOS
  12.   }
  13.  
  14. void loop() {
  15.  
  16.  // int L =digitalRead(LIGHT);// citeste un senzor digital (nefolosit aici)
  17.  
  18.   int ValoareAnalogSUS = analogRead(LUMINASUS);
  19.   int ValoareAnalogJOS = analogRead(LUMINAJOS);
  20.   int DIFERENTA = ValoareAnalogSUS - ValoareAnalogJOS;
  21.   DIFERENTA = abs(DIFERENTA);
  22.   int SENSIBILITATE = 50; // AICI SETEZ CAT SA FIE DE SENSIBIL LA SCHIMBAREA VALORILOR LUMINII
  23.  
  24.     if (DIFERENTA >= 0 && DIFERENTA > SENSIBILITATE)
  25.     {
  26.        if (ValoareAnalogSUS > ValoareAnalogJOS)
  27.           {
  28.            Serial.print(ValoareAnalogSUS);
  29.             Serial.print(" MOTOR 1 sens SUS >>>>>> ");
  30.             digitalWrite(ReleuSUS,LOW);
  31.             digitalWrite(ReleuJOS,HIGH);
  32.             Serial.println(ValoareAnalogJOS);
  33.           }
  34.       if (ValoareAnalogSUS < ValoareAnalogJOS)
  35.           {
  36.             Serial.print(ValoareAnalogSUS);
  37.             Serial.print(" MOTOR 1 sens JOS <<<<<< ");
  38.             digitalWrite(ReleuJOS,LOW);
  39.             digitalWrite(ReleuSUS,HIGH);
  40.             Serial.println(ValoareAnalogJOS);
  41.           }
  42.     }    
  43.     else if (DIFERENTA <= SENSIBILITATE && DIFERENTA < SENSIBILITATE)
  44.     {
  45.       Serial.print(ValoareAnalogSUS);
  46.       Serial.print(" MOTOR 1OPRIT ");
  47.       digitalWrite(ReleuJOS,HIGH);
  48.       digitalWrite(ReleuSUS,HIGH);
  49.       Serial.println(ValoareAnalogJOS);
  50.     }
  51.    delay(500);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement