Tugas UAS (Pintu Garasi Otomatis)


Pintu Garasi Otomatis
[KEMBALI KE MENU SEBELUMNYA]



1. Tujuan [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
2. Komponen [Kembali]
  • 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 
MikrokontrolerATmega328
Tegangan pengoperasian5V
Tegangan input yang disarankan7-12V
Batas tegangan input6-20V
Jumlah pin I/O digital14 (6 di antaranya menyediakan keluaran PWM)
Jumlah pin input analog6
Arus DC tiap pin I/O40 mA
Arus DC untuk pin 3.3V50 mA
Memori Flash32 KB (ATmega328), sekitar 0.5 KB digunakan oleh bootloader
SRAM2 KB (ATmega328)
EEPROM1 KB (ATmega328)
Clock Speed16 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.
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. 

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
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 pewaktu pada sensor hc-sr04
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.




 
Gambar: Bentuk Fisik LCD 16 x 2







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

Postingan populer dari blog ini

PRAKTIKUM ELEKTRONIKA & SISTEM DIGITAL

KULIAH MIKROPROSESOR DAN MIKROKONTROLER 2018