Перейти до вмісту
    Arduino / Сонячний трекер на Ардуіно + Двухканальне реле

    Сонячний трекер на Ардуіно + Двухканальне реле

    Оцініть цю публікацію!
    [Усього: 1 Середнє значення: 5]

    Простий скетч для управління двигуном в сонячному трекері з використанням Arduino Nano, датчиків освітленості LM393 та двоканального реле. Датчики LM393 будуть використовуватися для визначення різниці освітленості між двома сторонами сонячного трекера, а реле буде керувати двигуном для наведення на сонце.

    Необхідні компоненти:

    1. Arduino Nano
    2. Два датчики освітленості LM393
    3. Двигун з редуктором
    4. Двоканальне реле
    5. Резистори та інші пасивні компоненти (якщо потрібно)

    Підключення:

    • LM393 (лівий датчик):
      • Вихід датчика (OUT) підключіть до цифрового піна Arduino (наприклад, D2).
      • Земля (GND) підключіть до GND Arduino.
      • Живлення (VCC) підключіть до 5V Arduino.
    • LM393 (правий датчик):
      • Вихід датчика (OUT) підключіть до цифрового піна Arduino (наприклад, D3).
      • Земля (GND) підключіть до GND Arduino.
      • Живлення (VCC) підключіть до 5V Arduino.
    • Двоканальне реле:
      • Перший канал реле підключіть до цифрового піна Arduino (наприклад, D4).
      • Другий канал реле підключіть до цифрового піна Arduino (наприклад, D5).
      • Земля (GND) підключіть до GND Arduino.
      • Живлення (VCC) підключіть до 5V Arduino.
    // Піни для датчиків освітленості
    const int leftSensorPin = 2;
    const int rightSensorPin = 3;
    
    // Піни для реле
    const int relayPin1 = 4;
    const int relayPin2 = 5;
    
    // Поріг різниці освітленості
    const int threshold = 50; // Налаштуйте цей параметр відповідно до ваших потреб
    
    void setup() {
      // Ініціалізація пінів
      pinMode(leftSensorPin, INPUT);
      pinMode(rightSensorPin, INPUT);
      pinMode(relayPin1, OUTPUT);
      pinMode(relayPin2, OUTPUT);
    
      // Вимкнення реле на початку
      digitalWrite(relayPin1, LOW);
      digitalWrite(relayPin2, LOW);
    
      // Початок зв'язку
      Serial.begin(9600);
    }
    
    void loop() {
      // Зчитування значень освітленості з датчиків
      int leftSensorValue = analogRead(leftSensorPin);
      int rightSensorValue = analogRead(rightSensorPin);
    
      // Обчислення різниці освітленості
      int lightDifference = abs(leftSensorValue - rightSensorValue);
    
      // Перевірка різниці освітленості та управління реле
      if (lightDifference > threshold) {
        if (leftSensorValue < rightSensorValue) {
          // Якщо лівий датчик темніший, рухаємося вліво
          digitalWrite(relayPin1, HIGH);
          digitalWrite(relayPin2, LOW);
        } else {
          // Якщо правий датчик темніший, рухаємося вправо
          digitalWrite(relayPin1, LOW);
          digitalWrite(relayPin2, HIGH);
        }
      } else {
        // Якщо різниця освітленості менша за поріг, стоїмо на місці
        digitalWrite(relayPin1, LOW);
        digitalWrite(relayPin2, LOW);
      }
    
      // Виведення значень освітленості та різниці на Serial Monitor
      Serial.print("Left Sensor: ");
      Serial.print(leftSensorValue);
      Serial.print(" Right Sensor: ");
      Serial.print(rightSensorValue);
      Serial.print(" Difference: ");
      Serial.println(lightDifference);
    
      // Затримка для стабільності
      delay(100);
    }

    Опис роботи скетчу:

    1. Датчики освітленості: Датчики LM393 використовуються для визначення різниці освітленості між лівою та правою сторонами сонячного трекера. Коли датчик виявляє світло, його вихід стає високим (HIGH), а коли темрява — низьким (LOW).
    2. Реле: Двоканальне реле керує двигуном. Коли реле активоване, воно замикає контакти, що дозволяє струму протікати через двигун, викликаючи його обертання в певному напрямку.
    3. Логіка управління: Скетч порівнює стан датчиків освітленості. Якщо лівий датчик виявляє менше світла, ніж правий, двигун обертається вліво, щоб навести трекер на більш освітлену сторону. І навпаки, якщо правий датчик виявляє менше світла, двигун обертається вправо. Якщо освітленість однакова, двигун зупиняється.

    Залишити відповідь

    Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *