Оглавление:

Мистер Трекер: 3 шага
Мистер Трекер: 3 шага

Видео: Мистер Трекер: 3 шага

Видео: Мистер Трекер: 3 шага
Видео: Вместо того, чтобы ждать, когда я похудею, я просто изучила свой тип фигуры. 2024, Ноябрь
Anonim
Мистер трекер
Мистер трекер

Солнечный трекер обеспечивает на 30% больше электроэнергии, чем обычная солнечная панель

  • Привет, хочу сделать свой собственный солнечный трекер.
  • Вот несколько простых шагов, с помощью которых вы можете создать свой собственный солнечный трекер.

Требуемый материал

  • Хлебная доска
  • Аурдино Уно / Нано / Про мини
  • Батарея 9v
  • 2 солнечные панели (любого размера)
  • 2 LDR (если вы хотите сделать 2 оси, вам потребуется 4 LDR).
  • Провода перемычки
  • Картонная доска
  • 1 сервомотор

Шаг 1: Проверьте эту схему, как будет выглядеть цепь

Проверьте эту схему, как будет выглядеть цепь
Проверьте эту схему, как будет выглядеть цепь

Шаг 2: Как писать код

Если вы не знаете о сервомоторе. Сервопривод вращается только на 180 градусов. Преимущество использования сервопривода зависит от нас, на сколько мы хотим повернуться.

LDR, сопротивление LDR низкое, когда его слишком много света, а в темноте он имеет очень высокое сопротивление. Мы поместим код внутри условия If, чтобы мы могли легко вращать нашу солнечную панель, используя сопротивление ldr.

Вы можете написать свой собственный код для этого солнечного трекера. Согласно вашему дизайну солнечного трекера.

Код моего солнечного трекера: -

Шаг 3: Код: -

#include Servo sg90; int initial_position = 90; int LDR1 = A0; // подключаем LDR1 к выводу A0

int LDR2 = A1; // Подключаем LDR2 к выводу A1

int error = 5;

int servopin = 9; // Вы можете изменить сервопривод, просто установив его на вывод PWM Arduino

установка void ()

{

sg90.attach (сервопин);

pinMode (LDR1, ВХОД); pinMode (LDR2, ВХОД);sg90.write (начальная_позиция);

// Перемещение сервопривода на 90 градусов

задержка (2000); }

пустой цикл ()

{

int R1 = аналоговое чтение (LDR1); // читаем LDR 1

int R2 = аналоговое чтение (LDR2); // читать LDR 2 int diff1 = abs (R1 - R2); int diff2 = abs (R2 - R1);if ((diff1 <= error) || (diff2 <= error)) {}

еще {

если (R1> R2)

{

если (начальная_позиция> 60) {начальная_позиция = - начальная_позиция;

}

} если (R1 <R2) {

если (начальная_позиция <120) {начальная_позиция = ++ начальная_позиция; }}} sg90.write (начальная_позиция); задержка (50);

}

Рекомендуемые: