Мазмұны:

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

Бейне: Трекер мырза: 3 қадам

Бейне: Трекер мырза: 3 қадам
Бейне: Еркектер естен кетті. Танцы со звездами SKY DANCE. Астана той ТойStar 8778 55 66 5 77 2024, Қараша
Anonim
Мырза Трекер
Мырза Трекер

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

  • Сәлеметсіз бе, сіз өзіңіздің күн трекеріңізді жасағыңыз келеді.
  • Міне, сіз өзіңіздің күн сәулесінен бақылаушыңызды жасауға болатын бірнеше қарапайым қадамдар.

Қажетті материал

  • Нан тақтасы
  • Aurdino Uno/Nano/Pro mini
  • 9в батарея
  • 2 күн панелі (кез келген мөлшерде)
  • 2 LDR (егер сіз 2 ось жасағыңыз келсе, сізге 4 LDR қажет болады).
  • Өткізгіш сымдар
  • Карточка тақтасы
  • 1 Серво қозғалтқышы

1 -қадам: Бұл схеманы тексеріңіз

Бұл схеманы тексеріңіз
Бұл схеманы тексеріңіз

2 -қадам: кодтау әдісі

Егер сіз серво моторы туралы білмесеңіз. Серво тек 180 градусқа бұрылады. Серво пайдаланудың артықшылығы - қаншалықты айналғымыз келетініне байланысты.

LDR, LDR кедергісі шамадан тыс және қараңғыда өте жоғары қарсылыққа ие болғанда төмен болады. Біз кодты Inside If шартына қоямыз, сондықтан біз күн батареясын ldr кедергісімен оңай айналдыра аламыз.

Сіз бұл күн іздеушіге өзіңіздің кодты жаза аласыз. Сіздің күн трекер дизайнына сәйкес.

Менің күн трекерімнің коды:-

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

#қосу Servo sg90; int initial_position = 90; int LDR1 = A0; // LDR1 -ді A0 түйреуішіне қосыңыз

int LDR2 = A1; // LDR2 -ді A1 түйреуішіне қосыңыз

int қателігі = 5;

int servopin = 9; // Сіз servo -ны өзгерте аласыз, оның arduino PWM түйреуішіне сенімді болыңыз

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

{

sg90.аттау (сервопин);

pinMode (LDR1, INPUT); pinMode (LDR2, INPUT);sg90.write (бастапқы_позиция);

// Серваны 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);

}

Ұсынылған: