[KEMBALI KE MENU SEBELUMNYA]


PINTU TOL OTOMATIS


  1. Memenuhi syarat untuk Modul 4 Praktikum Mikrokontroller & Mikroprosesor.
  2. Mempermudah pengguna kendaraan melewati gerbang tol dengan menggunakan pintu tol otomatis yang dirancang dengan touch sensor, dan ultrasonic sensor yang berbasis Arduino
  3. Mengimplementasikan komunikasi UART pada pintu tol otomatis


    1. Breadboard
    2. Arduino uno
    3. LCD

    4. LED

    5. Jumper
    6. Touch Sensor
    7. Sensor Ultrasonic

    8. Motor Servo




1. Arduino Uno
Gambar 1.Arduino Uno
Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya. Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.
Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam serangkaian board USB Arduino, dan sebagai model referensi untuk platform Arduino, untuk perbandingan dengan versi sebelumnya, lihat indeks board Arduino 
SPESIFIKASI

    SPESIFIKASI

    Arduino Uno

    Microcontroller

    ATmega328P

    Operating Voltage     

    5V

    Input Voltage (recommended)

    7-12V

    Input Voltage (limit)  

    6-20V

    Digital I/O Pins          

    14 (of which 6 provide PWM output)

    PWM Digital I/O Pins

    6

    Analog Input Pins      

    6

    DC Current per I/O Pin         

    20 mA

    DC Current for 3.3V Pin       

    50 mA

    Flash Memory 32 KB

    (ATmega328P)

    SRAM

    2 KB (ATmega328P)

    EEPROM       

    1 KB (ATmega328P)

    Clock Speed   

    16 MHz

    LED_BUILTIN

    13

    Length

    68.6 mm

    Width

    53.4 mm

    Weight

Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal (otomatis). Daya Eksternal (non-USB) dapat berasal baik dari AC-ke adaptor-DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam Gnd dan Vin pin header dari konektor POWER. Kisaran kebutuhan daya yang disarankan untuk board Uno adalah7 sampai dengan 12 V, jika diberi daya kurang dari 7 V kemungkinan pin 5 V Uno dapat beroperasi tetapi tidak stabil kemudian jika diberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat merusak board Uno. Pin listrik adalah sebagai berikut:
a) VIN. Tegangan masukan kepada board Arduino ketika itu menggunakan sumber daya eksternal (sebagai pengganti dari 5volt koneksi USB atau sumber daya lainnya).
b) 5V. Catu daya digunakan untuk daya mikrokontroler dan komponen lainnya.
c) 3v3. Sebuah pasokan 3,3volt dihasilkan oleh regulator on-board.
d) GND. Ground pin. Input dan output masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode (), digitalWrite (), dan digitalRead (), beroperasi dengan daya 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki internal pull-up resistor (secara default terputus) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus:
e) Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial ATmega8U2 USB-to-TTL.
f) Eksternal menyela: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan nilai. Lihat (attachInterrupt) fungsi untuk rincian lebih lanjut.
g) PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi analogWrite ().
h) SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan SPI library.
i) LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai HIGH, LED on, ketika pin bernilai LOW, LED off. Arduino Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang masing-masing menyediakan 10bit dengan resolusi (yaitu 1024 nilai yang berbeda). Selain itu, beberapa pin memiliki fungsi khusus:
j) I2C: A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi menggunakan perpustakaan Wire.
k) Aref. Tegangan referensi (0 sampai 5V saja) untuk input analog. Digunakan dengan fungsi analogReference ().
l) Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.

Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya. Atmega328 menyediakan UART TTL (5V) untuk komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah Atmega8U2 sebagai saluran komunikasi serial melalui USB dan sebagai port virtual com untuk perangkat lunak pada komputer. Firmware ’8 U2 menggunakan driver USB standar COM, dan tidak ada driver eksternal yang diperlukan. Namun, pada Windows diperlukan, sebuah file inf.
Perangkat lunak Arduino terdapat monitor serial yang memungkinkan digunakan memonitor data tekstual sederhana yang akan dikirim komputer dari board Arduino. LED RX dan TX di papan tulis akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dengan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1). Sebuah SoftwareSerial library memungkinkan untuk berkomunikasi secara serial pada salah satu pin digital pada board Uno. Atmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan penggunaan bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi SPI, menggunakan perpustakaan SPI


2. LED
 
Gambar 2. LED
LED merupakan sebuah komponen yang menghasilkan cahaya monokromatik ketika diberi tegangan. LED terbuat dari semikonduktor dan perbedaan warna yang dihasilkan disebabkan perbedaan bahan semikonduktor yang digunakan. LED merupakan keluarga dari Dioda yang terbuat dari Semikonduktor. Cara kerjanya pun hampir sama dengan Dioda yang memiliki dua kutub yaitu kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias forward) dari Anoda menuju ke Katoda.
LED terdiri dari sebuah chip semikonduktor yang di doping sehingga menciptakan junction P dan N. Yang dimaksud dengan proses doping dalam semikonduktor adalah proses untuk menambahkan ketidakmurnian (impurity) pada semikonduktor yang murni sehingga menghasilkan karakteristik kelistrikan yang diinginkan. Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan Elektron pada N-Type material akan berpindah ke wilayah yang kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif (P-Type material). Saat Elektron berjumpa dengan Hole akan melepaskan photon dan memancarkan cahaya monokromatik (satu warna).


3. Ultrasonic Sensor

sensor jarak yang umum digunakan dalam penggunaan untuk mendeteksi jarak yaitu sensor ultrasonik. Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya.
 
Gambar 3. Ultrasonic Sensor
Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik (bunyi ultrasonik). Gelombang ultrasonik adalah gelombang bunyi yang mempunyai frekuensi sangat tinggi yaitu 20.000 Hz. Karena kecepatan bunyi adalah 340 m/s, maka rumus untuk mencari jarak berdasarkan ultrasonik adalah:
Keterangan:
S = jarak antara sensor ultrasonik dengan benda (bidang pantul),
t = selisih antara waktu pemancaran gelombang oleh transmitter dan waktu Ketika gelombang pantul diterima receiver.

Berikut Algoritma membaca data ultrasonik:
1. Beri tegangan positif pada pin Trigger selama 10µS, maka sensor akan mengirimkan 8 step sinyal ultrasonik dengan frekuensi 40kHz 
2. Selanjutnya, sinyal akan diterima pada pin Echo 
3. Rumus untuk menghitung jaraknya adalah S = (0.034 *t) /2 cm.

Bentuk diagram waktu cara kerja sensor ultrasonik dapat dilihat pada Gambar dibawah ini 


4. LCD (LM016L)
 
Gambar 14.LCD
LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya.
Teknologi Display LCD ini memungkinkan produk-produk elektronik dibuat menjadi jauh lebih tipis jika dibanding dengan teknologi Tabung Sinar Katoda (Cathode Ray Tube atau CRT). Jika dibandingkan dengan teknologi CRT, LCD juga jauh lebih hemat dalam mengkonsumsi daya karena LCD bekerja berdasarkan prinsip pemblokiran cahaya sedangkan CRT berdasarkan prinsip pemancaran cahaya. Namun LCD membutuhkan lampu backlight (cahaya latar belakang) sebagai cahaya pendukung karena LCD sendiri tidak memancarkan cahaya. Beberapa jenis backlight yang umum digunakan untuk LCD diantaranya adalah backlight CCFL (Cold cathode fluorescent lamps) dan backlight LED (Light-emitting diodes).
LCD atau Liquid Crystal Display pada dasarnya terdiri dari dua bagian utama yaitu bagian Backlight (Lampu Latar Belakang) dan bagian Liquid Crystal (Kristal Cair). Seperti yang disebutkan sebelumnya, LCD tidak memancarkan pencahayaan apapun, LCD hanya merefleksikan dan mentransmisikan cahaya yang melewatinya. Oleh karena itu, LCD memerlukan Backlight atau Cahaya latar belakang untuk sumber cahayanya. Cahaya Backlight tersebut pada umumnya adalah berwarna putih. Sedangkan Kristal Cair (Liquid Crystal) sendiri adalah cairan organik yang berada diantara dua lembar kaca yang memiliki permukaan transparan yang konduktif.
Bagian-bagian LCD atau Liquid Crystal Display diantaranya adalah:
Lapisan Terpolarisasi 1 (Polarizing Film 1)
Elektroda Positif (Positive Electrode)
Lapisan Kristal Cair (Liquid Cristal Layer)
Elektroda Negatif (Negative Electrode)
Lapisan Terpolarisasi 2 (Polarizing film 2)
Backlight atau Cermin (Backlight or Mirror)
Dibawah ini adalah gambar struktur dasar sebuah LCD:
 
Gambar  Struktur LCD
LCD yang digunakan pada Kalkulator dan Jam Tangan digital pada umumnya menggunakan Cermin untuk memantulkan cahaya alami agar dapat menghasilkan digit yang terlihat di layar. Sedangkan LCD yang lebih modern dan berkekuatan tinggi seperti TV, Laptop dan Ponsel Pintar menggunakan lampu Backlight (Lampu Latar Belakang) untuk menerangi piksel kristal cair. Lampu Backlight tersebut pada umumnya berbentuk persegi panjang atau strip lampu Flourescent atau Light Emitting Diode (LED). Cahaya putih adalah cahaya terdiri dari ratusan cahaya warna yang berbeda. Ratusan warna cahaya tersebut akan terlihat apabila cahaya putih mengalami refleksi atau perubahan arah sinar. Artinya, jika beda sudut refleksi maka berbeda pula warna cahaya yang dihasilkan.
Backlight LCD yang berwarna putih akan memberikan pencahayaan pada Kristal Cair atau Liquid Crystal. Kristal cair tersebut akan menyaring backlight yang diterimanya dan merefleksikannya sesuai dengan sudut yang diinginkan sehingga menghasilkan warna yang dibutuhkan. Sudut Kristal Cair akan berubah apabila diberikan tegangan dengan nilai tertentu. Karena dengan perubahan sudut dan penyaringan cahaya backlight pada kristal cair tersebut, cahaya backlight yang sebelumnya adalah berwarna putih dapat berubah menjadi berbagai warna.
Jika ingin menghasilkan warna putih, maka kristal cair akan dibuka selebar-lebarnya sehingga cahaya backlight yang berwarna putih dapat ditampilkan sepenuhnya. Sebaliknya, apabila ingin menampilkan warna hitam, maka kristal cair harus ditutup serapat-rapatnya sehingga tidak adalah cahaya backlight yang dapat menembus. Dan apabila menginginkan warna lainnya, maka diperlukan pengaturan sudut refleksi kristal cair yang bersangkutan.

5. Papan Breadboard
Breadboard merupakan sebuah board atau papan yang berfungsi untuk merancang sebuah rangkaian elektronik sederhana. Breadboard tersebut nantinya akan dilakukan prototipe atau uji coba tanpa harus melakukan solder. Umumnya breadboard terbuat dari bahan plastik yang juga sudah terdapat berbagai lubang. Lubang tersebut sudah diatur sebelumnya sehingga membentuk pola yang didasarkan pada pola jaringan di dalamnya. Selain itu, breadboard yang bisa ditemukan di pasaran umumnya dibagi menjadi 3 ukuran. Pertama dinamakan sebagai mini breadboard, kedua disebut medium breadboard, dan yang terakhir dinamakan sebagai large breadboard. Untuk mini breadboard, ia memiliki kurang lebih 170 titik.
Sementara untuk medium breadboard sudah dilengkapi dengan kurang lebih 400 titik. Large breadboard memiliki lubang kurang lebih 830. Seperti gambar yang sudah ada di atas, bahwa mini breadboard memiliki 200 titik hubung. Di bagian kanan sudah bisa dilihat pola layout yang digambarkan dengan garis biru. Di sini bisa dilihat beberapa tulisan mulai dari A sampai dengan J.
Setelah itu masih ada angka 1,5, 10, 15, maupun 20. Perpaduan antara huruf dan juga angka tersebut merupakan sebuah koordinat. Misalnya, A1, B1, sampai dengan E1 saling terkoneksi berdasarkan pola koneksinya (Bisa dilihat pada gambar berwarna biru). Sementara untuk A2 sampai dengan E2, A3 sampai dengan E3, F1 sampai dengan J1, dan seterusnya. Dengan memahami pola tersebut, maka kita nanti bisa membuat sebuah prototipe sehingga kita tidak bingung ketika harus menempatkan komponen-komponen elektronik tersebut sesuai dengan tempatnya masing-masing.

6. Kabel Jumper
jumper adalah kabel elektrik yang memiliki pin konektor di setiap ujungnya dan memungkinkanmu untuk menghubungkan dua komponen yang melibatkan Arduino tanpa memerlukan solder.

Intinya kegunaan kabel jumper ini adalah sebagai konduktor listrik untuk menyambungkan rangkaian listrik.
Macam-Macam Kabel Jumper Arduino
Jenis jenis kabel jumper yang paling umum adalah sebagai berikut:
    1. Kabel Jumper Male to Male
Jenis yang pertama adalah kabel jumper male male. Kabel jumper male to male adalah adalah jenis yang sangat yang sangat cocok untuk kamu yang mau membuat rangkaian elektronik di breadboard.

    2. Kabel Jumper Male to Female 
Kabel jumper male female memiliki ujung konektor yang berbeda pada tiap ujungnya, yaitu male dan female. Biasanya kabel ini digunakan untuk menghubungkan komponen elektronika selain Arduino ke breadboard 

    3. Kabel Jumper Female to Female 
Jenis kabel jumper yang terakhir adalah kabel female to female. Kabel ini sangat cocok untuk menghubungkan antar komponen yang memiliki  header male. contohnya seperti sensor ultrasonik HC-SR04, sensor suhu DHT, dan masih banyak lagi.


7. Touch Sensor
Touch Sensor atau Sensor Sentuh adalah sensor elektronik yang dapat mendeteksi sentuhan. Sensor Sentuh ini pada dasarnya beroperasi sebagai sakelar apabila disentuh, seperti sakelar pada lampu, layar sentuh ponsel dan lain sebagainya. Sensor Sentuh ini dikenal juga sebagai Sensor Taktil (Tactile Sensor). Seiring dengan perkembangan teknologi, sensor sentuh ini semakin banyak digunakan dan telah menggeser peranan sakelar mekanik pada perangkat-perangkat elektronik.


8. Motor Servo
 
Gambar Motor Servo
Motor servo menggunakan dengan sistem umpan balik tertutup, di mana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor. Karena motor DC servo merupakan alat untuk mengubah energi listrik menjadi energy mekanik, maka magnit permanent motor DC servolah yang mengubah energi listrik ke dalam energi mekanik melalui interaksi dari dua medan magnit. Salah satu medan dihasilkan oleh magnit permanent dan yang satunya dihasilkan oleh arus yang mengalir dalam kumparan motor. Resultan dari dua medan magnit tersebut menghasilkan torsi yang membangkitkan putaran motor tersebut. Saat motor berputar, arus pada kumparan motor menghasilkan torsi yang nilainya konstan.
Untuk dapat mengontrol motor servo kita perlu memberikan pulsa high dan pulsa low dengan lebar tertentu. Frekuensi yang diperlukan adalah 50 Hz. Pulsa ini dapat dihasilkan dengan port I/O biasa pada mikrokontroler. Namun terkadang dengan cara ini pergerakan servo menjadi kurang akurat. Oleh karena itu digunakan metode Pulse Width Modulation (PWM). Dengan metode PWM dapat dihasilkan gerakan servo yang cukup akurat dengan resolusi yang kita sesuaikan dengan keinginan kita.
Berikut ini adalah salah satu contoh pulsa yang dihasilkan untuk menggerakan servo dengan sudut 0 derajat,90 derajat, dan 180 derajat
Gambar Pensinyalan Motor Servo
Pulsa ini dapat dihasilkan dari pin OCR pada mikrokontroler. Perlu pengaturan register timer pada mikrokontroler agar dapat dihasilkan pulsa dengan lebar yang sesuai kita inginkan. Hal yang sangat penting adalah pengaturan frekuensi dan lebar pulsa on dan pulsa off. Oleh karena itu perlu dihitung berapa konstanta-konstanta timer yang di atur pada mikrokontroler.
Dua parameter utama yang diperlukan untuk mencari konstanta-konstanta timer adalah nilai clock mikrokontroler dan nilai clock timer (ditentukan dari prescaler). Dari kedua parameter itu kita dapat merancang lebar pulsa high dan pulsa low dengan frekuensi tertentu yang sesuai untuk menggerakan motor servo, seperti pulsa pada gambar di atas.


4. Listing Program [kembali]

1.      MASTER

#include <LiquidCrystal.h>

const int rs = 12, en = 11, d4 = 5, d5 = 6, d6 = 7, d7 = 8;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7); 

bool ultrasonic = false;

#include <SoftwareSerial.h>

//                      rx tx

SoftwareSerial mySerial(2, 4);

#define red A0

#define green A1

#include <Servo.h> //library servo

Servo myservo; // membuat variabel servo untuk dikendalikan

int pos = 0;

void setup() {

  // put your setup code here, to run once:

  pinMode(10, OUTPUT);

  analogWrite(10, 80);

  lcd.begin(16, 2);

  pinMode(red, OUTPUT);

  pinMode(green, OUTPUT);

  myservo.attach(9); //deklarasi servo pada pin 9

  mySerial.begin(9600);

  Serial.begin(9600);

  myservo.write(90);

  lcd.clear();

}

void loop() {

  // put your main code here, to run repeatedly:

  if (mySerial.available() > 0) {

    int data = mySerial.read();

    if (data == 1) {

      digitalWrite(red, HIGH);

      digitalWrite(green, LOW);

      Serial.println("terdeteksi");

      ultrasonic = true;

      lcd.clear();

      lcd.setCursor(0, 0);

      lcd.print("Silahkan Sentuh");

    }

    else if (data == 3 && ultrasonic == true) {

      myservo.write(30);

      digitalWrite(green, HIGH);

      digitalWrite(red, LOW);

      lcd.clear();

      lcd.setCursor(0, 0);

      lcd.print("silahkan lewat");

      lcd.setCursor(0, 1);

      lcd.print("Terima Kasih");

      delay(5000);

      digitalWrite(green, LOW);

      myservo.write(90);

      lcd.clear();

      ultrasonic = false;

    }

  }

}

 

2.      SLAVE

#include <SoftwareSerial.h>

//                      rx tx

SoftwareSerial mySerial(2, 4);

#define touch 8

int echoPin = 5; //mendeklarasikan variabel echoPin dengan tipe data integer dan nilai =6

int trigPin = 6; //mendeklarasikan variabel echoPin dengan tipe data integer dan nilai =6

long duration; //mendeklarasikan variabel duration dengan tipe data long

int distanceCm; //mendeklarasikan variabel duration dengan tipe data integer

void setup()

{

  pinMode(touch, INPUT);

  pinMode(echoPin, INPUT);

  pinMode(trigPin, OUTPUT);

  Serial.begin(9600);

  mySerial.begin(9600);

}

void loop()

{

  digitalWrite(echoPin, HIGH); //memerintahkan pada trigPin untuk mengeluarkan data HIGH

  delayMicroseconds(2); //memberikan jeda waktu selama 5 mikrodetik

  digitalWrite(trigPin, LOW); //memerintahkan pada trigPin untuk mengeluarkan data LOW

  delayMicroseconds(10); //memberikan jeda waktu selama 10 mikrodetik

  digitalWrite(trigPin, HIGH); //memerintahkan pada trigPin untuk mengeluarkan data HIGH

  duration = pulseIn(echoPin, HIGH); //pulseIn mentotal waktu tunggu dari echoPin saat HIGH

  distanceCm = duration * 0.034 / 2; // rumus kecepatan suara

  Serial.println(distanceCm);

  int valueTouch = digitalRead(touch);

  if (distanceCm <= 9) {

    mySerial.write(1);

    Serial.println("terdeteksi");

  }

  else {

    mySerial.write(2);

  }

  if (valueTouch == HIGH ) {

    mySerial.write(3);

  }

  else {

    mySerial.write(4);

  }

  delay(10);

}


·       Flowchart Master




·       Flowchart Slave



Pada percobaan ini terdapat 2 sensor, yaitu touch sensor dan ultrasonik sensor, disini sensor - sensor tersebut digunakan sebagai input.  Dan disini juga mengunakan 2 arduino yang berfungsi sebagai slave dan master. Untuk Arduino master dihubungkan dengan komponen output yaitu LCD, LED, dan motor servo. Pada motor servo kaki output dihubungkan dengan pin 9 digital master, dan 2 kaki lainnya dihubungkan dengan ground dan vcc. Untuk LED merah dihubungkan dengan pin A0 master dan led hijau dihubungkan dengan pin A1 master. Pada LCD, pin vss dihubungkan dengan ground, vdd dihubungkan dengan vcc, v0 dihubungkan dengan pin 10 digital pada master, rs dihubungkan dengan pin 12 digital master, rw dihubungkan dengan ground, pin enable dihubungkan dengan pin 11, pin D4 dihubungkan dengan pin 5 digital, D5 dihubungkan dengan pin 6, pin D6 dihubungkan dengan pin 7, pin D7 dihubungkan dengan pin 8 digital master, pin A dihubungkan dengan vcc dan pin K dihubungkan dengan ground. Dan disini arduino slave akan dihubungkan dengan komponen-komponen inputan, seperti touch sensor dan ultrasonic sensor. Pada kaki echo ultrasonic sensor akan dihubungkan ke pin 5 digital slave, kaki trigger ultrasonic  sensor akan dihubungkan ke pin 6 digital slave dan 2 buah kaki lainnya ultrasonic sensor akan dihubungkan ke ground dan vcc. Pada touch sensor, kaki output akan dihubungkan ke pin 8 digital slave dan 2 buah kaki lainnya akan dihubungkan ke ground dan vcc. Pintu tol otomatis ini memiliki prinsip kerja, yaitu ketika sensor ultrasonik mendeteksi adanya mobil yg mendekat, maka sensor tersebut akan memberikan output LED merah menyala dan tulisan silahkan menekan touch sensor pada LCD, selanjutnya kita akan menekan touch sensor, yang mana outputnya adalah motor servo(portal tol), jadi motor servo tersebut akan bergerak membuka portal, dan output lainnya adalah LED hijau menyala dan Kata silahkan jalan, terima kasih pada LCD.


9. Video [kembali]


Rangkaian portal otomatis terdiri dari beberapa komponen penyusunnya yaitu dua buah Arduino uno sebagai master dan slave, sensor ultrasonic dan sensor sentuh sebagai inputan, motor, lcd dan led sebagai output. Komunikasi yang digunakan pada rangkaian ini adalah UART (Universal Asynchronous Receiver Transmitter) merupakan metode komunikasi serial dimana digunakannya dua komponen Arduino sebagai master dan slave. Master dihubungkan dengan komponen output dan slave dihubungkan dengan komponen input.

Prinsip kerja pada rangkaian ini adalah, pertama sensor ultrasonic dihubungkan dengan Arduino master dengan kaki echo pada ultrasonic dihubungkan ke pin 5 digital Arduino slave, kaki trigger ultrasonic dihubungkan ke pin 6 digital slave. Dan 2 buah kaki lainnya ke ground dan vcc. Selanjutnya pada sensor sentuh, kaki output dihubungkan ke pin 8 digital slave. Dan 2 buah kaki lainnya ke ground dan vcc.

Selanjutnya pada Arduino master terhubung dengan komponen output yaitu LCD, LED, dan motor servo. Pertama pada motor servo kaki output terhubung dengan pin 9 digital master, dan 2 kaki lainnya terhubung dengan ground dan vcc. Selanjutnya led merah terhubung dengan pin A0 master dan led hijau terhubung dengan pin A1 master. Selanjutnya pada LCD, pin vss terhubung dengan ground, vdd terhubung dengan vcc, v0 terhubung dengan pin 10 digital pada master, rs terhubung dengan pin 12 digital master, rw terhubung dengan ground, pin enable terhubung dengan pin 11, pin D4 terhubung dengan pin 5 digital, D5 terhubung dengan pin 6, pin D6 terhubung dengan pin 7, pin D7 terhubung dengan pin 8 digital master, pin A terhubung dengan vcc dan pin K terhubung dengan ground.

Portal otomatis ini bekerja saat sensor ultrasonic mendeteksi kendaraan yang mendekat dengan jarak kurang atau sama dengan 9 cm. jika terdeteksi kendaraan maka lampu led merah akan menyala dan pada lcd akan menampilkan tulisan “ silahkan sentuh”. Saat oengemudi sudah menyentuh sensor sentuh tersebut maka motor servo akan membuka portal dan lampu led hijau menyala serta pada lcd akan menampilkan tulisan “ silahkan jalan terima kasih”. Setelah 5 detik maka portal akan otomatis menutup portal kembali.

 

11. Kesimpulan [kembali]

Portal Otomatis adalah sebuah system untuk tol dimana terdapat kontrol portal untuk membuka dan menutup portal secara otomatis dengan memanfaatkan Ultrasonic Sensor dan Touch Sensor. Komponen yang digunakan antara lain Arduino, LCD, LED, motor servo, Ultrasonic Sensor dan Touch Sensor. Ketika ultrasonic sensor  mendeteksi adanya kendaraan maka LED merah akan menyala dan LCD akan menampilkan tulisan “Silahkan Sentuh”. Selanjutnya Touch Sensor akan berfungsi ketika Ultrasonic Sensor telah mendeteksi adanya kendaraan, dimana Ketika touch sensor disentuh, maka LED hijau akan menyala dan motor servo akan bergerak sebesar 90o sehingga portal terbuka serta terdapat tampilan “Silahkan Lewat Terima kasih” pada LCD. Kemudian setelah beberapa saat, LED dan LCD akan mati secara otomatis serta motor servo akan Kembali ke posisi semula sehingga portal akan menutup kembali sesuai waktu yang telah ditentukan pada program.