Tugas UAS (Pintu Garasi Otomatis)
1. Tujuan [Kembali]
2. Komponen [Kembali]
- Mengetahui prinsip kerja dari sensor ultrasonik dan motor dc
- Mengetahui pengaplikasian sensor ultrasonik dan motor dc di kehidupan sehari-hari
- Memenuhi tugas UAS dengan membuat alat gerbang garasi otomatis
- Arduino Uno
- Sensor Ultrasonic
- Motor dc
- LCD
3. Landasan Teori [kembali]
Arduino UNO
Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328 . Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya.
Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru sebagai berikut:
- Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya
- Sirkit RESET yang lebih kuat
- Atmega 16U2 menggantikan 8U2
Ringkasan
Mikrokontroler | ATmega328 |
---|---|
Tegangan pengoperasian | 5V |
Tegangan input yang disarankan | 7-12V |
Batas tegangan input | 6-20V |
Jumlah pin I/O digital | 14 (6 di antaranya menyediakan keluaran PWM) |
Jumlah pin input analog | 6 |
Arus DC tiap pin I/O | 40 mA |
Arus DC untuk pin 3.3V | 50 mA |
Memori Flash | 32 KB (ATmega328), sekitar 0.5 KB digunakan oleh bootloader |
SRAM | 2 KB (ATmega328) |
EEPROM | 1 KB (ATmega328) |
Clock Speed | 16 MHz |
Daya (Power)
Arduino UNO dapat disuplai melalui koneksi USB atau dengan sebuah power suplai eksternal. Sumber daya dipilih secara otomatis.
Suplai eksternal (non-USB) dapat diperoleh dari sebuah adaptor AC ke DC atau battery. Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board. Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor POWER.
Board Arduino UNO dapat beroperasi pada sebuah suplai eksternal 6 sampai 20 Volt. Jika disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5 Volt dan board Arduino UNO bisa menjadi tidak stabil. Jika menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino UNO. Range yang direkomendasikan adalah 7 sampai 12 Volt.
Pin-pin dayanya adalah sebagai berikut:
- VIN. Tegangan input ke Arduino board ketika board sedang menggunakan sumber suplai eksternal (seperti 5 Volt dari koneksi USB atau sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika penyuplaian tegangan melalui power jack, aksesnya melalui pin ini.
- 5V. Pin output ini merupakan tegangan 5 Volt yang diatur dari regulator pada board. Board dapat disuplai dengan salah satu suplai dari DC power jack (7-12V), USB connector (5V), atau pin VIN dari board (7-12). Penyuplaian tegangan melalui pin 5V atau 3,3V membypass regulator, dan dapat membahayakan board. Hal itu tidak dianjurkan.
- 3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus maksimum yang dapat dilalui adalah 50 mA.
- GND. Pin ground.
Input dan Output
Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm. 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.
- TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI dengan menggunakan Wire library
- 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.
Prinsip Kerja Motor DC
Terdapat dua bagian utama pada sebuah Motor Listrik DC, yaitu Stator dan Rotor. Stator adalah bagian motor yang tidak berputar, bagian yang statis ini terdiri dari rangka dan kumparan medan. Sedangkan Rotor adalah bagian yang berputar, bagian Rotor ini terdiri dari kumparan Jangkar. Dua bagian utama ini dapat dibagi lagi menjadi beberapa komponen penting yaitu diantaranya adalah Yoke (kerangka magnet), Poles (kutub motor), Field winding (kumparan medan magnet), Armature Winding (Kumparan Jangkar), Commutator (Komutator) dan Brushes (kuas/sikat arang).
Pada prinsipnya motor listrik DC menggunakan fenomena elektromagnet untuk bergerak, ketika arus listrik diberikan ke kumparan, permukaan kumparan yang bersifat utara akan bergerak menghadap ke magnet yang berkutub selatan dan kumparan yang bersifat selatan akan bergerak menghadap ke utara magnet. Saat ini, karena kutub utara kumparan bertemu dengan kutub selatan magnet ataupun kutub selatan kumparan bertemu dengan kutub utara magnet maka akan terjadi saling tarik menarik yang menyebabkan pergerakan kumparan berhenti.
Sensor Ultrasonik HC-SR04
HC-SR04 merupakan sebuah sensor ultrasonik yang dapat membaca jarak kurang lebih 2 cm hingga 4 meter. Sensor ini sangat mudah digunakan pada mikrokontroler karna menggunakan empat buah pin yang terdapat pada sensor tersebut, yaitu dua buah pin suplay daya untuk sensor ultrasonik dan dua buah pin trigger dan echo sebagai input dan output data dari sensor ke arduino.
Sensor ultrasonic bekerja dengan cara memancarkan gelombang suara ultrasonik sesaat dan kemudian akan menghasilkan output berupa pulsa yang sesuai dengan waktu pantulan dari gelombang suara ultrasonik yang dipancarkan sesaat kemudian kembali menuju sensor.
Sensor ini merupakan sensor ultrasonik siap pakai, satu alat yang berfungsi sebagai pengirim, penerima, dan pengontrol gelombang ultrasonik. Alat ini bisa digunakan untuk mengukur jarak benda dari 2cm - 4m dengan akurasi 3mm. Alat ini memiliki 4 pin, pin Vcc, Gnd, Trigger, dan Echo. Pin Vcc untuk listrik positif dan Gnd untuk ground-nya. Pin Trigger untuk trigger keluarnya sinyal dari sensor dan pin Echo untuk menangkap sinyal pantul dari benda.
Gambar sensor ultrasonik HC-SR04 |
Cara menggunakan alat ini yaitu: ketika kita memberikan tegangan positif pada pin Trigger selama 10uS, maka sensor akan mengirimkan 8 step sinyal ultrasonik dengan frekuensi 40kHz. Selanjutnya, sinyal akan diterima pada pin Echo. Untuk mengukur jarak benda yang memantulkan sinyal tersebut, maka selisih waktu ketika mengirim dan menerima sinyal digunakan untuk menentukan jarak benda tersebut. Rumus untuk menghitungnya sudah saya sampaikan di atas.
Grafik sensor respon
Gambar sistem pewaktu pada sensor HC-SR04
sumber : data sheet
|
Spesifikasi HC-SR04
- Tegangan sumber operasi 5.0 V
- Konsumsi arus 15 mA
- Frekuensi operasi 40 KHz
- Minimum jarak 0.02 m (2 cm)
- Maksimum jarak 4 m
- Sudut pantul gelombang pengukuran 15 derajat
- Minimum waktu penyulutan 10 mikrodetik dengan pulsa berlevel TTL
- Pulsa deteksi berlevel TTL dengan durasi yang bersesuaian dengan jarak deteksi
- Dimensi 45 x 20 x 15 mm
Setelah kita mengetahui sedikit informasi tentang sensor ultrasonik HC-SR04, kemudian kita akan memprogram arduino untuk mendeteksi jarak menggunakan sensor ultrasonik tersebut.
Liguid Crystal Display (LCD) 16 x 2
LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator, atau pun layar komputer. Pada postingan aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat.
Fitur LCD 16 x 2 Adapun fitur yang disajikan dalam LCD ini adalah :
a. Terdiri dari 16 karakter dan 2 baris.
b. Mempunyai 192 karakter tersimpan.
c. Terdapat karakter generator terprogram.
d. Dapat dialamati dengan mode 4-bit dan 8-bit.
e. Dilengkapi dengan back light.
Liguid Crystal Display (LCD) 16 x 2
LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator, atau pun layar komputer. Pada postingan aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat.
a. Terdiri dari 16 karakter dan 2 baris.
b. Mempunyai 192 karakter tersimpan.
c. Terdapat karakter generator terprogram.
d. Dapat dialamati dengan mode 4-bit dan 8-bit.
e. Dilengkapi dengan back light.
Spesifikasi Kaki LCD 16 x 2
Pin Deskripsi
1 Ground
2 Vcc
3 Pengatur kontras
4 “RS” Instruction/Register Select
5 “R/W” Read/Write LCD Registers
6 “EN” Enable
7-14 Data I/O Pins
15 Vcc
16 Ground
4. Prinsip Kerja Rangkaian [kembali]
Prinsip kerja : inputan berupa sensor ultrasonik yang mana nantinya apabila mendeteksi kendaraan, pin 21 trigger (memancarkan gelombang ultrasonik) dan pin 20 echo(menerima pantulan gelombang ultrasonik) akan bekerja.kemudian diproses dalam arduino dan dikeluarkan pada pin 2,3,4,5. lalu pada motor driver pin in1 dan in 2 untuk 1 motor dc. jika pada ultrasonik membaca jarak benda kecil dari 5m maka akan memutar motor ke arah kanan (untuk membuka gerbang) dimana pin in1 bernilai HIGH dan pin in2 bernilai LOW, untuk menutup gerbang maka pin in1 bernilai LOW dan pin in2 bernilai HIGH. Pada rangkaian tersebut terdapat lcd yang akan menampilkan keadaa(terbuka & tertutup) pada motor tersebut. lcd tersebut dihubungkan pada pin 14,15,16,17,18,19 pada arduino.
5. Listing Program [kembali]
#include <LiquidCrystal.h> //Masukkan library lcd
LiquidCrystal lcd(14,15,16,17,18,19); //deklarasikan pin lcd
#define echoPin 21 //deklarasikan pin sensor
#define trigPin 20 //deklarasikan pin sensor
#define in1 5 //deklarasikan pin motor driver
#define in2 4 //deklarasikan pin motor driver
#define in3 3 //deklarasikan pin motor driver
#define in4 2 //deklarasikan pin motor driver
long duration, jarak; //deklarasikan variabel duration dan jarak
void setup() {
// put your setup code here, to run once:
pinMode(trigPin, OUTPUT); // pin tersebut sebagai output
pinMode(in1, OUTPUT); // pin tersebut sebagai output
pinMode(in2, OUTPUT); // pin tersebut sebagai output
pinMode(in3, OUTPUT); // pin tersebut sebagai output
pinMode(in4, OUTPUT); // pin tersebut sebagai output
pinMode(echoPin, INPUT); //pin tersebut sebagai input
Serial.begin(9600);
lcd.begin(16,2); //lcd 16 kolom dan 2 baris
lcd.setCursor(0,0); // set cursor
lcd.print("jarak :"); //tampilkan jarak pada lcd
delay(100); // delay 100 ms
lcd.clear(); // bersihkan lcd
}
void loop() {
// put your main code here, to run repeatedly:
//mengatur sensor ultrasonik
digitalWrite(trigPin, LOW); //mengatur pin trigger low
delayMicroseconds(2); //tunggu 2 mikrosekon
digitalWrite(trigPin, HIGH); //mengatur pin trigger high
delayMicroseconds(10); // tunggu 10 mikrosekon
digitalWrite(trigPin, LOW); //mengatur pin trigger low
duration = pulseIn(echoPin, HIGH); //kalibrasi sensor
jarak = (duration/2)/29.1; //nilai jarak
//pernyataan kondisi yang diinginkan
if (jarak <= 500)
{
digitalWrite(in1, HIGH); //mengatur pin in1 high
digitalWrite(in2, LOW); //mengatur pin in2 low
digitalWrite(in3, HIGH); //mengatur pin in3 high
digitalWrite(in4, LOW); //mengatur pin in4 low
lcd.setCursor(0,1); //tampilkan tulisan pada baris 2
lcd.print(jarak); //tampilkan jarak
delay(1000); //tunggu 1 detik
digitalWrite(in1, LOW); //mengatur pin in1 low
digitalWrite(in2, LOW); //mengatur pin in2 low
digitalWrite(in3, LOW); //mengatur pin in3 low
digitalWrite(in4, LOW); //mengatur pin in4 low
delay(1000); //tunggu 1 detik
digitalWrite(in1, LOW); //mengatur pin in1 low
digitalWrite(in2, HIGH); //mengatur pin in2 high
digitalWrite(in3, LOW); //mengatur pin in3 low
digitalWrite(in4, HIGH); //mengatur pin in4 high
delay(1000); //tunggu 1 detik
digitalWrite(in1, LOW); //mengatur pin in1 low
digitalWrite(in2, LOW); //mengatur pin in2 low
digitalWrite(in3, LOW); //mengatur pin in3 low
digitalWrite(in4, LOW); //mengatur pin in4 low
delay(1000); //tunggu 1 detik
}
else
{
digitalWrite(in1, LOW); //mengatur pin in1 low
digitalWrite(in2, LOW); //mengatur pin in2 low
digitalWrite(in3, LOW); //mengatur pin in3 low
digitalWrite(in4, LOW); //mengatur pin in4 low
lcd.setCursor(0,1); //tampilkan tulisan pada baris 2
lcd.print(jarak); //tampilkan jarak
}
}
6. Flowchart [kembali]
7. Video Simulasi [kembali]
8. Link Download [kembali]
Download Visual Desainer Disini
Download Video panduan Disini
Download Program Disini
Download Rangkaian proteus Disini
Download video alat Disini
Komentar
Posting Komentar