Isi kandungan:

Penjejakan Sumber Cahaya Automatik: 5 Langkah
Penjejakan Sumber Cahaya Automatik: 5 Langkah

Video: Penjejakan Sumber Cahaya Automatik: 5 Langkah

Video: Penjejakan Sumber Cahaya Automatik: 5 Langkah
Video: Kurikulum Merdeka Kelas 5 IPAS Bab 5 | Mengenal Organ Pernapasan Manusia | Halaman 135 - 139 2024, November
Anonim
Penjejakan Sumber Cahaya Automatik
Penjejakan Sumber Cahaya Automatik

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: Prosedur:

Prosedur
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 4: Diagram Skematik

Gambarajah skematik
Gambarajah skematik

Langkah 5: Kod

Kod
Kod
Kod
Kod
Kod
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: