Բովանդակություն:

Ավտոմատ լույսի աղբյուր
Ավտոմատ լույսի աղբյուր

Video: Ավտոմատ լույսի աղբյուր

Video: Ավտոմատ լույսի աղբյուր
Video: Բարեգործական համերգը լույսի աղբյուր, Tsayg.am 2024, Նոյեմբեր
Anonim
ԼՈIGHՅՍԻ ԱՎՏՈՄԱՏԱԿԱՆ Ա SOԲՅՈՐԸ, որը հետևում է ARDUINO UNO R3- ով
ԼՈIGHՅՍԻ ԱՎՏՈՄԱՏԱԿԱՆ Ա SOԲՅՈՐԸ, որը հետևում է ARDUINO UNO R3- ով

Այս դասում մենք կօգտագործենք servo շարժիչ, ֆոտոռեզիստոր և քաշվող դիմադրություն `ավտոմատ հետևող լույսի աղբյուրի համակարգ հավաքելու համար:

Քայլ 1: Բաղադրիչներ

- Arduino Uno տախտակ * 1

- USB մալուխ * 1

- Սերվո շարժիչ * 1

- ֆոտոռեզիստոր * 1

- Ռեզիստոր (10k) * 1

- Հացաթուղթ * 1

- Jumper լարերը

Քայլ 2: Սկզբունք

Սերվո շարժիչը և ֆոտոռեզիստորը 180 աստիճանով սկանավորում և փնտրում են լույսի աղբյուր և գրանցում լույսի աղբյուրի գտնվելու վայրը: Սկանավորումն ավարտելուց հետո servo շարժիչը և ֆոտոռեզիստորը կանգ են առնում լույսի աղբյուրի ուղղությամբ:

Քայլ 3: Սխեմատիկ դիագրամ

Սխեմատիկ դիագրամ
Սխեմատիկ դիագրամ

Քայլ 4: Ընթացակարգեր

Ընթացակարգեր
Ընթացակարգեր
Ընթացակարգեր
Ընթացակարգեր

Քայլ 1:

Կառուցեք շրջանը:

Քայլ 2:

Ներբեռնեք կոդը https://github.com/primerobotics/Arduino կայքից

Քայլ 3:

Վերբեռնեք ուրվագիծը Arduino Uno տախտակին

Կտտացրեք Վերբեռնման պատկերակին ՝ կոդը կառավարման տախտակին վերբեռնելու համար:

Եթե պատուհանի ներքևում հայտնվում է «Կատարված բեռնումը», նշանակում է, որ ուրվագիծը հաջողությամբ վերբեռնվել է:

Այժմ, եթե դուք օգտագործում եք լապտեր `ֆոտոընդդիմադիրը լուսավորելու համար, կտեսնեք, որ servo շարժիչը և ֆոտոռեզիստորը պտտվում են, և վերջապես կանգ են առնում լույսի աղբյուրի ուղղությամբ

Քայլ 5: Կոդ

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

* Անուն:

Ավտոմատ կերպով հետևել լույսի աղբյուրին

* գործառույթը

. Եթե դուք օգտագործում եք լապտեր `լուսարձակողին լուսավորելու համար, * կտեսնես

servo շարժիչը և ֆոտոռեզիստորը պտտվում են, * եւ, վերջապես

կանգ առնել լույսի աղբյուրի ուղղությամբ:

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

/Էլ. Փոստ ՝ [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;

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

դատարկ կարգավորում ()

{

Serial.begin (9600);

myservo.attach (9); // կցում է 9 -րդ կապի servo- ն servo օբյեկտին

}

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

դատարկ շրջան ()

{

համար (int i = 0;

ես <19; ես ++)

{

myservo.write (անկյուն ); // գրել անկյունը servo- ին

արտադրանքի արժեքը

= analogRead (photocellPin); // կարդալ A0 արժեքը

Serial.println (outputValue); // տպել այն

if (outputValue> maxVal) // եթե A0- ի ընթացիկ արժեքը ավելի մեծ է, քան նախորդը

{

maxVal = outputValue; // գրի՛ր արժեքը

maxPos

= ես; //

}

ուշացում (200);

}

myservo.write (անկյուն [maxPos]); // գրել այն servo- ի անկյունը, որն A0- ն ունի ամենամեծ արժեքը

մինչդեռ (1);

}

Խորհուրդ ենք տալիս: