Isi kandungan:

Ringan Mengikuti dan Mengelakkan Robot Berdasarkan Arduino: 5 Langkah
Ringan Mengikuti dan Mengelakkan Robot Berdasarkan Arduino: 5 Langkah

Video: Ringan Mengikuti dan Mengelakkan Robot Berdasarkan Arduino: 5 Langkah

Video: Ringan Mengikuti dan Mengelakkan Robot Berdasarkan Arduino: 5 Langkah
Video: Orang kesetrum 2024, Julai
Anonim
Ringan Mengikuti dan Mengelakkan Robot Berdasarkan Arduino
Ringan Mengikuti dan Mengelakkan Robot Berdasarkan Arduino

Ini adalah projek mudah yang mengikuti atau Elakkan Cahaya.

Saya Membuat Simulasi ini dalam Proteus 8.6 pro. Komponen Diperlukan: -1) Arduino uno.

2) 3 LDR.

3) 2 Dc Gear Motors.4) One Servo.5) Three 1k Resistor.6) one H-Bridge l290D7) One on & Off Switch [untuk mengubah keadaan Program]

8) 9v dan 5v Battry

Langkah 1: Ardunio Code

Arduino Code Diubahsuai pada tarikh 23 Februari 2016]

Kod ini sangat dikomentari, saya tidak mahu menerangkan tetapi jika anda memerlukan bantuan, sila hubungi saya di ([email protected])

Catatan: -Saya menggunakan dua syarat dalam program ini 1st untuk Light Follow.2 dan satu untuk Light menghindari.

Sejauh mana Syarat ini berpuas hati, Robot akan Mengikuti atau Mengelakkan Cahaya. [Ini adalah Nilai Minimum LDR yang saya pilih. Dalam Cahaya normal, Rentangnya adalah 80 hingga 95 tetapi kerana Intensitasnya meningkat semakin banyak voltan yang disebabkan olehnya kerana ia bekerja pada Prinsip Voltage Divider int a = 400; // Nilai Tolarance]

Langkah 2: Fail Proteus

Untuk muat turun Perpustakaan Arduino dari pautan itu

Langkah 3: Bagaimana Jambatan H Anda Berfungsi

Bagaimana Jambatan H Anda Berfungsi
Bagaimana Jambatan H Anda Berfungsi
Bagaimana Jambatan H Anda Berfungsi
Bagaimana Jambatan H Anda Berfungsi

L293NE / SN754410 adalah jambatan H yang sangat asas. Ia mempunyai dua jambatan, satu di sebelah kiri cip dan satu di sebelah kanan, dan dapat mengawal 2 motor. Ia boleh menggerakkan arus hingga 1 amp, dan beroperasi antara 4.5V hingga 36V. Motor DC kecil yang anda gunakan di makmal ini dapat berjalan dengan selamat dari voltan rendah sehingga jambatan H ini akan berfungsi dengan baik. Jambatan H mempunyai pin dan ciri berikut: Pin 1 (1, 2EN) mengaktifkan dan mematikan motor kita sama ada kerana memberikan HIGH atau LOWPin 2 (1A) adalah pin logik untuk motor kita (input sama ada TINGGI atau RENDAH) Pin 3 (1Y) adalah untuk salah satu terminal motor Pin 4-5 adalah untuk groundPin 6 (2Y) adalah untuk terminal motor yang lain Pin 7 (2A) adalah pin logik untuk motor kami (input sama ada TINGGI atau RENDAH) Pin 8 (VCC2 Adakah bekalan kuasa untuk motor kita, ini harus diberi voltan undian motor anda Pin 9-11 tidak bersambung kerana anda hanya menggunakan satu motor di makmal ini Pin 12-13 adalah untuk tanah Pin 14-15 tidak tersambung Pin 16 (VCC1) adalah disambungkan ke 5V. Di atas adalah gambarajah Jambatan-H dan pin yang melakukan apa dalam contoh kita. Disertakan dengan gambar rajah adalah jadual kebenaran yang menunjukkan bagaimana motor akan berfungsi mengikut keadaan pin logik (yang ditetapkan oleh Arduino kami).

Dalam Projek ini, pin aktif menyambung ke pin digital di Arduino anda sehingga anda boleh menghantarnya sama ada TINGGI atau RENDAH dan menghidupkan atau mematikan motor. Pin logik motor juga disambungkan ke pin digital yang ditentukan di Arduino anda supaya anda boleh menghantarnya TINGGI dan RENDAH untuk menghidupkan motor dalam satu arah, atau RENDAH dan TINGGI untuk memusingkannya ke arah lain. Voltan bekalan motor menyambung ke sumber voltan untuk motor, yang biasanya merupakan bekalan kuasa luaran. Sekiranya motor anda dapat berjalan pada jarak 5V dan kurang dari 500mA, anda boleh menggunakan output 5V Arduino. Sebilangan besar motor memerlukan voltan yang lebih tinggi dan arus yang lebih tinggi daripada ini, jadi anda memerlukan bekalan kuasa luaran.

Sambungkan motor ke jambatan H Sambungkan motor ke jambatan H seperti yang ditunjukkan pada gambar ke-2.

Atau, jika anda menggunakan bekalan kuasa luaran untuk Arduino, anda boleh menggunakan pin Vin.

Langkah 4: Bagaimana LDR Berfungsi

Sekarang perkara pertama yang mungkin memerlukan penjelasan lebih lanjut adalah penggunaan Resistor Bergantung Cahaya. Perintang Bergantung Cahaya (atau LDR) adalah perintang yang nilainya berubah bergantung pada jumlah cahaya sekitar, tetapi bagaimana kita dapat mengesan rintangan dengan Arduino? Anda tidak boleh, namun anda dapat mengesan tahap voltan menggunakan pin analog, yang dapat mengukur (dalam penggunaan asas) antara 0-5V. Sekarang anda mungkin bertanya "Bagaimana kita menukar nilai rintangan menjadi perubahan voltan?", Mudah, kita membuat pembahagi voltan. Pembahagi voltan mengambil voltan dan kemudian mengeluarkan pecahan voltan yang sebanding dengan voltan input dan nisbah dua nilai perintang yang digunakan. Persamaan yang dimaksudkan adalah:

Voltan Keluaran = Voltan Input * (R2 / (R1 + R2)) Di mana R1 adalah nilai perintang pertama dan R2 adalah nilai kedua.

Sekarang ini masih menimbulkan pertanyaan "Tetapi nilai rintangan apa yang dimiliki LDR?", Pertanyaan yang bagus. Semakin sedikit cahaya ambien semakin tinggi rintangan, semakin banyak cahaya ambien bermaksud rintangan yang lebih rendah. Sekarang untuk LDR tertentu, saya menggunakan rentang ketahanan mereka dari 200 - 10 kilo ohm, tetapi ini berubah untuk yang berbeza, jadi pastikan untuk mencari di mana anda membelinya dan cuba cari lembar data atau semacamnya. Sekarang dalam ini kes R1 sebenarnya adalah LDR kita, jadi mari kita mengembalikan persamaan itu dan melakukan beberapa math-e-magic (sihir elektrik matematik). Sekarang pertama kita perlu menukar nilai kilo ohm menjadi ohm: 200 kilo-ohm = 200, 000 ohm 10 kilo-ohms = 10, 000 ohmsJadi untuk mengetahui berapa voltan keluaran ketika kita berada dalam nada hitam, kita masukkan nombor berikut: 5 * (10000 / (200000 + 10000)) Input adalah 5V kerana itulah yang kita dapat dari Arduino. Di atas memberikan 0.24V (dibulatkan). Sekarang kita dapati voltan output dalam kecerahan puncak dengan menggunakan nombor berikut: 5 * (10000 / (10000 + 10000)) Dan ini memberi kita 2.5V dengan tepat. Jadi ini adalah nilai voltan yang akan kita masukkan ke pin analog Arduino, tetapi ini bukan nilai yang akan dilihat dalam program, "Tetapi mengapa?" anda mungkin bertanya. Arduino menggunakan Analog ke Digital Chip yang menukar voltan analog menjadi data digital yang boleh digunakan. Tidak seperti pin digital di Arduino yang hanya dapat membaca keadaan TINGGI atau RENDAH menjadi 0 dan 5V, pin analog dapat membaca dari 0-5V dan mengubahnya menjadi julat nombor 0-1023. Sekarang dengan beberapa lagi math-e-magic. kita sebenarnya dapat mengira nilai apa yang sebenarnya akan dibaca oleh Arduino.

Kerana ini akan menjadi fungsi linear kita dapat menggunakan formula berikut: Y = mX + C Di mana; Y = Nilai DigitalDimana; m = cerun, (kenaikan / larian), (nilai digital / nilai analog) Di mana; C = Y pintasan Pintas Y adalah 0 sehingga memberi kita: Y = mXm = 1023/5 = 204.6 Oleh itu: Nilai digital = 204.6 * Nilai analog Jadi dalam warna hitam, nilai digital akan menjadi: 204.6 * 0.24 Yang memberikan kira-kira 49. Dan dalam kecerahan puncaknya adalah: 204.6 * 2.5 Yang memberikan kira-kira 511. Sekarang dengan dua set ini pada dua pin analog, kita dapat membuat dua pemboleh ubah integer untuk menyimpan nilainya dua dan melakukan operator perbandingan untuk melihat mana yang mempunyai nilai terendah, memusingkan robot ke arah itu.

Disyorkan: