Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
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: Jarayonlar:
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 chiroqdan foydalansangiz, servo dvigatel va fotorezistorning aylanishini ko'rasiz va nihoyat yorug'lik manbai tomon to'xtaysiz.
4 -qadam: sxematik diagramma
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);
}