Мазмуну:

Мырза Трекер: 3 кадам
Мырза Трекер: 3 кадам

Video: Мырза Трекер: 3 кадам

Video: Мырза Трекер: 3 кадам
Video: O'xshamay Qolgan EPIZOD #mrotabektv #kulgu #приколы 2024, Июль
Anonim
Мырза Трекер
Мырза Трекер

Күн трекери кадимки Күн панелинен 30% көбүрөөк электр энергиясын берет

  • Саламатсызбы, өзүңүздүн Solar Tracker жасагыңыз келет.
  • Бул жерде сиз күн трекерин өзүңүз жасай турган бир нече жөнөкөй кадамдар.

Материал талап кылынат

  • Нан тактасы
  • Aurdino Uno/Nano/Pro mini
  • 9v батарея
  • 2 күн панели (ар кандай өлчөмдөгү)
  • 2 LDR (эгер сиз 2 огун жасагыңыз келсе, сизге 4 LDR керек болот).
  • Өткөргүч зымдар
  • Карта тактасы
  • 1 Servo moter

1 -кадам: Бул схеманы текшериңиз, чынжыр кандай болот

Бул схеманы текшериңиз, чынжыр кандай болот
Бул схеманы текшериңиз, чынжыр кандай болот

2 -кадам: Кантип коддоо керек

Эгерде сиз servo moter жөнүндө билбесеңиз. Серво 180 градуска гана айланат. servo колдонуунун артыкчылыгы, биз канчалык айлантууну каалайбыз.

LDR, LDRдин каршылыгы өтө аз жана караңгыда өтө жогору каршылыкка ээ болгондо төмөн. Биз кодду Inside If шартына коебуз, ошондуктан күн панелибизди лдр каршылыгын колдонуп оңой айланта алабыз.

Бул күн трекери үчүн өзүңүздүн кодуңузду жаза аласыз. Күн трекеринин дизайны боюнча.

Менин күн трекеримдин коду:-

3-кадам: Код:-

#incvo Servo sg90; int initial_position = 90; int LDR1 = A0; // LDR1ди A0 пинге туташтырыңыз

int LDR2 = A1; // LDR2'ди A1 пинге туташтырыңыз

int error = 5;

int servopin = 9; // Сервону ардуинонун PWM пинине киргизе аласыз

жараксыз орнотуу ()

{

sg90.attach (servopin);

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

// Сервону 90 градуска жылдырыңыз

кечигүү (2000); }

боштук цикл ()

{

int R1 = analogRead (LDR1); // окуу LDR 1

int R2 = analogRead (LDR2); // окуу LDR 2 int diff1 = abs (R1 - R2); int diff2 = abs (R2 - R1);if ((diff1 <= error) || (diff2 <= error)) {}

башка {

эгер (R1> R2)

{

if (initial_position> 60) {initial_position = --initial_position;

}

} болсо (R1 <R2) {

if (initial_position <120) {initial_position = ++ initial_position; }}} sg90.write (initial_position); кечиктирүү (50);

}

Сунушталууда: