sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah...

21
BASIC MOBILE ROBOT ARDUINO Kelengkapan Nama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket Motor 2 Pcs Roda 2 Pcs Mur baut M3-30 4 Pcs Baut M3-5 4 Pcs Mur Baut M3-10 2 pcs Spacer 3cm 3 Pcs Spacer nylon 1cm 3 Pcs Screw 2 pcs Elektronik Arduino Uno 1 Pcs Driver shield L298 1 pcs Ultrasonic HC- SR04 1 Pcs Line Sensor 2 pcs Breadboard 1 Pcs Power Supply Batere Lippo 2 cell 1 Pcs Konektor DC 1 Pcs Arduino Arduino merupakan board mikrokontroller yang berbasis opensource. Ada beberapa macam arduino, salah satunya adalah arduino uno yang akan di gunakan pada kesempatan kali ini. Spesifikasi Arduino Uno Mikrokontroller ATMega 328 Tegangan pengoperasian 5V Tegangan input yang disarankan 7-12V Jumlah pin I/O digital 16 (6 diantaranya PWM) Jumlah pin analog 6

Transcript of sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah...

Page 1: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

BASIC MOBILE ROBOT ARDUINOKelengkapan

Nama Jumlah Unit

Mekanik

2 mm Akrilik Base Board 2 PcsRoda Bebas 1 Pcs Motor Gearbox 2 PcsBracket Motor 2 PcsRoda 2 PcsMur baut M3-30 4 PcsBaut M3-5 4 PcsMur Baut M3-10 2 pcsSpacer 3cm 3 PcsSpacer nylon 1cm 3 PcsScrew 2 pcs

Elektronik

Arduino Uno 1 PcsDriver shield L298 1 pcsUltrasonic HC-SR04 1 PcsLine Sensor 2 pcsBreadboard 1 Pcs

Power SupplyBatere Lippo 2 cell 1 PcsKonektor DC 1 Pcs

ArduinoArduino merupakan board mikrokontroller yang berbasis opensource. Ada beberapa macam arduino, salah satunya adalah arduino uno yang akan di gunakan pada kesempatan kali ini.Spesifikasi Arduino UnoMikrokontroller ATMega 328Tegangan pengoperasian 5VTegangan input yang disarankan 7-12VJumlah pin I/O digital 16 (6 diantaranya PWM)Jumlah pin analog 6

Pin input output arduino unoSetiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output. Selain itu, beberapa pin mempunyai fungsi-fungsi spesial:

Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.

External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih jelasnya.

Page 2: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi analogWrite(). SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI

menggunakan SPI library. LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin bernilai HIGH

LED menyala, ketika pin bernilai LOW LED mati.

Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6 input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial:

TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI dengan menggunakan Wire library

Ada sepasang pin lainnya pada board: AREF. Referensi tegangan untuk input analog. Digunakan dengan analogReference(). Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara khusus, digunakan

untuk menambahkan sebuah tombol reset untuk melindungi yang memblock sesuatu pada board.

Bahasa Pemrograman ArduinoBahasa pemrograman Arduino adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga mudah untuk dipelajari.

Page 3: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Mulai pemrogramanStruktur Penulisan Awal ARDUINO Terdiri dari :

void setup( ) { }Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.

void loop( ) { }Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan.

Variabel ArduinoVariabel adalah suatu pengenal yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program.Contoh penulisan variabel :

1. int a;2. char nama[20];

Scope1. Global, di-definisikan di paling atas.2. Lokal, di-definisikan di dalam fungsi.

Tipe Data Arduino Tipe data merupakan bagian dari suatu program yang dibuat untuk menyatakan suatu bentuk nilai.Contoh : Kita ingin menyimpan nilai pada variabel LUAS dan akan di gunakan untuk proses perhitungan maka tipe data yang di gunakan adalah int.

Page 4: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Opertator Aritmatika ArduinoOperator Aritmatika adalah operator yang dipakai dalam proses perhitungan dalam suatu program.

Operator Kondisi Arduino Operator Kondisi adalah operator yang dipakai dalam proses perbandingan antara 1 logic program dengan logic program lainnya.

Operator Boolean ArduinoOperator boolean adalah operator yang menghasilkan true atau false.

Struktur Pengkondisian IF ARDUINOStruktur Pengkondisian adalah struktur yang di gunakan untuk memilih 1 dari 2 kondisi(pernyataan) atau lebih.

Page 5: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Contoh Penggunaan IF :Ada 3 tombol untuk menghidupkan lampu

1. Lampu Kuning2. Lampu Hijau3. Lampu Merah

Kenyataan : Saya menekan tombol 2Bentuk If nya :

Struktur Pengkondisian Switch ARDUINO

Page 6: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Struktur Pengulangan FOR ARDUINO

Struktur Pengulangan WHILE ARDUINO

Page 7: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Input MikrokontrolerInput Mikrokontroler Dapat Berupa Digital Dan Analog

Input Digital Input Digital adalah input yang memiliki tegangan 5 volt (HIGH) dan 0 volt (LOW). Contoh INPUT Digital : Membaca Tombol Switch

Input Analog Input Analog adalah input yang memiliki tegangan antara 5 volt s/d 0 volt (LOW). Contoh INPUT Analog : Potensiometer, Line Sensor

Output MikrokontrolerOutput Mikrokontroler Hanya Berupa DigitalOutput Digital

Output Digital adalah output yang memiliki tegangan 5 volt (HIGH) dan 0 volt (LOW). Output Digital Bisa juga di pin Digital PWM Contoh OUTPUT Digital :

Menghidup dan mematikan LEDMenghidupkan dan mematikan Buzzer

Pemrograman Input / Output Digital ArduinoPerintah pinMode()Digunakan untuk menentukan pin mana yang akan di gunakan dan menentukan apakah sebuah pin : INPUT atau OUTPUT

Contoh :- Untuk menentukan pin Input : pinMode(8,INPUT);- Untuk menentukan pin Output : pinMode(8,OUTPUT);

Perintah digitalWrite()Digunakan untuk memberikan logika LOW atau HIGH pada sebuah pin I/O.Contoh :

- Menghidupkan led pada pin 18 : digitalWrite(18,HIGH);- Mematikan led pada pin 18 : digitalWrite(18,LOW);

Perintah digitalRead()Digunakan Untuk membaca logika dari sebuah pin I/OContoh :

- Membaca switch pada pin 10 : digitalRead(10);

Pemrograman Input / Output Analog ArduinoPerintah analogWrite()

Page 8: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

- analogWrite() dapat digunakan untuk menulis nilai analog (gelombang PWM) untuk sebuah pin.- Dapat juga digunakan menyalakan LED dengan cahaya yang bervariasi atau mengontrol- motor dengan kecepatan yang bervariasi.- Value (nilai) analogWrite adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~

5V).Contoh :

- Menulis kecepatan motor/dinamo pada pin 6 : analogWrite(5,255);

Perintah analogRead()- Ketika pin analog ditetapkan sebagai INPUT kita dapat membaca keluaran voltase-nya.- Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).

Contoh :- Membaca sensor suara pada pin 24 analog : analogRead(0);

Perintah Waktu Tunda1. delay()

Akan memberi jeda pada program untuk beberapa waktu ( dalam millisecond).Contoh : kita akan menulis waktu tunda 2 detik maka delay(2000);

2. delayMicroseconds()memberi jeda program dalam beberapa waktu (mikrodetik), 1000 microsecond adalah 1 milisecond dan 1 juta microsecond adalah 1 detik.Contoh : kita akan menulis waktu tunda 2 microsecond maka delayMicroseconds (2000);

Page 9: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

BLinking Led

Bahan yang dibutuhkan

1. Breadboard

Isi dari breadboard adalah Terhubung secara Vertikal / terhubung dari atas ke bawah

2. Dioda Led3. Kabel Jumper male to male

4. Arduino Uno

Konfigurasi Rangkaian Blinking Led

Isi Breadboard

Page 10: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Contoh program blinking arduino

int LED = 2; // LED connected to digital pin 2

void setup()

{

pinMode(LED, OUTPUT); // sets the digital pin as output

}

void loop()

{

digitalWrite(LED, HIGH); // turns the LED on

delay(1000); // waits for a second

digitalWrite(LED, LOW); // turns the LED off

delay(1000); // waits for a second

}

Tugas

Bagaimana jika ada 3 led, nyala bergantian seperti lampu lalu lintas

Page 11: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

MOTOR SHIELD DRIVER ARDUMOTOBahan yang dibutuhkan1. Ardumoto Driver Shield

Motor shield driver ini berfungsi untuk mengatur arah putaran dan kecepatan dari motor.

Pin yang di gunakan dalam motor shield driver ardumoto adalah sebagai berikut Untuk output A (Out 1/2) menggunakan pin input digital 12 (Dir A) dan pin digital 3(PWM A) Untuk output B (Out 3/4) menggunakan pin input digital 13 (Dir B) dan pin digital 11(PWM B)

2. Motor DC

3. Arduino Uno

Konfigurasi Rangkaian Motor shield ardumoto

Page 12: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Contoh Pemrograman Arduinoint pwm_a = 3; int pwm_b = 11; int dir_a = 12;int dir_b = 13;

void setup(){ pinMode(pwm_a, OUTPUT); //Set control pins to be outputs pinMode(pwm_b, OUTPUT); pinMode(dir_a, OUTPUT); pinMode(dir_b, OUTPUT); }

void loop(){ maju(); delay(1000); mundur(); delay(1000); berhenti(); delay(1000);}

void maju() // no pwm defined{ digitalWrite(dir_a, HIGH); digitalWrite(dir_b, HIGH); analogWrite(pwm_a,255); analogWrite(pwm_b,255); }

void mundur() // no pwm defined{ digitalWrite(dir_a, LOW); digitalWrite(dir_b, LOW); analogWrite(pwm_a,255); analogWrite(pwm_b,255); }

void berhenti() // no pwm defined{ digitalWrite(dir_a, LOW); digitalWrite(dir_b, LOW); analogWrite(pwm_a,0); analogWrite(pwm_b,0); }

Tugas

Page 13: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Buatlah fungsi belok kiri, belok kanan, dan buatlah robot bergerak membentuk kotak

Page 14: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

ARDUINO ULTRASONIC HCSR04

Bahan yang dibutuhkan

1. Sensor Ultrasonic HCSR04

Sensor Ultrasonik merupakan alat elektronika yang kemampuannya bisa mengubah dari energy listrik menjadi energy mekanik dalam bentuk gelombang suara ultrasonic. Sensor ini terdiri dari rangkaian pemancar Ultrasonic yang dinamakan transmitter dan penerima ultrasonic yang disebut receiver.

Sensor ini biasanya dipakai untuk mengujur jarak.

2. Breadboard3. Kabe jumper male 2 male

Konfigurasi sensor ultrasonic HCSR04 dengan Arduino

Program ke Arduino

int trigPin = 8; int echoPin = 7; long duration, cm, inches; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);}

Page 15: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

void loop(){ digitalWrite(trigPin, LOW); delayMicroseconds(5); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); pinMode(echoPin, INPUT); duration = pulseIn(echoPin, HIGH);

cm = (duration/2) / 29.1; inches = (duration/2) / 74; Serial.print(inches); Serial.print("in, "); Serial.print(cm); Serial.print("cm"); Serial.println(); delay(250);}

Page 16: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Arduino Sensor GarisBahan yang dibutuhkan

1. Sensor GarisSensor garis yang digunakan kali adalah modul sensor black/white TCRT5000. Ada 2 data yang dihasilkan sensor iniD0 : Datta yang dihasilkan adalah data digital (HIGH/LOW), di arduino bisa menggunakan pin input digitalA0 : Data yang dihasilkan adalah data analog, di Arduino bisa menggunakan pin A0 – A5

2. Jumper Male to Female

3. Arduino Uno

Konfigurasi sensor garis untuk data digital (D0)

Page 17: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Program ke arduino

int linedigital1 = 4;

int linedigital2 = 5;

int bacaline1;

int bacaline2;

void setup()

{

pinMode(linedigital1, INPUT);

pinMode(linedigital2, INPUT);

Serial.begin(9600);

}

void loop()

{

bacaline1 = digitalRead(linedigital1);

if(bacaline1==HIGH)

{

Serial.println(“ada”);

}

else

{

Serial.println(“tidakada”);

}

delay(200);

}

Konfigurasi sensor garis untuk data digital (D0)

Program ke arduino

Page 18: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

int lineanalog = A0;

int bacaline;

void setup()

{

pinMode(lineanalog, INPUT);

Serial.begin(9600);

}

void loop()

{

bacaline = analogRead(lineanalog);

Serial.println(bacaline);

}

Page 19: sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.docx · Web viewNama Jumlah Unit Mekanik 2 mm Akrilik Base Board 2 Pcs Roda Bebas 1 Pcs Motor Gearbox 2 Pcs Bracket

Membuat Robot Wall Avoider

Robot wall Avoider adalah robot yang bisa menghindar dari apa yang ada di depan robot. Robot ini dilengkapi dengan sensor ultrasonic.

Cara kerja robot avoider

Robot selalu bergerak maju, apabila didepannya ada halangan/obstacle, robot akan menghindarinya dengan bergerak belok (kiri/kanan)

Program Arduino Robot Avoider

Buka program arduino driver motor

Buka program arduino Ultrasonic

Gabungkan ke dua program tersebut