Sadržaj:

Automatsko praćenje izvora svjetlosti: 5 koraka
Automatsko praćenje izvora svjetlosti: 5 koraka

Video: Automatsko praćenje izvora svjetlosti: 5 koraka

Video: Automatsko praćenje izvora svjetlosti: 5 koraka
Video: Лучший из ЛУЧШИХ???. Радиоприемник TECSUN PL680 ПОЛНЫЙ ОБЗОР!!! #tecsun 2024, Novembar
Anonim
Automatsko praćenje izvora svjetlosti
Automatsko praćenje izvora svjetlosti

U ovoj lekciji ćemo koristiti servo motor, fotootpornik i padajući otpornik za sastavljanje automatskog sistema izvora svjetlosti.

Korak 1: Komponente:

- Arduino Uno ploča * 1

- USB kabel * 1

- Servo motor * 1

- fotootpornik * 1

- Otpornik (10 k) * 1

- Oglasna ploča * 1

- Žice za spajanje

Korak 2: Princip

Servo motor i fotootpornik skeniraju i traže izvor svjetlosti u 180 stupnjeva i bilježe lokaciju izvora svjetlosti. Nakon završetka skeniranja, servo motor i fotootpornik zaustavljaju se u smjeru izvora svjetlosti.

Korak 3: Postupci:

Postupci
Postupci
Postupci
Postupci
Postupci
Postupci

Korak 1:

Izgradite kolo.

Korak 2:

Preuzmite kôd sa

Korak 3:

Prenesite skicu na Arduino Uno ploču

Pritisnite ikonu Upload da biste učitali kôd na kontrolnu ploču.

Ako se na dnu prozora pojavi poruka "Gotovo učitavanje", to znači da je skica uspješno učitana.

Sada, ako upotrijebite svjetiljku za osvjetljavanje fotootpornika, vidjet ćete kako se servo motor i fotootpornik okreću, te se konačno zaustaviti u smjeru izvora svjetlosti.

Korak 4: Šematski dijagram

Shematski dijagram
Shematski dijagram

Korak 5: Kodirajte

Kod
Kod
Kod
Kod
Kod
Kod

/********************************************************************

* ime:

Automatski prati izvor svjetlosti

* funkcija

: ako koristite svjetiljku za osvjetljavanje fotootpornika, * vidjet ćeš

servo motor i fotootpornik se okreću, * i na kraju

zaustavite se u smjeru izvora svjetlosti.

***********************************************************************

/E -pošta: [email protected]

// Web stranica: www.primerobotics.in

#include

const int fotoćelijaPin = A0;

/************************************************/

Servo myservo; // stvoriti servo objekt za upravljanje servo pogonom

int outputValue = 0;

int angle = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180};

int maxVal = 0;

int maxPos = 0;

/*************************************************/

void setup ()

{

Serial.begin (9600);

myservo.attach (9); // povezuje servo na pinu 9 sa servo objektom

}

/*************************************************/

void loop ()

{

za (int i = 0;

i <19; i ++)

{

myservo.write (angle ); // upisuje kut u servo

outputValue

= analogRead (photocellPin); // očitavanje vrijednosti A0

Serial.println (outputValue); // ispišite ga

if (outputValue> maxVal) // ako je trenutna vrijednost A0 veća od prethodne

{

maxVal = outputValue; // zapišite vrijednost

maxPos

= i; //

}

kašnjenje (200);

}

myservo.write (angle [maxPos]); // upisuje kut u servo koji A0 ima najveću vrijednost

while (1);

}

Preporučuje se: