Სარჩევი:

ავტომატური სინათლის წყაროს თვალყურის დევნება: 5 ნაბიჯი
ავტომატური სინათლის წყაროს თვალყურის დევნება: 5 ნაბიჯი

ვიდეო: ავტომატური სინათლის წყაროს თვალყურის დევნება: 5 ნაბიჯი

ვიდეო: ავტომატური სინათლის წყაროს თვალყურის დევნება: 5 ნაბიჯი
ვიდეო: ორთვალიანი კამერა გაკვირვებული განახლების შემდეგ!!! 2024, ნოემბერი
Anonim
ავტომატური სინათლის წყაროს თვალყურის დევნება
ავტომატური სინათლის წყაროს თვალყურის დევნება

ამ გაკვეთილზე ჩვენ გამოვიყენებთ სერვო ძრავას, ფოტო რეზისტორს და ჩამოსაშლელ რეზისტორს, რომ შევკრიბოთ ავტომატურად თვალთვალის სინათლის წყაროს სისტემა.

ნაბიჯი 1: კომპონენტები:

- Arduino Uno დაფა * 1

- USB კაბელი * 1

- სერვო ძრავა * 1

- ფოტორეზისტორი * 1

- რეზისტორი (10k) * 1

- პურის დაფა * 1

- ჯუმბერის მავთულები

ნაბიჯი 2: პრინციპი

სერვო ძრავა და ფოტორეზისტორი სკანირებას უკეთებენ და ეძებენ სინათლის წყაროს 180 გრადუსზე და აღნიშნავენ სინათლის წყაროს ადგილმდებარეობას. სკანირების დასრულების შემდეგ, სერვო ძრავა და ფოტორეზისტორი ჩერდება სინათლის წყაროს მიმართულებით.

ნაბიჯი 3: პროცედურები:

პროცედურები
პროცედურები
პროცედურები
პროცედურები
პროცედურები
პროცედურები

Ნაბიჯი 1:

ააშენეთ წრე.

ნაბიჯი 2:

ჩამოტვირთეთ კოდი https://github.com/primerobotics/Arduino– დან

ნაბიჯი 3:

ატვირთეთ ესკიზი Arduino Uno დაფაზე

დააწკაპუნეთ ატვირთვის ხატულაზე, რომ ატვირთოთ კოდი საკონტროლო დაფაზე.

თუ "შესრულებულია ატვირთვა" გამოჩნდება ფანჯრის ბოლოში, ეს ნიშნავს, რომ ესკიზი წარმატებით აიტვირთა.

ახლა, თუ ფანარს იყენებთ ფოტორეზისტორის გასანათებლად, დაინახავთ სერვო ძრავას და ფოტორეზისტორს ბრუნავს და ბოლოს გაჩერდებით სინათლის წყაროს მიმართულებით.

ნაბიჯი 4: სქემატური დიაგრამა

სქემატური დიაგრამა
სქემატური დიაგრამა

ნაბიჯი 5: კოდი

კოდი
კოდი
კოდი
კოდი
კოდი
კოდი

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

* სახელი:

ავტომატურად თვალთვალის სინათლის წყარო

* ფუნქცია

: თუ ფანარს იყენებთ ფოტორეზისტორის გასანათებლად, * ნახავ

სერვო ძრავა და ფოტო რეზისტორი ბრუნავს, * და ბოლოს

გაჩერება სინათლის წყაროს მიმართულებით.

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

/ელ.ფოსტა: [email protected]

// ვებგვერდი: www.primerobotics.in

#ჩართეთ

const int photocellPin = A0;

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

Servo myservo; // servo ობიექტის შექმნა სერვოს გასაკონტროლებლად

int outputValue = 0;

int კუთხე = {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;

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

ბათილად დაყენება ()

{

სერიული.დაწყება (9600);

myservo.attach (9); // ანიჭებს servo პინ 9 -ს servo ობიექტს

}

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

ბათილი მარყუჟი ()

{

for (int i = 0;

მე <19; მე ++)

{

myservo.write (კუთხე ); // ჩაწერე კუთხე სერვოზე

გამომავალი ღირებულება

= analogRead (photocellPin); // წაიკითხეთ მნიშვნელობა A0

Serial.println (outputValue); // დაბეჭდეთ

if (outputValue> maxVal) // თუ A0– ის ამჟამინდელი მნიშვნელობა წინაზე დიდია

{

maxVal = outputValue; // ჩაწერეთ მნიშვნელობა

maxPos

= მე; //

}

დაგვიანება (200);

}

myservo.write (კუთხე [maxPos]); // ჩაწერეთ კუთხე სერვოზე, რომელსაც A0 აქვს უდიდესი მნიშვნელობა

ხოლო (1);

}

გირჩევთ: