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 Pin input output arduino uno Setiap 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.
19
Embed
BASIC MOBILE ROBOT ARDUINO - sekolahrobot.comsekolahrobot.com/download/BASIC MOBILE ROBOT ARDUINO.pdf · Contoh INPUT Analog : Potensiometer, Line Sensor Output Mikrokontroler Output
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
Pin input output arduino uno
Setiap 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.
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 Arduino
Bahasa pemrograman Arduino adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan
fungsi-fungsi yang sederhana sehingga mudah untuk dipelajari.
Mulai pemrograman
Struktur 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 Arduino
Variabel adalah suatu pengenal yang digunakan untuk mewakili suatu nilai tertentu di dalam proses
program.
Contoh penulisan variabel :
1. int a;
2. char nama[20];
Scope
1. 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.
Opertator Aritmatika Arduino
Operator 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 Arduino
Operator boolean adalah operator yang menghasilkan true atau false.
Struktur Pengkondisian IF ARDUINO
Struktur Pengkondisian adalah struktur yang di gunakan untuk memilih 1 dari 2 kondisi(pernyataan) atau
lebih.
Contoh Penggunaan IF :
Ada 3 tombol untuk menghidupkan lampu
1. Lampu Kuning
2. Lampu Hijau
3. Lampu Merah
Kenyataan : Saya menekan tombol 2
Bentuk If nya :
Struktur Pengkondisian Switch ARDUINO
Struktur Pengulangan FOR ARDUINO
Struktur Pengulangan WHILE ARDUINO
Input Mikrokontroler
Input 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 Mikrokontroler
Output Mikrokontroler Hanya Berupa Digital
Output 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 LED
Menghidupkan dan mematikan Buzzer
Pemrograman Input / Output Digital Arduino
Perintah 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/O
Contoh :
- Membaca switch pada pin 10 : digitalRead(10);
Pemrograman Input / Output Analog Arduino
Perintah analogWrite()
- 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 Tunda
1. 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);
BLinking Led
Bahan yang dibutuhkan
1. Breadboard
Isi dari breadboard adalah Terhubung secara Vertikal / terhubung dari atas ke bawah
2. Dioda Led
3. Kabel Jumper male to male
4. Arduino Uno
Konfigurasi Rangkaian Blinking Led
Isi Breadboard
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
MOTOR SHIELD DRIVER ARDUMOTO
Bahan yang dibutuhkan
1. 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
Contoh Pemrograman Arduino int 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
Buatlah fungsi belok kiri, belok kanan, dan buatlah robot bergerak membentuk kotak
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. Breadboard
3. 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); }