Spisu treści:

Mr Tracker: 3 kroki
Mr Tracker: 3 kroki

Wideo: Mr Tracker: 3 kroki

Wideo: Mr Tracker: 3 kroki
Wideo: 3D текст в ЛЮБОМ видео! / Camera Tracker DaVici Resolve 2024, Lipiec
Anonim
Pan Tropiciel
Pan Tropiciel

Lokalizator słoneczny zapewnia o 30% więcej energii elektrycznej niż zwykły panel słoneczny

  • Cześć Chcesz stworzyć swój własny Solar Tracker.
  • Oto kilka prostych kroków, dzięki którym możesz stworzyć własny tracker słoneczny.

Wymagany materiał

  • Deska do chleba
  • Audino Uno/Nano/Pro mini
  • Bateria 9V
  • 2 panele słoneczne (dowolny rozmiar)
  • 2 LDR (jeśli chcesz zrobić 2 osie, będziesz potrzebować 4 LDR).
  • Przewody połączeniowe
  • Karton
  • 1 serwomotor

Krok 1: Sprawdź ten diagram, jak będzie wyglądał obwód

Sprawdź ten schemat, jak będzie wyglądał obwód
Sprawdź ten schemat, jak będzie wyglądał obwód

Krok 2: Jak kodować

Jeśli nie wiesz o serwomotorze. Serwo obraca się tylko o 180 stopni. Zaletą korzystania z serwa jest to, jak bardzo chcemy obracać.

LDR, Odporność LDR jest niska, gdy jest za dużo światła, a w ciemności ma bardzo wysoką odporność. Umieścimy kod Inside If, aby móc swobodnie obracać panel słoneczny wykorzystując opór ldr.

Możesz napisać własny kod dla tego trackera słonecznego. Zgodnie z twoim projektem trackera słonecznego.

Kod mojego trackera słonecznego to:-

Krok 3: Kod:-

#zawierają serwo sg90; int pozycja_początkowa = 90; wewn LDR1 = A0; //podłącz LDR1 do pinu A0

int LDR2 = A1; //Podłącz LDR2 do pinu A1

błąd wewnętrzny = 5;

int serwopina=9; //Możesz zmienić serwo, po prostu upewnij się, że jest na pinie PWM arduino

pusta konfiguracja()

{

sg90.attach(serwopin);

pinMode(LDR1, WEJŚCIE); pinMode(LDR2, WEJŚCIE);sg90.write(początkowa_pozycja);

//Przesuń serwo pod kątem 90 stopni

opóźnienie (2000); }

pusta pętla()

{

int R1 = odczyt analogowy(LDR1); // przeczytaj LDR 1

int R2 = odczyt analogowy(LDR2); // odczytaj LDR 2 int diff1= abs(R1 - R2); int diff2= abs(R2 - R1);if((różnic1 <= błąd) || (różnic2 <= błąd)) { }

w przeciwnym razie {

jeśli(R1 > R2)

{

if(początkowa_pozycja>60) { początkowa_pozycja = --początkowa_pozycja;

}

} jeśli(R1 < R2) {

if(początkowa_pozycja<120) { początkowa_pozycja = ++początkowa_pozycja; } } } sg90.write(początkowa_pozycja); opóźnienie(50);

}

Zalecana: