Съдържание:

Г -н Tracker: 3 стъпки
Г -н Tracker: 3 стъпки

Видео: Г -н Tracker: 3 стъпки

Видео: Г -н Tracker: 3 стъпки
Видео: БЕСПЛАТНЫЙ, САМЫЙ ТОЧНЫЙ НАВИГАТОР ДЛЯ ЛЕСА, ОХОТЫ, РЫБАЛКИ. РАБОТАЕТ БЕЗ ИНТЕРНЕТА.#GPS#НАВИГАТОР 2024, Юли
Anonim
Г -н Тракер
Г -н Тракер

Слънчевият тракер осигурява 30% повече електроенергия от нормалния слънчев панел

  • Здравейте Искате да направите свой собствен соларен тракер.
  • Ето няколко лесни стъпки, чрез които можете да направите свой собствен слънчев тракер.

Изисква се материал

  • Дъска за хляб
  • Aurdino Uno/Nano/Pro mini
  • 9v батерия
  • 2 слънчеви панела (всеки с размер)
  • 2 LDR (ако искате да направите 2 оси, ще ви трябват 4 LDR).
  • Кабелни проводници
  • Картонена дъска
  • 1 Серво мотор

Стъпка 1: Проверете тази диаграма как ще бъде веригата

Проверете тази диаграма как ще бъде веригата
Проверете тази диаграма как ще бъде веригата

Стъпка 2: Как да кодирате

Ако не знаете за серво мотора. Сервото се върти само на 180 градуса. предимството на използването на серво зависи от нас колко искаме да се въртим.

LDR, Съпротивлението на LDR е ниско, когато е твърде много светлина и на тъмно има много висока устойчивост. Ще поставим кода Inside If условие, така че можем лесно да завъртим нашия слънчев панел, използвайки съпротивлението на ldr.

Можете да напишете свой собствен код за този соларен тракер. Според вашия дизайн на соларен тракер.

Кодът на моя слънчев тракер е:-

Стъпка 3: Код:-

#include Servo sg90; int начална_позиция = 90; int LDR1 = A0; // свързваме LDR1 на Pin A0

int LDR2 = A1; // Свържете LDR2 на щифт A1

int грешка = 5;

int servopin = 9; // Можете да промените серво, просто се уверете, че е на PWM щифта на arduino

void setup ()

{

sg90.attach (servopin);

pinMode (LDR1, INPUT); pinMode (LDR2, INPUT);sg90.write (initial_position);

// Преместване на серво на 90 градуса

забавяне (2000); }

void loop ()

{

int R1 = analogRead (LDR1); // прочетете LDR 1

int R2 = analogRead (LDR2); // четене на LDR 2 int diff1 = abs (R1 - R2); int diff2 = abs (R2 - R1);if ((diff1 <= грешка) || (diff2 <= грешка)) {}

иначе {

ако (R1> R2)

{

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

}

} ако (R1 <R2) {

if (начална_позиция <120) {начална_позиция = ++ начална_позиция; }}} sg90.write (начална_позиция); забавяне (50);

}

Препоръчано: