DAFTAR ISI
3. Landasan Teori
4. Listing program
5. Rangkaian Simulasi
6. Foto Alat
7. Video Simulasi
8. Video Alat
9. Link Download
4. Listing program
5. Rangkaian Simulasi
6. Foto Alat
7. Video Simulasi
8. Video Alat
9. Link Download
Modul 4
1.Tujuan
- Praktikan dapat merancang sebuah sistem secara detail sehingga rancangan tersebut dapat menjadi sebuah alat.
- Praktikan dapat mengkombinasikan berbagai sensor, aktuator dan display.
- Praktikan dapat membuat sebuah sistem menggunakan mikrokontroller
2. Alat dan bahan
a. Mikrokontroller Arduino
b. Input berupa sensor ultrasonik.
c. Output :
Display : LCD
Aktuator : Motor
3. Landasan Teori
a. Mikrokontroller Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan pada prkatikum ini adalah arduino mega yang menggunakan chip AVR ATmega 2560 yang memiliki fasilitas PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama modul atau alat lain dengan protocol yang berbeda-beda. Bahasa pemograman yang digunakan adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga lebih mudah dalam memprogramnya. Dalam memprogram arduino, kita bisa menggunakan serial komunikasi agar arduino dapat berhubungan dengan komputer ataupun aplikasi lain.
Beberapa fitur dari Arduino Mega 2560 ini adalah :
Microcontroller
|
ATmega2560
|
Operating Voltage
|
5V
|
Input Voltage (recommended)
|
7-12V
|
Input Voltage (limits)
|
6-20V
|
Digital I/O Pins
|
54 (of which 15 provide PWM output)
|
Analog Input Pins
|
16
|
DC Current per I/O Pin
|
20 mA
|
DC Current for 3.3V Pin
|
50 mA
|
Flash Memory
|
256 KB of which 8 KB used by bootloader
|
SRAM
|
8 KB
|
EEPROM
|
4 KB
|
Clock Speed
|
16 MHz
|
BAGIAN-BAGIAN DARI ARDUINO MEGA 2560
- · Soket USB
Soket USB adalah soket untuk kabel USB yang disambungkan ke komputer atau laptop.
Berfungsi untuk mengirimkan program ke Arduino dan juga sebagai port komunikasi serial.
· Input / Output Digital
Input/Output Digital atau digital pin adalah pin-pin untuk menghubungkan Arduino dengan
komponen atau rangkaian digital. Pada Arduino Mega terdapat 53 I/O Digital dimana 16
diantaranya dapat dijadikan sebagai output PWM
- · Input Analog
Input Analog atau analog pin adalah pin-pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu, sensor cahaya, dsb.
Terdapat 16 input analog pada arduino mega 2560.
- · Pin POWER
Pin-pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang dihubungkan dengan Arduino. Pada bagian catu daya ini terdapat juga pin Vin dan Reset.Vin digunakan untuk memberikan tegangan langsung kepada Arduino tanpa melalui tegangan USB atau adaptor.
- · Tombol RESET
Reset adalah pin untuk memberikan sinyal reset melaui tombol atau rangkaian eksternal.
- · Jack Baterai/Adaptor
Soket baterai atau adaptor digunakan untuk menyuplai Arduino dengan tegangan dari baterai/adaptor 9V pada saat Arduino sedang tidak disambungkan ke komputer. Kalau Arduino sedang disambungkan ke komputer melalui USB, Arduino mendapatkan suplai tegangan dari USB, jadi tidak perlu memasang baterai/adaptor saat memprogram Arduino.
b. Input berupa sensor Ultrasonik
Sensor ultrasonik PING terdiri dari tiga bagian utama yaitu :
- Transmitter Gelombang Ultrasonik
- Receiver Gelombang Ultrasonik
- Rangkaian kontrol
Transmitter berfungsi sebagai pemancar gelombang ultrasonik. Gelombang yang dipancarkan memiliki frekuensi 40KHz. Gelombang ini akan dipancarakan dengan kecepatan 344.424m/detik atau 29.034uS per centimeter. Jika didepan terdapat halangan atau objek maka gelombang tersebut akan memantul. Pantulan gelombang akan dideteksi oleh receiver. Rangkaian kontrol akan mendeteksi pantulan gelombang dan menghitung lama waktu saat gelombang dipancarkan dan gelombang terdeteksi pantulannya. Lama waktu pemantulan gelombang ini akan dikonversi menjadi sinyal digital dalam bentuk pulsa. Sinyal inilah yang nantinya diolah oleh mikrokontroler atau mikroprosesor sehingga didapat nilai jarak antara objek dan sensor. Nilai jarak dapat diperoleh melalui rumus berikut ini :
Jarak (cm) = Lama Waktu Pantul (uS) / 29.034 / 2
Rumus jarak didapat dari pembagian lama waktu pantul dengan kecepatan gelombang ultrasonik dan dibagi 2 karena pada saat pemantulan terjadi dua kali jarak tempuh antara sensor dengan objek. Yaitu pada saat gelombang dipancarkan dari transmitter ke objek dan pada saat gelombang memantul ke receiver ultrasonik.
c. Output :
Aktuator : Motor
Pada dasarnya beberapa aplikasi yang menggunakan motor DC harus dapat mengatur kecepatan dan arah putar dari motor DC itu sendiri. Untuk dapat melakukan pengaturan kecepatan motor DC dapat menggunakan metode PWM (Pulse Width Modulation) sedangkan untuk mengatur arah putarannya dapat menggunakan rangkaian H-bridge yang tersusun dari 4 buah transistor. Tetapi dipasaran telah disediakan IC L293D sebagai driver motor DC yang dapat mengatur arah putar dan disediakan pin untuk input yang berasal dari PWM untuk mengatur kecepatan motor DC.
Sebelum membahas tentang IC L293D, alangkah baiknya jika kita membahas driver motor DC menggunakan rangkaian analog terlebih dahulu.
Jika diinginkan sebuah motor DC yang dapat diatur kecepatannya tanpa dapat mengatur arah putarnya, maka kita dapat menggunakan sebuah transistor sebagai driver. Untuk mengatur kecepatan putar motor DC digunakan PWM yang dibangkitkan melalui fitur Timer pada mikrokontroler. Sebagian besar power supply untuk motor DC adalah sebesar 12 V, sedangkan output PWM dari mikrokontroler maksimal sebesar 5 V. Oleh karena itu digunakan transistor sebagai penguat tegangan. Dibawah ini adalah gambar driver motor DC menggunakan transistor.
Sedangkan jika diinginkan sebuah motor DC yang dapat diatur kecepatan atau arah putarnya maka digunakanlah rangkaian H-brigde yang tersusun dari 4 buah transistor.
Dari gambar diatas jika diinginkan motor DC berputar searah jarum jam maka harus mengaktifkan transistor1 dan transistor4 dengan cara memberikan logika high pada kaki Basis transistor tersebut. Sedangkan untuk berputar berlawanan arah jarum jam maka harus mengaktifkan transistor2 dan transistor 3 dengan cara memberikan logika high pada kaki Basis transistor tersebut. Untuk lebih jelasnya perhatikan gambar dibawah ini.
Dari gambar diatas terlihat jelas bahwa dengan mengaktifkan transistor1 dan transistor4 akan menyebabkan motor DC berputar searah jarum jam. Dimana arus listrik akan mengalir dari power supply (12 V) melalui transistor1, lalu ke motor DC, lalu ke transistor4 dan akan berakhir di ground. Begitu juga sebaliknya untuk putaran berlawanan arah jarum jam.
Sedangkan untuk pengaturan kecepatannya anda dapat menghubungkan output PWM ke kaki basis transistor1 untuk putaran searah jarum jam. Dan untuk putaran berlawanan arah jarum jam, output PWM dapat dihubungkan kekaki basis transistor- transistor
Berikut adalah rangkaian dari driver l293D
- Input dan Output
Pada gambar diatas kita bisa melihat bahwa terdapat 4 input dan 4 output. pada pin input akan mengatur dan mengontrol pin output masing-masing, yaitu Input 1 akan menggontrol Output 1 dan seterusnya. Pin input akan dihubungkan dengan kontroller, seperti mikrokontroller ATmega misalnya, yang berfungsi untuk memberikan sinyal untuk mengontrol IC L293d tersebut. Sinyal yang diberi berupa logika 1 (high) atau 0 (low). Ketika pin input mendapatkan logika 1 (high) maka ouptunya akan aktif dan sebaliknya jika diberi logika 0 (low) maka output akan nonaktif atau mati (kalau logika saya disini nilai 1 akan dihubungkan dengan input daya pada VCC2, sedangkan saat diberi nilai 0 maka terhubung pada GND). Motor akan berputar jika pada kedua output (misal ouput 1 dan ouput 2) memiliki sinyal yan berbeda, jika masing-masing menerima logika 1 dan 0 atau 0 dan 1 maka motor DC dapat bergerak, namun jika memiliki nilai logika yang sama yaitu 0 dan 0 atau 1 dan 1 maka motor DC akan berhenti atau tidak berputar.
- Pin Enable
Pada rangkaian diatas juga terdapat dua pin Enable yang berada pada pin ke 1 dan 9 yang berguna untuk mengkaktifkan fungsi input dan output. Pada Enable 1 akan mengontrol input dan output 1 dan 2, sedangkan pada Enable 2 akan mengontrol Input dan output 3 dan 4. Bagaimana cara kerja pin Enable? apa pengaruhnya dengan input dan output? Jadi, jika saya logikakan pin Enable ini memberi jalan untuk masing-masing input dan output untuk aktif atau tidak, cukup memberi tegangan sebesar 4,5v-5,5v pada pin ini maka output dan input yang dikontrolnya dapat digunakan, maka jika tidak diberikan tegangan pada pin Enable maka input dan outputnya tidak bisa bekerja.
- VCC 1 dan VCC 2
Kedua pin ini memiliki peran yang berbeda, dimana VCC 1 akan digunakan untuk memberi power atau tegangan listrik pada IC L293D agar bisa bekerja dan sedangkan VCC 2 berfungsi untuk memberi arus untuk motor DC yang ingin digunakan atau di kontrol. IC tersebut dapat bekerja pada tegangan sekitar 4,4v-5,5v DC agar bekerja maksimal. jadi maksimal suplay daya untuk VCC1 hanya sebesar 4,4v-5,5v DC saja. Untuk VCC 2 kita bisa menyuplay daya sebesar 3v-16v (tegangan tersebut sudah saya coba, untuk lebih dari 16v saya sendiri belum pernah coba).
Apakah VCC1 dan VCC2 bisa disambungkan?
Bisa saja, jika motor DC yang ingin kita kontrol membutuhkan tegangan hanya sebanyak 5v saja, lebih dari itu antara VCC1 dan VCC 2 tidak dapat dihubungkan karna akan menyebabkan IC L293D panas dan kebakar.
4. Listing Program
#include <LiquidCrystal.h>
#define echoPin 21
#define trigPin 20
int speaker = 9;
#define m0 22
#define m1 23
#define m2 24
#define m3 25
long ping;
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
void setup() {
// put your setup code here, to run once:
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode (m0, OUTPUT);
pinMode (m1, OUTPUT);
pinMode (m2, OUTPUT);
pinMode (m3, OUTPUT);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Presentasi Modul 4");
delay(50);
lcd.clear();
lcd.print("UC dan UP");
delay(50);
lcd.clear();
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(5);
digitalWrite(trigPin, LOW);
ping = pulseIn(echoPin, HIGH) / 29 / 2;
lcd.clear();
if ( ping < 300)
{
analogWrite(speaker, 255); delay(500);
digitalWrite (m0, LOW);
digitalWrite (m1, LOW);
digitalWrite (m2, LOW);
digitalWrite (m3, LOW);
}
else
{
analogWrite(speaker, 0);
digitalWrite (m0, LOW);
digitalWrite (m1, HIGH);
digitalWrite (m2, LOW);
digitalWrite (m3, HIGH);
}
lcd.setCursor(0, 0);
lcd.print("Ping = ");
lcd.setCursor(7, 0);
lcd.print(ping);
lcd.print(" CM");
delay(100);
}
5. Rangkaian Simulasi
6. Foto Rangkaian Alat Hard
7. Video Rangkaian Simulasi
8. Prinsip Kerja
Rangkaian terdiri atas 3 sensor ultrasonik sebagai input, dan LCD sebagai output. Sebagai input, ultrasonik akan mengirimkan sinyal berupa jarak. Ultrasonik diletakkan pada bagian depan, kiri dan kanan.
a. 3 sensor tdk mendeteksi ritangan. : jalan lurus
b. Depan dan kanan mendeteksi rintangan : belok kiri
c. Depan dan kiri mendeteksi rintangan : belok kanan
d. 3 sensor mendeteksi rintangan : berhenti
9. Video Rangkaian Alat Hard
10. Link Download
Berikut merupakan Link download untuk Proteus
Berikut merupakan Link download untuk Video Simulasi
Berikut merupakan Link download untuk Video Alat
Berikut merupakan Link download untuk Listing Program
Komentar
Posting Komentar