Isi kandungan:

TRACKING SUMBER CAHAYA AUTOMATIK DENGAN ARDUINO UNO R3: 5 Langkah
TRACKING SUMBER CAHAYA AUTOMATIK DENGAN ARDUINO UNO R3: 5 Langkah

Video: TRACKING SUMBER CAHAYA AUTOMATIK DENGAN ARDUINO UNO R3: 5 Langkah

Video: TRACKING SUMBER CAHAYA AUTOMATIK DENGAN ARDUINO UNO R3: 5 Langkah
Video: Solar Tracker System using Arduino and LDR #shorts #charger 2024, November
Anonim
TRACKING SUMBER CAHAYA AUTOMATIK DENGAN ARDUINO UNO R3
TRACKING SUMBER CAHAYA AUTOMATIK DENGAN ARDUINO UNO R3

Dalam pelajaran ini, kita akan menggunakan motor servo, photoresistor dan pull-down resistor untuk memasang sistem sumber cahaya penjejakan secara automatik.

Langkah 1: Komponen

- Papan Arduino Uno * 1

- Kabel USB * 1

- Motor servo * 1

- photoresistor * 1

- Perintang (10k) * 1

- Papan Roti * 1

- Wayar pelompat

Langkah 2: Prinsip

Motor servo dan photoresistor mengimbas dan mencari sumber cahaya dalam 180 darjah dan merakam lokasi sumber cahaya. Setelah selesai mengimbas, motor servo dan fotoresistor berhenti pada arah sumber cahaya.

Langkah 3: Diagram Skematik

Gambarajah skematik
Gambarajah skematik

Langkah 4: Prosedur

Prosedur
Prosedur
Prosedur
Prosedur

Langkah 1:

Bina litar.

Langkah 2:

Muat turun kod dari

Langkah 3:

Muat naik lakaran ke papan Arduino Uno

Klik ikon Muat Naik untuk memuat naik kod ke papan kawalan.

Sekiranya "Selesai memuat naik" muncul di bahagian bawah tetingkap, ini bermaksud lakaran berjaya dimuat naik.

Sekarang, jika anda menggunakan lampu suluh untuk memancarkan photoresistor, anda akan melihat motor servo dan photoresistor berputar, dan akhirnya berhenti pada arah sumber cahaya

Langkah 5: Kod

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

* nama:

Mengesan Sumber Cahaya Secara Automatik

* fungsi

: jika anda menggunakan lampu suluh untuk memancarkan fotoresistor, * awak akan lihat

motor servo dan photoresistor berputar, * dan akhirnya

berhenti pada arah sumber cahaya.

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

/ E-mel: [email protected]

// Laman web: www.primerobotics.in

#sertakan

const int photocellPin = A0;

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

Servo myservo; // buat objek servo untuk mengawal servo

int outputValue = 0;

sudut 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;

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

persediaan tidak sah ()

{

Serial.begin (9600);

myservo.attach (9); // melampirkan servo pada pin 9 ke objek servo

}

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

gelung kosong ()

{

untuk (int i = 0;

saya <19; saya ++)

{

myservo.write (sudut ); // tulis sudut ke servo

nilai output

= analogRead (photocellPin); // baca nilai A0

Serial.println (outputValue); // mencetaknya

jika (outputValue> maxVal) // jika nilai semasa A0 lebih besar daripada sebelumnya

{

maxVal = outputValue; // tuliskan nilainya

maks

= i; //

}

kelewatan (200);

}

myservo.write (sudut [maxPos]); // tulis sudut ke servo yang A0 mempunyai nilai terbesar

sementara (1);

}

Disyorkan: