Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu dərsdə, avtomatik olaraq izlənən bir işıq mənbəyi sistemini yığmaq üçün servo mühərrik, fotorezistor və açılan rezistordan istifadə edəcəyik.
Addım 1: Komponentlər:
- Arduino Uno lövhəsi * 1
- USB kabeli * 1
- Servo motor * 1
- fotorezistor * 1
- Rezistor (10k) * 1
- Çörək lövhəsi * 1
- Jumper telləri
Addım 2: Prinsip
Servo motor və fotorezistor 180 dərəcə işıq mənbəyi axtarır və işıq mənbəyinin yerini qeyd edir. Taramanı bitirdikdən sonra servo motor və fotorezistor işıq mənbəyi istiqamətində dayanır.
Addım 3: Prosedurlar:
Addım 1:
Dövr qurun.
Addım 2:
Kodu https://github.com/primerobotics/Arduino saytından yükləyin
Addım 3:
Eskizi Arduino Uno lövhəsinə yükləyin
Kodu idarəetmə lövhəsinə yükləmək üçün Yüklə simgesini vurun.
Pəncərənin altında "Yükləmə tamamlandı" görünürsə, bu eskizin uğurla yükləndiyini bildirir.
İndi, fotoresistoru parlatmaq üçün bir fənərdən istifadə etsəniz, servo motorun və fotorezistorun döndüyünü və nəhayət işıq mənbəyi istiqamətində dayandığını görəcəksiniz.
Addım 4: Şematik Diaqram
Addım 5: Kod
/********************************************************************
* adı:
İşıq mənbəyini avtomatik olaraq izləmək
* funksiyası
: fotoresistoru parlatmaq üçün fənərdən istifadə edirsinizsə, * Sən görəcəksən
servo motor və fotorezistor fırlanır, * və nəhayət
işıq mənbəyinin istiqamətində dayanın.
***********************************************************************
/E -poçt: [email protected]
// Veb sayt: www.primerobotics.in
#daxil edin
const int photocellPin = A0;
/************************************************/
Servo myservo; // bir servoya nəzarət etmək üçün servo obyekti yaradın
int outputValue = 0;
int açısı = {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ş quraşdırma ()
{
Serial.begin (9600);
myservo.attach (9); // servoyu pin 9 -da servo obyektə bağlayır
}
/*************************************************/
boşluq döngəsi ()
{
üçün (int i = 0;
i <19; i ++)
{
myservo.write (bucaq ); // servoya bucağı yazın
outputValue
= analogRead (photocellPin); // A0 dəyərini oxuyun
Serial.println (outputValue); // çap et
if (outputValue> maxVal) // A0 -un cari dəyəri əvvəlkindən daha böyükdürsə
{
maxVal = outputValue; // dəyəri yazın
maxPos
= mən; //
}
gecikmə (200);
}
myservo.write (bucaq [maxPos]); // A0 -un ən böyük dəyərə malik olduğu servoya bucağı yazın
isə (1);
}