- Komponen yang Dibutuhkan:
- Diagram Sirkuit:
- 8051 Mikrokontroler:
- Modul Bluetooth HC-05:
- IC Pengemudi Motor L293D:
- Cara Kerja Robot Kontrol Ponsel Android:
- Penjelasan kode:
Dalam proyek ini kita akan membangun robot yang dikendalikan Ponsel Android menggunakan mikrokontroler 8051 dan modul Bluetooth. Robot ini dirancang dengan menggunakan motor DC dan arah motor DC akan dikendalikan oleh perintah yang diterima dari aplikasi android. Status robot dikirim kembali ke aplikasi Android. Proyek ini juga akan membantu untuk menghubungkan modul Bluetooth HC-05 dengan mikrokontroler 8.051. Kami sudah menggunakan modul Bluetooth untuk mengontrol peralatan rumah tangga dengan 8051.
Komponen yang Dibutuhkan:
- Mikrokontroler 8051 (AT89S52)
- Modul Bluetooth HC-05
- Pengemudi Motor L293D
- Sasis robot
- Motor DC (2)
- Roda (2)
- Roda Jarak
- Kabel jumper
- Aplikasi android terminal Bluetooth
Diagram Sirkuit:
8051 Mikrokontroler:
Mikrokontroler 8051 adalah mikrokontroler 8-bit yang memiliki RAM on chip 128 byte, ROM on chip 4K byte, dua timer, satu port serial dan empat port 8bit. Mikrokontroler 8.052 merupakan perpanjangan dari mikrokontroler 8.051. Dalam proyek ini kami menggunakan mikrokontroler AT89S52. Tabel di bawah ini menunjukkan perbandingan 8.051 anggota keluarga.
Fitur |
8051 |
8052 |
ROM (dalam byte) |
4K |
8K |
RAM (byte) |
128 |
256 |
Timer |
2 |
3 |
Pin I / O |
32 |
32 |
Port serial |
1 |
1 |
Sumber interupsi |
6 |
8 |
Modul Bluetooth HC-05:
HC-05 adalah modul Bluetooth serial. Ini dapat dikonfigurasi menggunakan perintah AT. Ini dapat bekerja dalam tiga konfigurasi berbeda (Master, Slave, Loop back). Dalam proyek kami, kami akan menggunakannya sebagai budak. Fitur modul HC-05 meliputi,
- Sensitivitas khas -80dBm.
- Kecepatan baud default: 9600bps, 8 bit data, 1 stop bit, tanpa paritas.
- Kode pin penyandingan otomatis: kode pin default “1234”
- Ini memiliki 6 pin.
- Pin Vcc dan Gnd digunakan untuk menyalakan HC-05.
- Pin Tx dan Rx digunakan untuk berkomunikasi dengan mikrokontroler.
- Aktifkan pin untuk mengaktifkan modul HC-05. bila rendah, modul dinonaktifkan
- Pin negara bertindak sebagai indikator status. Saat tidak dipasangkan / dihubungkan dengan perangkat Bluetooth lain, LED berkedip terus menerus. Ketika terhubung / dipasangkan dengan perangkat Bluetooth lain, maka LED berkedip dengan penundaan konstan 2 detik.
IC Pengemudi Motor L293D:
L293D adalah IC driver motor H-bridge ganda. Ini bertindak sebagai penguat arus, output L293D menggerakkan Motor DC. Ini berisi dua sirkuit H-bridge inbuilt. Dalam mode operasi umum, ini dapat menggerakkan dua motor dc secara bersamaan di kedua arah. Tabel di bawah ini menunjukkan deskripsi pin dari IC L293D. Berikut adalah beberapa project yang menggunakan L293D Motor Driver.
Deskripsi Pin
Nomor Pin |
Nama |
Fungsi |
1 |
Aktifkan 1,2 |
Aktifkan pin untuk motor 1 |
2 |
Masukan 1 |
Input 1 untuk motor 1 |
3 |
Keluaran 1 |
Output 1 untuk motor 1 |
4 |
Gnd |
Tanah (0V) |
5 |
Gnd |
Tanah (0V) |
6 |
Keluaran 2 |
Output 2 untuk motor 1 |
7 |
Masukan 2 |
Input 2 untuk motor 1 |
8 |
Vcc 2 |
Tegangan suplai untuk motor (5V) |
9 |
Aktifkan 3,4 |
Aktifkan pin untuk motor 1 |
10 |
Masukan 3 |
Input 1 untuk motor 2 |
11 |
Keluaran 4 |
Output 1 untuk motor 2 |
12 |
Gnd |
Tanah (0V) |
13 |
Gnd |
Tanah (0V) |
14 |
Keluaran 4 |
Output 2 untuk motor 2 |
15 |
Masukan 4 |
Input 2 untuk motor 2 |
16 |
Vcc 1 |
Tegangan suplai (5V) |
Cara Kerja Robot Kontrol Ponsel Android:
Dalam Robot yang dikendalikan Ponsel Cerdas ini, pengguna aplikasi android mengirimkan data ke mikrokontroler 8.051 melalui modul HC-05. Data yang diterima dibandingkan dengan mikrokontroler 8.051 dan keputusan dibuat sesuai dengan itu. Tabel di bawah ini menunjukkan arah motor dan status robot untuk berbagai karakter yang diterima.
Karakter yang diterima |
Motor 1 |
Motor 2 |
Status robot |
f |
Meneruskan |
Meneruskan |
Maju |
b |
Ke belakang |
Ke belakang |
Bergerak mundur |
r |
Meneruskan |
Ke belakang |
Bergerak ke Kanan |
l |
Ke belakang |
Meneruskan |
Pindah ke kiri |
s |
Mati |
Mati |
Berhenti |
The terminal Bluetooth app memungkinkan kita untuk meniru terminal Bluetooth. Aplikasi ini mendukung komunikasi dua arah dan aplikasi ini kompatibel dengan sebagian besar perangkat.
Langkah-langkah di bawah ini menunjukkan cara menginstal dan menggunakan aplikasi ini.
1. Unduh dan instal aplikasi terminal Bluetooth di ponsel android Anda. Aplikasi dapat diunduh dari tautan di bawah ini.
play.google.com/store/apps/details?id=ptah.apps.bluetoothterminal
2. Setelah menginstal aplikasi, buka aplikasi dan aktifkan Bluetooth.
3. Pilih perangkat dan klik opsi hubungkan. Setelah koneksi berhasil, kita dapat mulai mengirim data ke modul HC-05.
Periksa Penjelasan Kode di bawah ini untuk melihat bagaimana karakter dikirim dan diterima oleh Mikrokontroler 8051 untuk memutar motor yang dibutuhkan.
Penjelasan kode:
Program C lengkap dan Video demonstrasi untuk proyek ini diberikan di akhir proyek ini. Kode tersebut dibagi menjadi beberapa bagian kecil yang berarti dan dijelaskan di bawah ini.
Untuk antarmuka L293D dengan mikrokontroler 8051, kita harus menentukan pin tempat L293D terhubung ke mikrokontroler 8051. Pin in1 motor 1 dihubungkan ke P2.0, pin In2 motor 1 dihubungkan ke P2.1, Pin in1 motor 2 dihubungkan ke P2.2, pin In2 motor 2 dihubungkan ke P2.3
sbit m1f = P2 ^ 0; // in1 pin motor1 sbit m1b = P2 ^ 1; // in2 pin motor1 sbit m2f = P2 ^ 2; // in1 pin motor2 sbit m2b = P2 ^ 3; // in2 pin motor2
Selanjutnya kita harus mendefinisikan beberapa fungsi yang digunakan dalam program. Fungsi penundaan digunakan untuk membuat penundaan waktu tertentu. Fungsi txdata digunakan untuk mengirimkan data melalui port serial. Fungsi rxdata digunakan untuk menerima data dari port serial.
batal penundaan (unsigned int); // fungsi untuk membuat delay char rxdata (void); // berfungsi untuk menerima karakter melalui port serial 8051 void txdata (unsigned char); // berfungsi untuk mengirimkan karakter melalui port serial 8051
Pada bagian kode ini kita akan mengkonfigurasi mikrokontroler 8.051 untuk komunikasi serial. Register TMOD dimuat dengan 0x20 untuk timer 1, mode 2 (auto reload). Register SCON dimuat dengan 0x50 untuk 8 bit data, 1 stop bit dan terima diaktifkan. Register TH1 dimuat dengan 0xfd untuk baud rate 9600 bit per detik. TR1 = 1 digunakan untuk memulai pengatur waktu.
TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; Di bagian kode ini, karakter yang dikembalikan dari fungsi rxdata disimpan dalam variabel 's' untuk digunakan lebih lanjut.
s = rxdata (); // menerima data serial dari modul bluetooth hc-05
Di bagian kode ini, kita harus membandingkan karakter yang diterima dengan karakter yang telah ditetapkan sebelumnya untuk arah yang berbeda. Jika karakter yang diterima adalah 'f', maka robot harus bergerak maju. Ini dicapai dengan membuat pin m1f, m2f tinggi dan m1b, pin m2b rendah. Setelah ini selesai, selanjutnya kita harus mengirim status robot ke aplikasi android. Ini dilakukan dengan bantuan fungsi txdata . Proses yang sama diulangi untuk karakter berbeda yang diterima dan keputusan diambil dengan tepat. Tabel 1 menunjukkan nilai m1f, m1b, m2f, m2b yang berbeda untuk arah pergerakan robot yang berbeda.
if (s == 'f') // gerakkan kedua motor ke arah depan {m1f = 1; penundaan (1); m1b = 0; penundaan (1); m2f = 1; penundaan (1); m2b = 0; penundaan (1); untuk (i = 0; msg1! = '\ 0'; i ++) // mengirim status robot ke aplikasi android melalui bluetooth {txdata (msg1); }}
m1f |
m1b |
m2f |
m2b |
Motor 1 putaran |
Motor 2 putaran |
Status robot |
1 |
0 |
1 |
0 |
meneruskan |
meneruskan |
Bergerak kedepan |
0 |
1 |
0 |
1 |
balik |
balik |
Bergerak mundur |
1 |
0 |
0 |
1 |
meneruskan |
balik |
Pindah ke kanan |
0 |
1 |
1 |
0 |
balik |
meneruskan |
Pindah ke kiri |
0 |
0 |
0 |
0 |
berhenti |
berhenti |
berhenti |
Ini adalah Anda dapat memutar mobil Robot ke segala arah dengan mengendalikan keempat motor menggunakan mikrokontroler 8.051. Robot ini juga dapat dikontrol menggunakan DTMF dengan 8051, jika Anda tidak memiliki ponsel android.
Periksa juga semua Proyek Robotika di sini.