tutorial membina mobile robot bluetooth dee5081...

9
TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1 1 Ditulis Oleh: En.Mohd Zahidi@JKE MOBILE ROBOT PENGENALAN Salah satu jenis robot yang banyak diminati oleh penggemar robot adalah mobile robot. Dari namanya kita akan tahu bahawa yang dimaksud dengan Mobile Robot adalah jenis robot yang penggeraknya menggunakan roda umpama kereta dan kebiasaanya menggunakan hanya 2 motor penggerak sahaja. Di negara kita, buat masa sekarang banyak jenis mobile robot digunakan di dalam pertandingan seperti Sumo Bot, Robot Pemain Bola, ataupun Line Follower Robot. Masing-masing jenis mobile robot berkenaan memiliki kelebihan dan kekurangan masing-masing. Untuk membina sebuah ‘basic mobile robot’. Ada beberapa perkara yang perlu diperhatikan; perkara pertama adalah pemilihan penggeraknya iaitu untuk mengerakkan sebuah mobile robot dapat digunakan 2 buah motor DC. Perkara kedua, motor DC pula perlu dikawal dengan menggunakan Motor Driver yang berperanan sebagai pemacu motor ke hadapan dan kebelakang serta Motor Driver juga boleh mengawal kelajuan motor. Manakala perkara yang ketiga adalah pemilihan microcontroller yang sesuai dimana ianya mudah didapati berserta dengan peranti input/output yang serasi, murah dan mudah di aturcara. Perkara yang terakhir adalah pemilihan bateri yang bersesuaian juga penting kerana bateri memainkan peranan dalam membekalkan sumber arus yang diperlukan bagi menggerakkan motor, jangka hayat penggunaan yang lebih lama dan dicadangkan bateri boleh dicas semula digunakan bagi menjimatkan kos pembelian bateri yang baru. Rajah 1: Contoh Bluetooth Mobile Robot Selepas mengambil kira perkara-perkara di atas, bagi memenuhi kehendak silibus kursus projek 1; dimana pelajar perlu belajar kaedah menghasilkan papan PCB dari merebentuk litar, menganalisa litar dan seterusnya menghasilkan papan PCB yang berfungsi dengan perisian CAD (Proteus). JOM! Kita sama-sama belajar kaedah membina ‘basic mobile robot’ ini dari A-Z dengan peralatan yang telah dikenalpasti dan akan dibekalkan kepada setiap kumpulan pelajar. Projek ini dikenali sebagai PROJEK MINI bagi pelajar yang mengambil kursus projek 1 pada semester ini. Di akhir semester nanti, semasa pameran inovasi projek pelajar semester akhir, mobile robot ini perlu disiapkan untuk sama-sama kita menyertai pertandingan Sumo Bot, Robot Pemain Bola, ataupun Line Follower Robot. Bateri Motor Driver Motor DC Bluetooth Microcontroller

Upload: phamphuc

Post on 16-Mar-2019

280 views

Category:

Documents


0 download

TRANSCRIPT

TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1

1 Ditulis Oleh: En.Mohd Zahidi@JKE

MOBILE ROBOT

PENGENALAN Salah satu jenis robot yang banyak diminati oleh penggemar robot adalah mobile robot. Dari namanya kita akan tahu bahawa yang dimaksud dengan Mobile Robot adalah jenis robot yang penggeraknya menggunakan roda umpama kereta dan kebiasaanya menggunakan hanya 2 motor penggerak sahaja. Di negara kita, buat masa sekarang banyak jenis mobile robot digunakan di dalam pertandingan seperti Sumo Bot, Robot Pemain Bola, ataupun Line Follower Robot. Masing-masing jenis mobile robot berkenaan memiliki kelebihan dan kekurangan masing-masing. Untuk membina sebuah ‘basic mobile robot’. Ada beberapa perkara yang perlu diperhatikan; perkara pertama adalah pemilihan penggeraknya iaitu untuk mengerakkan sebuah mobile robot dapat digunakan 2 buah motor DC. Perkara kedua, motor DC pula perlu dikawal dengan menggunakan Motor Driver yang berperanan sebagai pemacu motor ke hadapan dan kebelakang serta Motor Driver juga boleh mengawal kelajuan motor. Manakala perkara yang ketiga adalah pemilihan microcontroller yang sesuai dimana ianya mudah didapati berserta dengan peranti input/output yang serasi, murah dan mudah di aturcara. Perkara yang terakhir adalah pemilihan bateri yang bersesuaian juga penting kerana bateri memainkan peranan dalam membekalkan sumber arus yang diperlukan bagi menggerakkan motor, jangka hayat penggunaan yang lebih lama dan dicadangkan bateri boleh dicas semula digunakan bagi menjimatkan kos pembelian bateri yang baru.

Rajah 1: Contoh Bluetooth Mobile Robot

Selepas mengambil kira perkara-perkara di atas, bagi memenuhi kehendak silibus kursus projek 1; dimana pelajar perlu belajar kaedah menghasilkan papan PCB dari merebentuk litar, menganalisa litar dan seterusnya menghasilkan papan PCB yang berfungsi dengan perisian CAD (Proteus).

JOM! Kita sama-sama belajar kaedah membina ‘basic mobile robot’ ini dari A-Z dengan peralatan

yang telah dikenalpasti dan akan dibekalkan kepada setiap kumpulan pelajar. Projek ini dikenali sebagai PROJEK MINI bagi pelajar yang mengambil kursus projek 1 pada semester ini. Di akhir semester nanti, semasa pameran inovasi projek pelajar semester akhir, mobile robot ini perlu disiapkan untuk sama-sama kita menyertai pertandingan Sumo Bot, Robot Pemain Bola, ataupun Line Follower Robot.

Bateri

Motor Driver

Motor DC

Bluetooth

Microcontroller

TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1

2 Ditulis Oleh: En.Mohd Zahidi@JKE

* Namun begitu, para pelajar masih perlu mengadakan brainstorming dengan penyelia masing-masing untuk menghasilkan satu projek inovasi pada semester akan datang. Dimana projek inovasi ini merupakan satu projek yang boleh menyelesaikan masalah masyarakat/industri di luar. Projek mini ini hanyalah merupakan latihan kemahiran pelajar dalam membina PCB Board disamping robot yang telah dihasilkan itu nanti boleh memenuhi keperluan pertandingan robot dimasa-masa akan datang.

KEPERLUAN/PERKAKASAN ROBOT 1. Software Proteus 7

Rekabentuk litar & simulasi litar Membina Papan PCB 2. Software Arduino

Pengaturcaraan pada Arduino Board 3. Kertas tracing paper

Digunakan untuk mencetak litar PCB menggunakan laser printer 4. Papan Positive PCB

Digunakan untuk menghasilkan PCB Board 5. 1 set komponen lengkap bluetooth mobile robot

i. 2 Motor DC berserta badan ii. Arduino Nano berserta USB kabel iii. IC L293D / Driver motor iv. 2 biji 40 pin socket v. 1 biji terminal block-2 vi. 1 modul bluetooth vii. Bateri dan casing viii. 1 biji slide switch

Mengenali nama setiap pin pada Arduino Nano membolehkan anda membuat sambungan dengan tepat dan betul.

TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1

3 Ditulis Oleh: En.Mohd Zahidi@JKE

MEREKABENTUK DAN MENSIMULASI ROBOT KAWALAN BLUETOOTH – PERISIAN PROTEUS 7 Rekabentuk litar 1. Dengan berbantukan komputer, buka perisian Proteus 7 dan buat rekabentuk litar seperti

rajah 2 di bawah dengan bantuan penyelia. Pastikan dalam library perisian proteus anda telah dimasukkan library Arduino Nano (sila rujuk pada penyelia).

2. Dapatkan setiap komponen yang tersenarai dari library proteus, selesaikan sambungan seperti rajah 2 dibawah, pastikan anda membuat label dengan betul pada setiap komponen dan DEFAULT terminal connection.

Rajah 2: Litar skematik asas mobile robot bluetooth dalam proteus 7

Senarai komponen yang digunakan:

DEFAULT terminal connection

TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1

4 Ditulis Oleh: En.Mohd Zahidi@JKE

Membina PCB

1. Sebelum litar skematik anda dipindahkan kepada PCB layout, sila pastikan setiap komponen pada

skematik anda sudah mempunyai package, anda boleh klik pada Design Explorer dan popup Physical Partlist View akan muncul, di sini anda akan dapati samada setiap komponen pada skematik anda sudah mempunyai package atau tidak pada ruangan Circuit/Package.

2. Apa yang perlu anda buat adalah, klik kanan pada setiap komponen dan pilih Packing Tool.

Sebagai contoh, untuk switch 2 hala, anda boleh memilih packaging:CONN-SIL3, kemudian klik pada ruangan A dan masukkan nombor kaki yang sepatutnya bersambung dengan pin yang ditunjukkan. Seterusnya klik Assign Package(s)>Save Package(s)>OK.

3. Anda boleh masukkan package untuk komponen lain seperti senarai berikut:

Terdapat komponen

missing/none pada ruangan

Circuit/Package.

Anda perlu assign package pada

setiap komponen missing/none

TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1

5 Ditulis Oleh: En.Mohd Zahidi@JKE

4. Terdapat 2 komponen yang belum lagi ada design dalam ARES iaitu arduino nano dan terminal pin 15. Anda perlu membuka perisian ARES dan membuat design seperti berikut, pastikan saiz jarak pin mengikut saiz yang ditunjukkan. Jika anda sukar membinanya, boleh Download di laman web projek : jkeprojek.weebly.com. Setelah selesai merekabentuk arduino nano dan terminal pin 15, anda perlu highlight komponen berkenaan secara berasingan dan klik kanan>Make Package. Isikan maklumat New Package Name/Category dan sub-category, klik OK seperti berikut. Anda telah pun selesai membina 2 pakej yang baru dengan nama ARDNANO dan 15PIN. Boleh kembali kepada ISIS dan pilih pakej tersebut.

5. Untuk assign pin pada arduino nano, anda boleh rujuk pada rajah dibawah. Masukkan nombor kaki

pada ruangan A. Untuk pin $RESET$ terdapat 2 pin pada arduino (ditulis 3,28), sama juga dengan GND (ditulis 4,29). Untuk 3V3 dan VIN pula, anda perlu klik pada Add Pin terlebih dahulu, kemudian taip nama pin berkenaan dan assign pin 17 dan 30 masing-masing. Seterusnya klik Assign Package(s)>Save Package(s)>OK.

TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1

6 Ditulis Oleh: En.Mohd Zahidi@JKE

6. Setelah semua package telah di assign kan, klik pada icon ARES>OK. Pilih Generic Single Layer>OK. Klik pula pada 2D Graphics Box Mode dan pilih Board Edge layer. Lukiskan petak ini pada layout anda (saiz petak boleh diubah mengikut kesesuaian komponen yang diletakkan).

7. Contoh kedudukan komponen dan saiz petak Board Edge yang boleh dijadikan panduan untuk anda.

Sebelum track dibuat, klik pada Design Rule Manager>Net Classes, set Trace Style untuk POWER dan SIGNAL pada T30>OK.

Design Rule Manager

Klik pada Auto-router

untuk membuat track

TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1

7 Ditulis Oleh: En.Mohd Zahidi@JKE

8. Seterusnya, anda boleh mencetak litar PCB yang telah siap tersebut pada tracing paper dengan bantuan penyelia. Seterusnya boleh lah menjalani proses Photolitography, Etching, tebuk lubang dan pemasangan komponen pada PCB dengan bantuan penyelia di Bengkel Projek.

9. Pemasangan litar dari pin arduino 13,12,11,10, 9 dan 8 ke pin IN1,IN2,IN3,IN4,ENA dan ENB motor driver perlulah merujuk kepada penyelia di Bengkel Projek. Begitu juga dengan bekalan kuasa bateri.

10. Litar yang telah siap dipasang boleh lah diuploadkan aturcara seperti Sketch B dibawah. Sketch B: #include <SoftwareSerial.h> SoftwareSerial myBluetooth(2, 3); // RX, TX int IN1 = 13; // Control pin 1 for motor right int IN2 = 12; // Control pin 2 for motor right int EN1 = 11; // Enable Pin for motor right int EN2 = 10 ; // Enable Pin for motor left int IN3 = 9; // Control pin 1 for motor left int IN4 = 8; // Control pin 2 for motor left char state; void setup() { Serial.begin(9600); // initialize serial communication: myBluetooth.begin(9600); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(EN1, OUTPUT); pinMode(EN2, OUTPUT);

PCB yang telah siap di Auto-router. Pastikan kesemua

kaki komponen telah bersambung iaitu tiada lagi garisan

berwarna hijau kelihatan. Garisan hijau menunjukkan

laluan track tidak dijumpai, anda perlu mengubah

sedikit kedudukan komponen supaya track dapat dibuat

untuk kesemua kaki komponen.

Klik pada

OUTPUT>3D

Visualization untuk

memaparkan

bentuk litar PCB

dalam 3D.

TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1

8 Ditulis Oleh: En.Mohd Zahidi@JKE

pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(BUZ, OUTPUT); } void loop(){ while (myBluetooth.available() > 0) { char inByte = myBluetooth.read(); Serial.println(inByte); state=inByte; } if(state=='A') forward(); if(state=='B') reverse(); if(state=='C') turnLeft(); if(state=='D') turnRight(); if(state=='E') stopRobot(); if(state=='F') spinCW(); if(state=='G') spinCCW(); }

void forward() { Serial.println("Forward"); analogWrite(EN1, 255); // Run in full speed analogWrite(EN2, 255); // Run in full speed digitalWrite(IN1, HIGH); // right motor forward digitalWrite(IN2, LOW); // digitalWrite(IN3, HIGH); // left motor forward digitalWrite(IN4, LOW); // } void reverse(){ Serial.println("Reverse"); analogWrite(EN1, 255); // Run in full speed analogWrite(EN2, 255); // Run in full speed digitalWrite(IN1, LOW); // right motor reverse digitalWrite(IN2, HIGH); // digitalWrite(IN3, LOW); // left motor reverse digitalWrite(IN4, HIGH); // } void turnLeft(){ Serial.println("Turn Left"); analogWrite(EN1, 255); // Run in full speed analogWrite(EN2, 255); // Run in full speed digitalWrite(IN1, LOW); // right motor stop digitalWrite(IN2, LOW); // digitalWrite(IN3, HIGH); // left motor forward digitalWrite(IN4, LOW); // } void turnRight(){ Serial.println("Turn Right"); analogWrite(EN1, 255); // Run in full speed analogWrite(EN2, 255); // Run in full speed digitalWrite(IN1, HIGH); // right motor forward digitalWrite(IN2, LOW); // digitalWrite(IN3, LOW); // left motor stop digitalWrite(IN4, LOW); // } void stopRobot(){ Serial.println("Stop"); analogWrite(EN1, 0); // Run in full speed

TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE5081 - PROJECT 1

9 Ditulis Oleh: En.Mohd Zahidi@JKE

analogWrite(EN2, 0); // Run in full speed digitalWrite(IN1, LOW); // right motor stop digitalWrite(IN2, LOW); // digitalWrite(IN3, LOW); // left motor stop digitalWrite(IN4, LOW); // } void spinCW(){ Serial.println("Spin CW"); analogWrite(EN1, 255); // Run in full speed analogWrite(EN2, 255); // Run in full speed digitalWrite(IN1, HIGH); // right motor forward digitalWrite(IN2, LOW); // digitalWrite(IN3, LOW); // left motor reverse digitalWrite(IN4, HIGH); // } void spinCCW(){ Serial.println("Spin CCW"); analogWrite(EN1, 255); // Run in full speed analogWrite(EN2, 255); // Run in full speed digitalWrite(IN1, LOW); // right motor reverse digitalWrite(IN2, HIGH); // digitalWrite(IN3, HIGH); // left motor forward

digitalWrite(IN4, LOW); // }

SELAMAT MENCUBA!