İçindekiler:

ARDUINO UNO R3 İLE OTOMATİK IŞIK KAYNAĞI TAKİBİ: 5 Adım
ARDUINO UNO R3 İLE OTOMATİK IŞIK KAYNAĞI TAKİBİ: 5 Adım

Video: ARDUINO UNO R3 İLE OTOMATİK IŞIK KAYNAĞI TAKİBİ: 5 Adım

Video: ARDUINO UNO R3 İLE OTOMATİK IŞIK KAYNAĞI TAKİBİ: 5 Adım
Video: Başımız Sağ Olsun Türkiye. ❤️‍🩹 2024, Kasım
Anonim
ARDUINO UNO R3 İLE OTOMATİK IŞIK KAYNAĞI TAKİBİ
ARDUINO UNO R3 İLE OTOMATİK IŞIK KAYNAĞI TAKİBİ

Bu derste, otomatik olarak takip eden bir ışık kaynağı sistemi kurmak için bir servo motor, bir fotodirenç ve bir aşağı çekme direnci kullanacağız.

Adım 1: Bileşenler

- Arduino Uno kartı * 1

- USB kablosu * 1

- Servo motor * 1

- fotodirenç * 1

- Direnç (10k) * 1

- Ekmek tahtası * 1

- Atlama telleri

2. Adım: İlke

Servo motor ve fotodirenç 180 derecelik bir açıyla ışık kaynağını tarar ve arar ve ışık kaynağının yerini kaydeder. Taramayı bitirdikten sonra servo motor ve fotodirenç ışık kaynağı yönünde durur.

Adım 3: Şematik Diyagram

Şematik diyagram
Şematik diyagram

Adım 4: Prosedürler

prosedürler
prosedürler
prosedürler
prosedürler

Aşama 1:

Devreyi kurun.

Adım 2:

Kodu https://github.com/primerobotics/Arduino adresinden indirin

Aşama 3:

Krokiyi Arduino Uno panosuna yükleyin

Kodu kontrol panosuna yüklemek için Yükle simgesine tıklayın.

Pencerenin altında "Yükleme tamamlandı" görünüyorsa, çizim başarıyla yüklenmiştir.

Şimdi, fotorezistörü parlatmak için bir el feneri kullanırsanız, servo motorun ve fotodirencin döndüğünü ve sonunda ışık kaynağı yönünde durduğunu göreceksiniz.

Adım 5: Kod

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

* isim:

Işık Kaynağını Otomatik Olarak İzleme

* işlev

: fotodirenci parlatmak için bir el feneri kullanırsanız, * göreceksin

servo motor ve fotodirenç döner, * ve sonunda

ışık kaynağı yönünde durun.

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

/E-posta: [email protected]

//Web sitesi: www.primerobotics.in

#Dahil etmek

const int fotoselPin = A0;

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

Servo myservo;//servoyu kontrol etmek için servo nesnesi oluştur

int çıktıDeğeri = 0;

int açı = {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;

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

geçersiz kurulum()

{

Seri.başla(9600);

myservo.attach(9);//pin 9 üzerindeki servoyu servo nesnesine ekler

}

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

boşluk döngüsü()

{

for(int i = 0;

ben < 19; ben ++)

{

myservo.write(angle);//açıyı servoya yaz

çıkış değeri

= analogRead(photocellPin);//A0 değerini oku

Serial.println(outputValue);//yazdır

if(outputValue > maxVal)//A0'ın mevcut değeri öncekinden büyükse

{

maxVal = outputValue;//değeri yazın

maxPos

=i;//

}

gecikme(200);

}

myservo.write(angle[maxPos]);//A0'ın en büyük değere sahip olduğu açıyı servoya yaz

süre(1);

}

Önerilen: