Turinys:

Ponas Trackeris: 3 žingsniai
Ponas Trackeris: 3 žingsniai

Video: Ponas Trackeris: 3 žingsniai

Video: Ponas Trackeris: 3 žingsniai
Video: 3 точки, и пищеварение станет лёгким 2024, Lapkritis
Anonim
Pone Tracker
Pone Tracker

Saulės stebėjimo priemonė suteikia 30% daugiau elektros energijos nei įprastas saulės kolektorius

  • Sveiki, norite sukurti savo saulės stebėjimo priemonę.
  • Štai keletas paprastų žingsnių, kuriais galite sukurti savo saulės sekiklį.

Reikalinga medžiaga

  • Bandomoji Lenta
  • Aurdino Uno/Nano/Pro mini
  • 9v baterija
  • 2 saulės kolektoriai (bet kokio dydžio)
  • 2 LDR (jei norite padaryti 2 ašis, todėl jums reikės 4 LDR).
  • Jumperio laidai
  • Kortų lenta
  • 1 Servo moter

1 žingsnis: patikrinkite šią schemą, kaip bus grandinė

Patikrinkite šią schemą, kaip bus grandinė
Patikrinkite šią schemą, kaip bus grandinė

2 žingsnis: kaip koduoti

Jei nežinote apie servo moterį. Servo sukasi tik 180 laipsnių. Servo naudojimo pranašumas priklauso nuo mūsų, kiek norime pasukti.

LDR, LDR atsparumas yra mažas, kai yra per daug šviesos, o tamsoje - labai didelis atsparumas. Įdėsime kodą „Inside If“, kad galėtume lengvai pasukti saulės kolektorių naudodami ldr atsparumą.

Šiam saulės sekikliui galite parašyti savo kodą. Pagal jūsų saulės sekiklio dizainą.

Mano saulės sekiklio kodas yra:-

3 žingsnis: kodas:-

#įtraukti „Servo sg90“; int pradinė_pozicija = 90; int LDR1 = A0; // prijunkite LDR1 prie kaiščio A0

int LDR2 = A1; // Prijunkite LDR2 prie kaiščio A1

int klaida = 5;

int servopin = 9; // Galite pakeisti servo tik įsitikinkite, kad jis yra ant arduino PWM kaiščio

negaliojanti sąranka ()

{

sg90.attach (servopin);

pinMode (LDR1, INPUT); pinMode (LDR2, INPUT);sg90.write (pradinė_pozicija);

// Pasukite servo 90 laipsnių kampu

vėlavimas (2000 m.); }

tuštumos kilpa ()

{

int R1 = analogRead (LDR1); // skaityti LDR 1

int R2 = analogRead (LDR2); // skaityti LDR 2 int diff1 = abs (R1 - R2); int dif2 = abs (R2 - R1);if ((diff1 <= klaida) || (diff2 <= klaida)) {}

Kitas {

jei (R1> R2)

{

if (pradinė_pozicija> 60) {pradinė_pozicija = -pradinė_pozicija;

}

} jei (R1 <R2) {

if (pradinė_pozicija <120) {pradinė_pozicija = ++ pradinė_pozicija; }}} sg90.write (pradinė_pozicija); vėlavimas (50);

}

Rekomenduojamas: