- Bahan yang Dibutuhkan
- Konsep Line Follower
- Penjelasan Sirkuit
- Cara Kerja Robot Line Follower menggunakan MSP430
- Diagram Sirkuit
- Penjelasan Pemrograman
Robot pengikut garis adalah salah satu proyek robotika yang populer di kalangan pelajar dan pemula karena kesederhanaannya. Ini mengikuti garis, baik hitam atau putih, tergantung pada bagaimana Anda memprogram mikrokontroler Anda. Disini kami membuat robot line follower menggunakan MSP430 launchpad dari Texas Instruments, yang mengikuti garis hitam. Jika Anda baru mengenal MSP430 launchpad, harap baca Tutorial Menatap dengan MSP430 kami.
Bahan yang Dibutuhkan
- MSP430G2 LaunchPad dari Texas Instruments
- Modul driver motor L298D
- Menghubungkan kabel
- Modul Sensor IR
- Chasis, roda, roller coaster
- IDE Energia
- Catu daya (3.3v) dan 5v-12v
Konsep Line Follower
Konsep pengikut garis terkait dengan cahaya. Kami telah menggunakan perilaku cahaya pada permukaan hitam dan putih. Ketika cahaya jatuh pada permukaan putih, ia akan memantulkan hampir penuh dan jika cahaya permukaan hitam diserap oleh permukaan hitam. Perilaku cahaya yang dijelaskan ini digunakan dalam robot pengikut garis ini.
Dalam robot pengikut garis berbasis MSP430 ini kami telah menggunakan Pemancar IR dan penerima IR yang juga disebut dioda foto. Mereka digunakan untuk mengirim dan menerima cahaya. IR memancarkan lampu inframerah. Ketika sinar infra merah jatuh pada permukaan putih, itu dipantulkan kembali dan ditangkap oleh dioda yang menghasilkan beberapa perubahan tegangan. Ketika cahaya IR jatuh pada permukaan hitam, cahaya diserap oleh permukaan hitam dan tidak ada sinar yang dipantulkan kembali, sehingga dioda foto tidak menerima cahaya atau sinar apapun. Untuk mempelajari lebih lanjut tentang sensor IR, ikuti link.
Di sini, di robot pengikut garis berbasis MSP430 ini ketika sensor merasakan permukaan putih maka MSP mendapat 1 sebagai input dan ketika merasakan garis hitam MSP mendapat 0 sebagai input.
Penjelasan Sirkuit
Kita dapat membagi seluruh robot pengikut garis menjadi beberapa bagian seperti bagian sensor, bagian kontrol dan bagian driver.
Bagian Sensor: Bagian ini berisi dioda IR, potensiometer, Pembanding (Op-Amp) dan LED. Potensiometer digunakan untuk mengatur tegangan referensi pada satu terminal komparator dan sensor IR merasakan saluran dan memberikan perubahan tegangan pada terminal kedua komparator. Kemudian komparator membandingkan kedua tegangan dan menghasilkan sinyal digital pada keluaran. Di sini, di sirkuit ini kami menggunakan dua komparator untuk dua sensor. LM358 digunakan sebagai pembanding. LM358 memiliki dua Op-amp dengan noise rendah.
Bagian Kontrol: MSP430 Launchpad digunakan untuk mengontrol seluruh proses robot pengikut garis. Keluaran komparator dihubungkan ke pin digital P1_3 dan P1_4 dari MPS430 Launchpad. MSP430 Launchpad membaca sinyal ini dan mengirim perintah ke sirkuit driver untuk mengarahkan pengikut garis.
Bagian driver: Bagian driver terdiri dari driver motor dan dua motor DC. Pengemudi motor digunakan untuk menggerakkan motor karena MSP430 Launchpad tidak mensuplai tegangan dan arus yang cukup ke motor. Jadi kami menambahkan rangkaian driver motor untuk mendapatkan tegangan dan arus yang cukup untuk motor. Di sini kami telah menggunakan driver L298d untuk mengendarai Motor DC. MSP430 Launchpad mengirimkan perintah ke driver motor ini dan kemudian menggerakkan motor.
Kami telah mengembangkan Robot Line Follower menggunakan Mikrokontroler yang berbeda:
- Robot Line Follower menggunakan Mikrokontroler 8051
- Robot Line Follower menggunakan Arduino
- Robot Line Follower menggunakan Raspberry Pi
- Robot Line Follower menggunakan Mikrokontroler PIC
Cara Kerja Robot Line Follower menggunakan MSP430
Bekerja dari pengikut garis sangat menarik. Robot pengikut garis mendeteksi garis hitam dengan menggunakan sensor dan kemudian mengirimkan sinyal tersebut ke MSP430 Launchpad. Kemudian MSP430 Launchpad menggerakkan motor sesuai dengan keluaran sensor.
Dalam proyek ini kami menggunakan dua modul sensor IR yaitu sensor kiri dan sensor kanan. Ketika kedua sensor kiri dan kanan merasakan putih maka robot bergerak maju.
Jika sensor kiri muncul pada garis hitam maka robot berbelok ke kiri.
Jika sensor kanan merasakan garis hitam maka robot berbelok ke kanan hingga kedua sensor muncul di permukaan putih. Ketika permukaan putih muncul, robot mulai bergerak maju lagi.
Jika kedua sensor muncul di garis hitam, robot akan berhenti.
Diagram Sirkuit
Rangkaian Robot Line Follower MSP430 ini sangat sederhana. Output dari komparator terhubung langsung ke nomor pin digital MSP430 Launchpad p1_3 dan P1_4. Dan pin input driver motor IN1, IN2, IN3 dan IN4 masing-masing terhubung pada pin digital MSP430 Launchpad P1_5, P2_0, P2_1, P2_2. Satu motor dihubungkan pada pin keluaran dari driver motor OUT1 dan OUT2, dan motor lain dihubungkan pada OUT3 dan OUT4. Di sini kami telah menggunakan suplai 3.3v untuk memberi daya pada seluruh rangkaian kecuali modul Driver Motor. Kami telah memasok modul 8v ke driver Motor. Pengguna dapat menggunakan 5v-12v.
Anda juga dapat membuat modul IR Anda sendiri, seperti yang saya buat di Perf Board. Di bawah ini adalah rangkaian untuk Modul IR:
Penjelasan Pemrograman
Program dan Video Lengkap dapat ditemukan di akhir Artikel ini.
Dalam sebuah program, pertama-tama kita mendefinisikan pin input dan output untuk sensor dan motor. Kemudian tentukan beberapa makro untuk arah pengikut garis dan kemudian tulis perintah untuk memilih keluaran sensor
Catatan: Sensor mungkin aktif rendah atau aktif tinggi jadi pertama-tama periksa apa output dari sensor kemudian pilih direktif dengan memberi komentar atau menghapus komentar activeLowMode . Untuk TINGGI aktif, beri komentarmakro activeLowMode .
# Tentukan l_sensor P1_3 # Tentukan r_sensor P1_4 int pin = {P1_5, P2_0, P2_1, P2_2}; # tentukan maju 0x05 # tentukan kiri 0x06 # tentukan kanan 0x09 # tentukan stop 0x00 // # tentukan activeLowMode #ifdef activeLowMode int res = {maju, kiri, kanan, stop}; #else int res = {stop, right, left, forward}; #berakhir jika
Setelah itu, pada fungsi setup , kita beri pengarahan pada sensor dan pin motor. Dan kemudian di fungsi loop , kami memeriksa input dan mengirim output ke modul driver motor untuk menjalankan motor.
void setup () { untuk (int i = 0; i <4; i ++) pinMode (pin, OUTPUT); pinMode (l_sensor, INPUT); pinMode (r_sensor, INPUT); } void loop () {int sense = (digitalRead (l_sensor) << 1) - digitalRead (r_sensor); untuk (int i = 0; i <4; i ++) digitalWrite (pins, (res >> i) & 0x01); }
Ada empat ketentuan dalam line follower yang kita baca dengan menggunakan MSP430 Launchpad. Kami telah menggunakan dua sensor yaitu sensor kiri dan sensor kanan.
Kondisi: Output TINGGI aktif
Memasukkan |
Keluaran |
Gerakan Robot |
||||
Sensor Kiri |
Sensor Kanan |
Motor Kiri |
Motor Kanan |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Berhenti |
0 |
1 |
1 |
0 |
0 |
0 |
Belok kanan |
1 |
0 |
0 |
0 |
1 |
0 |
Belok kiri |
1 |
1 |
1 |
0 |
1 |
0 |
Meneruskan |
Program ditulis sesuai dengan kondisi tabel di atas. Periksa Kode lengkap dan Video Demonstrasi di bawah ini.