Mundarija:

ARDUINO UNO R3: 5 bosqichli avtomatik yorug'lik manbasini kuzatish
ARDUINO UNO R3: 5 bosqichli avtomatik yorug'lik manbasini kuzatish

Video: ARDUINO UNO R3: 5 bosqichli avtomatik yorug'lik manbasini kuzatish

Video: ARDUINO UNO R3: 5 bosqichli avtomatik yorug'lik manbasini kuzatish
Video: Из Китая Arduino UNO R3 (для начинающих) 2024, Iyul
Anonim
ARDUINO UNO R3 bilan avtomatik yorug'lik manbasini kuzatish
ARDUINO UNO R3 bilan avtomatik yorug'lik manbasini kuzatish

Ushbu darsda biz avtomatik ravishda kuzatiladigan yorug'lik manbalari tizimini yig'ish uchun servo dvigatel, fotorezistor va pastga tushadigan qarshilikdan foydalanamiz.

1 -qadam: komponentlar

- Arduino Uno taxtasi * 1

- USB kabeli * 1

- Servo dvigatel * 1

- fotorezistor * 1

- qarshilik (10k) * 1

- Non paneli * 1

- o'tish simlari

2 -qadam: printsip

Servo dvigatel va fotorezistor 180 graduslik yorug'lik manbasini qidiradi va qidiradi va yorug'lik manbasining joylashishini qayd qiladi. Skanerlash tugagandan so'ng, servo dvigatel va fotorezistor yorug'lik manbai tomon to'xtaydi.

3 -qadam: sxematik diagramma

Sxematik diagramma
Sxematik diagramma

4 -qadam: protseduralar

Protseduralar
Protseduralar
Protseduralar
Protseduralar

1 -qadam:

Zanjirni yarating.

2 -qadam:

Kodni https://github.com/primerobotics/Arduino saytidan yuklab oling

3 -qadam:

Eskizni Arduino Uno taxtasiga yuklang

Kodni boshqaruv paneliga yuklash uchun Yuklash belgisini bosing.

Agar oynaning pastki qismida "Yuklandi" tugmasi paydo bo'lsa, bu eskiz muvaffaqiyatli yuklanganligini bildiradi.

Endi, agar siz fotoresistorni porlash uchun chiroqni ishlatsangiz, servo dvigatel va fotorezistorning aylanishini ko'rasiz va nihoyat yorug'lik manbai tomon to'xtaysiz.

5 -qadam: kod

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

* ismi:

Yorug'lik manbasini avtomatik kuzatish

* funktsiyasi

: Agar siz fotorezistorni porlash uchun chiroqni ishlatsangiz, * ko'rasiz

servo vosita va fotorezistor aylanadi, * va nihoyat

yorug'lik manbai yo'nalishi bo'yicha to'xtating.

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

/Elektron pochta: [email protected]

// Veb -sayt: www.primerobotics.in

#qo'shing

const int photocellPin = A0;

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

Servo myservo; // servo boshqaruv uchun servo ob'ekt yaratish

int outputValue = 0;

int burchagi = {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;

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

bo'sh o'rnatish ()

{

Serial.begin (9600);

myservo.attach (9); // servo moslamaga 9 -pinli servo biriktiradi

}

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

bo'sh halqa ()

{

uchun (int i = 0;

i <19; men ++)

{

myservo.write (burchak ); // servoga burchak yozing

chiqishValue

= analogRead (photocellPin); // A0 qiymatini o'qing

Serial.println (outputValue); // uni chop eting

if (outputValue> maxVal) // agar A0 ning joriy qiymati avvalgisidan katta bo'lsa

{

maxVal = outputValue; // qiymatni yozing

maxPos

= i; //

}

kechikish (200);

}

myservo.write (burchak [maxPos]); // A0 eng katta qiymatga ega bo'lgan servo burchagini yozing

vaqt (1);

}

Tavsiya: