Სარჩევი:

AUTOMATIC LIGHT SOURCE Tracking with ARDUINO UNO R3: 5 Steps
AUTOMATIC LIGHT SOURCE Tracking with ARDUINO UNO R3: 5 Steps

ვიდეო: AUTOMATIC LIGHT SOURCE Tracking with ARDUINO UNO R3: 5 Steps

ვიდეო: AUTOMATIC LIGHT SOURCE Tracking with ARDUINO UNO R3: 5 Steps
ვიდეო: How to make a solar tracking system using Arduino | step by step 2024, ნოემბერი
Anonim
ავტომატური შუქის წყაროს თვალთვალი ARDUINO UNO R3
ავტომატური შუქის წყაროს თვალთვალი ARDUINO UNO R3

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

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

- Arduino Uno დაფა * 1

- USB კაბელი * 1

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

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

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

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

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

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

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

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

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

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

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

Ნაბიჯი 1:

ააშენეთ წრე.

ნაბიჯი 2:

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

ნაბიჯი 3:

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

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

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

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

ნაბიჯი 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);

}

გირჩევთ: