TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE PROJECT 1 MOBILE ROBOT

Similar documents
TUTORIAL MEMBINA MOBILE ROBOT BLUETOOTH DEE PROJECT 1 MOBILE ROBOT

MICROSOFT EXCEL. Membina Hamparan Elektronik Fungsi Hamparan Elektronik

TEKNOLOGI, GADJET & KEIBUBAPAAN

Panduan Guru Maker UNO/ Arduino

Pengenalan Sistem Maklumat Dalam Pendidikan

Semasa buku ini ditulis XAMPP mengandungi empat versi:

Panduan Menggunakan Autoresponder FreeAutobot.com

PANDUAN PENGGUNA (PENTADBIR SYSTEM/SYSTEM ADMINISTRATOR) (INFOTECH, BPPF DAN POLIS

PANDUAN PENGGUNA (PENSYARAH)

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS)

M2U MANUAL PENGGUNA USER MANUAL M2UNHJ. 0 P a g e BAHAGIAN SIMPANAN DAN PENGELUARAN JABATAN KHIDMAT PENDEPOSIT DAN OPERASI LEMBAGA TABUNG HAJI

CARA-CARA UNTUK MEMBUAT POSTER MELALUI PERISIAN PHOTOSHOP. Untuk membuat poster sediakan beberapa bahan seperti berikut:

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS)

Manual Pengguna. PCN Online Service Fulfillment System

ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11

MANAGE COURSE RESOURCES LABEL TEXT PAGE URL BOOK FILE FOLDER IMS CONTENT PACKAGE

Panduan Pengguna Autodesk Education Community

PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES

DOKUMEN TIDAK TERKAWAL

COMBINING TABLES. Akademi Audit Negara. CAATs ASAS ACL / 1

FIRST TIME LOGIN & SELF REGISTRATION USER GUIDE LOG MASUK KALI PERTAMA & PENDAFTARAN SENDIRI PANDUAN PENGGUNA

Pengguna akan diberikan Username dan Password oleh Administrator untuk login sebagai admin/conference Manager bagi conference yang akan diadakan.

1. Akses untuk koperasi adalah melalui

Visitor Management System

Persekitaran Pengaturcaraan Arduino

JABATAN KIMIA Kategori Arahan Kerja

SISTEM INTERAKTIF PROFIL PUSTAKAWAN MALAYSIA Interactive Profile System (IPS) for Malaysian Librarians

Written by Mazuki Izani Thursday, 02 August :00 - Last Updated Tuesday, 03 February :54

UNIVERSITI SAINS MALAYSIA. Peperiksaan Semester Pertama Sidang Akademik 2003/2004. September/Oktober 2003

Cara Login Ke CPanel Hosting.

EEE 348 PENGANTAR REKABENTUK LITAR BERSEPADU

ISI KANDUNGAN. Microsoft PowerPoint 2016

Tutorial: Pengenalan kepada Virtools

Registration of Supplier (ROS) TM Supplier Registration Renewal via SUS Portal (Pembaharuan Pendaftaran Pembekal TM melalui SUS Portal)

PART A SULIT (EKT 221) BAHAGIAN A. Answer ALL questions. Question 1. a) Briefly explain the concept of Clock Gating.

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

ICT SPM 2011 SUGGESTION ANSWER. Section A

Registration of Supplier (ROS) TM Supplier Registration Renewal via SUS Portal (Pembaharuan Pendaftaran Pembekal TM melalui SUS Portal)

ISI KANDUNGAN. Tarikh akhir kemaskini: 9 November 2016 Hakcipta Pusat Komputer, UTeM ms 2

ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN

PANDUAN PENGGUNA (SUPPLIER) SINGLE ENVELOPE TENDER

EEE 428 SISTEM KOMPUTER

CREATING USER ID AND PASSWORD : NOTA PENTING NOTA PENTING SEBELUM MEMULAKAN PROSES CREATE USER ID & PASSWORD

JABATAN KIMIA Kategori Arahan Kerja

LANGKAH INSTALASI ireport Jasper,XAMMP Add On Tomcat & Oracle 2011

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

Pejabat Teknologi Maklumat JOOMLA 3.4. Rahim Utah

UNIVERSITI SAINS MALAYSIA. CST331 Principles of Parallel & Distributed Programming [Prinsip Pengaturcaraan Selari & Teragih]

Cik Sumitra Kan Fong Kuen

...a- JEE ELEKTRONIK DIGIT II. UNlVERSlTl SAINS MALAYSIA. Peperiksaan Semester Kedua Sidang Akademik FebruarVMac 2003.

1. Threats bermaksud ancaman, atau lebih dikenali sebagai malware (malicious

REGISTRATION GUIDE MCIS CUSTOMER PORTAL. Page 1

B,8 PERKHIDMATAN KREDIT DAN PERBANKAN. Pemindahan Data PROSEDUR UNIT KOMPUTER. BPKP/KlOK-117 Bilangan Semakan : 0 Tarikh : PERUBAHAN.

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

UNIVERSITI SAINS MALAYSIA. CST232 Operating Systems [Sistem Pengendalian]

Information Security Management System ISO/IEC 27001:2013

UNIVERSITI SAINS MALAYSIA. CCS522 Advanced Data Communication & Computer Networks [Rangkaian Komputer & Komunikasi Data Lanjutan]

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

Laporan Aktiviti Pusat Internet 1 Malaysia Kg. Kuala Sungga

PANDUAN PENGGUNA PORTAL

UNIVERSITI SAINS MALAYSIA

UNIVERSITI SAINS MALAYSIA. CST334 Network Monitoring & Security [Pengawasan & Keselamatan Rangkaian]

APPENDIX B : TRAINING MATERIAL

Welcome to the Future of Entertainment!

TINGKAP PINTAR DAN RESPONSIF UNTUK RUMAH NUR AMANINA HAZIQAH BINTI ABDUL HALIM KHAIRUL AKRAM ZAINOL ARIFFIN

Membina Laman Web Menggunakan Joomla! Mohd Hazmi Kasmin. Pusat Teknologi Maklumat. Universiti Tun Hussein Onn Malaysia

TS2963 : Pangkalan Data. Nota Makmal. Makmal 4

UNIVERSITI SAINS MALAYSIA. CCS522 Advanced Data Communication and Computer Networks [Rangkaian Komputer dan Komunikasi Data Lanjutan]

SKS 3124 PENDAWAIAN RANGKAIAN

VIRTUAL PRIVATE NETWORK: ARCHITECTURE AND IMPLEMENTATIONS

UNIVERSITI SAINS MALAYSIA. CPT111/CPM111 Principles of Programming [Prinsip Pengaturcaraan]

CLOUD COMPUTING ADOPTION IN BANKING SYSTEM (UTM) IN TERMS OF CUSTOMERS PERSPECTIVES SHAHLA ASADI

Disediakan oleh: Mohammad Hazmin Bin Mohamed Azri

Modul Asas JavaServer Pages

INSTRUCTION: This section consists of TWO (2) short answer and structured essay questions. Answer ALL questions.

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan.

PERKHIDMATAN KREDIT DAN PERBANKAN PROSEDUR UNIT KOMPUTER. Proses Backup ( Windows) BPKP/KlOK-118 Bilangan Semakan : Q Tarikh :

UNIVERSITI SAINS MALAYSIA. CPT344 Computer Vision & Image Processing [Penglihatan Komputer & Pemprosesan Imej]

Aplikasi Permainan Pembelajaran untuk Kanak-Kanak

UNIVERSITI SAINS MALAYSIA. CST131 Computer Organisation [Organisasi Komputer]

PEMBENTANGAN ANUGERAH INOVASI. PROJEK : Sistem Prin;ng Menggunakan Kad Matriks (Konsep Topup) di PPICTP UTM Kuala Lumpur

PORTABLE ELECTRONICS QUEUE CONTROL SYSTEM WONG CHUN YUAN UNIVERSITY MALAYSIA PAHANG

IMPLEMENTATION OF UNMANNED AERIAL VEHICLE MOVING OBJECT DETECTION ALGORITHM ON INTEL ATOM EMBEDDED SYSTEM

UNIVERSITI SAINS MALAYSIA. CCS521 Advanced Distributed Systems Concepts and Design [Konsep dan Reka Bentuk Sistem Teragih Maju]

UNIVERSITI SAINS MALAYSIA. CMT322/CMM323 Web Engineering & Technologies [Kejuruteraan & Teknologi Web]

Panduan Network Connection

AN IMPROVED PACKET FORWARDING APPROACH FOR SOURCE LOCATION PRIVACY IN WIRELESS SENSORS NETWORK MOHAMMAD ALI NASSIRI ABRISHAMCHI

0

MSS 318 Discrete Mathematics [Matematik Diskret]

EEE348 INTRODUCTION TO INTEGRATED CIRCUIT DESIGN (PENGANTAR REKABENTUK LITAR BERSEPADU)

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan.

HARDWARE/SOFTWARE SYSTEM-ON-CHIP CO-VERIFICATION PLATFORM BASED ON LOGIC-BASED ENVIRONMENT FOR APPLICATION PROGRAMMING INTERFACING TEO HONG YAP

Modul Latihan: Pembangunan Applikasi Pangkalan Data dan JSP Bahagian 1

INSTRUCTION: This section consists of TWO (2)short answers and TWO (2) structured essays. Answer ALL questions.

1. PENGENALAN KEPADA PENGURUSAN PROJEK

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

Lab 4 : Sorting Techniques

LOW COST MP3 PLAYER USING SD CARD KHAIRIL AMRI BIN MUHAMAD UNIVERSITI TEKNIKAL MALAYSIA MELAKA


Transcription:

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. Bluetooth Motor Driver Microcontroller Bateri Motor DC 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. 1

* 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 2. Software Arduino Membina Papan PCB 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) beserta 16 pin socket iv. 2 biji 40 pin socket v. 2 biji terminal block-2 dan sebiji terminal block-3 vi. 1 modul bluetooth HC-05 vii. Bateri dan casing viii. 2 biji slide switch Mengenali nama setiap pin pada Arduino Nano membolehkan anda membuat sambungan dengan tepat dan betul. 2

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 Mensimulasi Robot 1. Buka perisian arduino dan taipkan aturcara (Sketch A) seperti di bawah. Cuba fahami setiap arahan yang digunakan di dalam aturcara tersebut. Dengan kefahaman ini anda boleh mengubahsuai pergerakan robot mengikut kehendak anda. Sketch A: int IN1 = 12; // Control pin 1 for motor right int IN2 = 11; // Control pin 2 for motor right int EN1 = 10; // Enable Pin for motor right int EN2 = 9 ; // Enable Pin for motor left int IN3 = 8; // Control pin 1 for motor left int IN4 = 7; // Control pin 2 for motor left void setup() { Serial.begin(9600); // initialize serial communication: pinmode(in1, OUTPUT); //Declare pin as OUTPUT pinmode(in2, OUTPUT); //Declare pin as OUTPUT pinmode(en1, OUTPUT); //Declare pin as OUTPUT pinmode(en2, OUTPUT); //Declare pin as OUTPUT pinmode(in3, OUTPUT); //Declare pin as OUTPUT pinmode(in4, OUTPUT); //Declare pin as OUTPUT } 3

void loop(){ forward(); Serial.println(" - 1SECOND"); delay(1000); reverse(); Serial.println(" - 1SECOND"); delay(1000); turnleft(); Serial.println(" - 1SECOND"); delay(1000); turnright(); Serial.println(" - 1SECOND"); delay(1000); stoprobot(); Serial.println(" - 1SECOND"); delay(1000); spincw(); Serial.println(" - 1SECOND"); delay(1000); spinccw(); Serial.println(" - 1SECOND"); delay(1000); } void forward() { Serial.print("Forward"); digitalwrite(in1, HIGH); // right motor forward digitalwrite(in3, HIGH); // left motor forward void reverse(){ Serial.print("Reverse"); digitalwrite(in1, LOW); // right motor reverse digitalwrite(in2, HIGH); // digitalwrite(in3, LOW); // left motor reverse digitalwrite(in4, HIGH); // } void turnleft(){ Serial.print("Turn Left"); digitalwrite(in1, LOW); // right motor stop digitalwrite(in3, HIGH); // left motor forward void turnright(){ Serial.print("Turn Right"); digitalwrite(in1, HIGH); // right motor forward digitalwrite(in3, LOW); // left motor stop void stoprobot(){ Serial.print("Stop"); analogwrite(en1, 0); // Run in full speed analogwrite(en2, 0); // Run in full speed digitalwrite(in1, LOW); // right motor stop digitalwrite(in3, LOW); // left motor stop void spincw(){ Serial.print("Spin CW"); digitalwrite(in1, HIGH); // right motor forward digitalwrite(in3, LOW); // left motor reverse digitalwrite(in4, HIGH); // } void spinccw(){ Serial.print("Spin CCW"); digitalwrite(in1, LOW); // right motor reverse digitalwrite(in2, HIGH); // digitalwrite(in3, HIGH); // left motor forward 4

2. Setelah selesai aturcara (sketch) ditaip dengan teliti dan betul. Klik pada butang Verify untuk menentukan samada aturcara tersebut terdapat kesalahan atau tidak. Save As fail berkenaan di dalam folder yang sesuai. Butang Verify 3. Sekiranya aturcara (sketch) tiada kesalahan dan perisian menunjukkan Done compiling. Seterusnya anda boleh klik pada Tools>Board>Arduino Nano. Kemudian, klik Sketch>Export compiled Binary. Fail aturcara anda akan ditukarkan kepada satu lagi fail iaitu fail HEX (fail bahasa mesin) di dalam folder tempat anda Save As fail aturcara tadi. Fail HEX ini akan digunakan untuk simulasi litar dalam proteus. Done compiling. 4. Buka kembali litar skematik mobile robot dan klik kanan pada ARDUINO NANO>Edit Properties. Dalam popup Edit Component, browse fail HEX aturcara tadi dalam folder tempat anda Save As aturcara tersebut. Kemudian klik Open>OK. 5. Jika anda hendak melihat paparan text message ketika motor sedang berpusing, anda boleh letakkan kompoen Virtual Terminal pada skematik anda. Klik pada Virtual Instrumets Mode>VIRTUAL TERMINAL. Letakkan di mana-mana tempat sesuai pada skematik anda. Tambah DEFAULT terminal pin pada RXD dan labelkan TX (arduino-tx<->virtual Terminal-RXD). Place at your schematic layout Virtual Instrument Mode 6. Seterusnya, anda boleh melihat simulasi litar mobile robot ini dengan klik pada butang Play pada belah kiri bawah. 5

7. Setelah butang Play tersebut di klik, maka anda dapat melihat motor DC anda akan berfungsi Forward, Reverse, Turn Left, Turn Right, Stop, Spin CW dan Spin CCW secara berterusan dalam masa 1 saat bagi setiap pergerakan. Jika motor anda tidak bergerak cuba cari mana-mana kesilapan sambungan dan label dalam litar anda. Tekan pada butang Stop untuk hentikan simulasi. Membina PCB 1. Sebelum litar skematik anda dipindahkan kepada ARES (PCB design), terlebih dahulu anda perlu mengubah komponen bateri kepada terminal blok. Delete simbol bateri dan gantikan dengan terminal blok-3 seperti rajah dibawah. 2. Untuk mempastikan setiap komponen pada skematik anda sudah mempunyai package atau belum, 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. 5 6 6 6 Terdapat komponen missing/none pada ruangan Circuit/Package. Anda perlu assign package pada setiap komponen missing/none 6

3. 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. 4. Anda boleh masukkan package untuk komponen lain seperti senarai berikut: 5 6 6 6 5. 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. 7

6. 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. 7. Bagi membuat pin VIN dan 3V3 bersambung dalam PCB design anda, anda perlu setkan Configure Power Rails sperti berikut;design>configure power Rails>,klik pada New dan masukkan nama pin VIN, kemudian taipkan nilai voltage 12 dan seterusnya klik pada VIN(Unconnected Power nets) dan klik Add (supaya VIN masuk pada column Nets connected to VIN). Ulangi langkah ini untuk pin 3V3 juga. 8. 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). 8

9. 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 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. 9

10. 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. 11. Litar yang telah siap dipasang boleh lah diuploadkan aturcara seperti Sketch B dibawah. Kaedah Menukar Nama Bluetooth HC-05 kepada Nama pilihan anda sendiri. 1. Anda boleh menonton secara video di https://youtu.be/prcw_jmihro 2. Pasangkan Module HC-05 Bluetooth anda pada slot PCB anda, pastikan kedudukan pin pada tempat yang betul. 3. Semasa menyambungkan usb kabel pada komputer pastikan anda menekan butang pada bluetooth tanpa melepaskannya sehingga kabel dimasukkan. Anda akan melihat led berkelip secara perlahan (berada dalam mode AT), jika anda menyambungkan kabel tanpa menekan butang bluetooth anda akan dapati led pada bluetooth berkelip secara cepat (berada dalam mode biasa). butang pada bleutooth 4. Seterusnya anda boleh taipkan program berikut menggunakan arduino software dan upload ke dalam arduino board. #include <SoftwareSerial.h> SoftwareSerial BTSerial(2, 3); // CONNECT BT RX PIN TO ARDUINO 11 PIN CONNECT BT TX PIN TO ARDUINO 10 PIN void setup(){ pinmode(4, OUTPUT); // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode digitalwrite(4, HIGH); Serial.begin(9600); Serial.println("Enter AT commands:"); BTSerial.begin(38400); // HC-05 default speed in AT command more } void loop(){ // Keep reading from HC-05 and send to Arduino Serial Monitor if (BTSerial.available()) Serial.write(BTSerial.read()); // Keep reading from Arduino Serial Monitor and send to HC-05 if (Serial.available()) BTSerial.write(Serial.read()); } 5. Taip AT (tanpa pembuka kata) pada serial monitor dan tekan kekunci enter. Jika perkataan OK muncul menandakan bluetooth anda telah bersedia menerima arahan. Sekarang anda boleh menukar nama bluetooth anda dengan menaip AT+NAME?,tekan enter untuk memaparkan nama sedia ada dan menaip AT+NAME = MyRobot05, tekan enter. Nama bluetooth anda telah bertukar kepada MyRobot05. Nama ini memudahkan anda untuk membuat pairing dengan handphone anda nanti. 10

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); 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"); digitalwrite(in1, HIGH); // right motor forward digitalwrite(in3, HIGH); // left motor forward void reverse(){ Serial.println("Reverse"); digitalwrite(in1, LOW); // right motor reverse digitalwrite(in2, HIGH); // digitalwrite(in3, LOW); // left motor reverse digitalwrite(in4, HIGH); // } void turnleft(){ Serial.println("Turn Left"); 11

digitalwrite(in1, LOW); // right motor stop digitalwrite(in3, HIGH); // left motor forward void turnright(){ Serial.println("Turn Right"); digitalwrite(in1, HIGH); // right motor forward digitalwrite(in3, LOW); // left motor stop void stoprobot(){ Serial.println("Stop"); analogwrite(en1, 0); // Run in full speed analogwrite(en2, 0); // Run in full speed digitalwrite(in1, LOW); // right motor stop digitalwrite(in3, LOW); // left motor stop void spincw(){ Serial.println("Spin CW"); digitalwrite(in1, HIGH); // right motor forward digitalwrite(in3, LOW); // left motor reverse digitalwrite(in4, HIGH); // } void spinccw(){ Serial.println("Spin CCW"); digitalwrite(in1, LOW); // right motor reverse digitalwrite(in2, HIGH); // digitalwrite(in3, HIGH); // left motor forward SELAMAT MENCUBA! 12