Агуулгын хүснэгт:

Ноён Трекер: 3 алхам
Ноён Трекер: 3 алхам

Видео: Ноён Трекер: 3 алхам

Видео: Ноён Трекер: 3 алхам
Видео: Ravon R3 она же Chevrolet Aveo t250 Nexia 3 Переделка Салона 2024, Долдугаар сарын
Anonim
Ноён Трекер
Ноён Трекер

Нарны трекер нь ердийн нарны хавтангаас 30% илүү цахилгаан өгдөг

  • Сайн байна уу, нарны трекерийг өөрөө хийхийг хүсч байна.
  • Энд нарны трекерийг өөрийн гараар хийх хялбар алхамуудыг энд оруулав.

Шаардлагатай материал

  • Талхны самбар
  • Aurdino Uno/Nano/Pro mini
  • 9в батерей
  • 2 нарны хавтан (ямар ч хэмжээтэй)
  • 2 LDR (хэрэв та 2 тэнхлэг хийхийг хүсч байвал танд 4 LDR хэрэгтэй болно).
  • Холбогч утас
  • Картын самбар
  • 1 Servo moter

Алхам 1: Энэ схемийг шалгана уу

Цахилгаан хэлхээ хэрхэн болохыг энэ диаграмаас үзнэ үү
Цахилгаан хэлхээ хэрхэн болохыг энэ диаграмаас үзнэ үү

Алхам 2: Хэрхэн кодлох вэ

Хэрэв та servo moter -ийн талаар мэдэхгүй бол. Servo нь зөвхөн 180 градус эргэдэг. servo ашиглах давуу тал нь бид хэр их эргүүлэхийг хүсч байгаагаас хамаарна.

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; // Та arduino -ийн PWM зүү дээр байгаа servo -ийг өөрчилж болно

хүчингүй тохиргоо ()

{

sg90. хавсаргах (servopin);

pinMode (LDR1, INPUT); pinMode (LDR2, INPUT);sg90. бичих (анхны_байр);

// Сервог 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);

}

Зөвлөмж болгож буй: