Mundarija:

Janob Tracker: 3 qadam
Janob Tracker: 3 qadam

Video: Janob Tracker: 3 qadam

Video: Janob Tracker: 3 qadam
Video: Janob Rasul - Charchadim (Official Music Video) 2024, Noyabr
Anonim
Janob Tracker
Janob Tracker

Quyosh kuzatuvchisi oddiy quyosh panelidan 30% ko'proq elektr energiyasini ta'minlaydi

  • Salom, o'zingiz quyosh naychasini yaratmoqchimisiz.
  • Quyida quyosh naychasini o'zingiz qilishingiz mumkin bo'lgan bir necha oddiy qadamlar.

Kerakli material

  • Non taxtasi
  • Aurdino Uno/Nano/Pro mini
  • 9v batareya
  • 2 ta quyosh panellari (har qanday o'lchamda)
  • 2 LDR (agar siz 2 o'qni yaratmoqchi bo'lsangiz, sizga 4 LDR kerak bo'ladi).
  • Jumper simlari
  • Karta taxtasi
  • 1 Servo motori

1 -qadam: Ushbu sxemani tekshiring, davr qanday bo'ladi

Ushbu sxemaning sxemasi qanday bo'lishini tekshiring
Ushbu sxemaning sxemasi qanday bo'lishini tekshiring

2 -qadam: Qanday kodlash kerak

Agar siz servo moter haqida bilmasangiz. Servo faqat 180 daraja aylanadi. servo ishlatishning afzalligi biz qanchalik aylanishni xohlashimizga bog'liq.

LDR, LDR qarshiligi juda past va qorong'uda juda yuqori qarshilikka ega bo'lganda past bo'ladi. Biz kodni ichkariga qo'yamiz, agar shunday bo'lsa, biz quyosh panelini ldr qarshiligi yordamida osongina aylantira olamiz.

Siz ushbu quyosh kuzatuvchisi uchun o'z kodingizni yozishingiz mumkin. Quyosh kuzatuvchisi dizayniga ko'ra.

Mening quyosh kuzatuvchimning kodi:

3-qadam: Kod:

#Servo sg90 qo'shish; int boshlang'ich_pozitsiyasi = 90; int LDR1 = A0; // A0 pinidagi LDR1 -ni ulang

int LDR2 = A1; // LDR2 -ni A1 piniga ulang

int xatosi = 5;

int servopin = 9; // Siz servo -ni o'zgartirishingiz mumkin, bu uning arduino PWM -piniga ishonch hosil qiladi

bo'sh o'rnatish ()

{

sg90. biriktirish (servopin);

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

// Servo 90 gradusda harakatlantiring

kechikish (2000); }

bo'sh halqa ()

{

int R1 = analogRead (LDR1); // LDR 1 ni o'qing

int R2 = analogRead (LDR2); // o'qing LDR 2 int diff1 = abs (R1 - R2); int diff2 = abs (R2 - R1);agar ((diff1 <= xato) || (diff2 <= xato)) {}

boshqa {

agar (R1> R2)

{

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

}

} agar (R1 <R2) {

agar (boshlang'ich_pozitsiya <120) {boshlang'ich_pozitsiya = ++ boshlang'ich_pozitsiya; }}} sg90.write (initial_position); kechikish (50);

}

Tavsiya: