MODUL 4



  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


 
Power Supply

 

Multimeter



Modul Arduino


LED 

LCD




 
A.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.

A. LED

LED adalah suaatu semikonduktor yang memancarkan cahaya,  LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati  LED. Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.

B. Liquid Crystal Display (LCD)

Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untuk
menampilkan output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter polarisasi (polarizing filter).


Gambar Penampang komponen penyusun LCD
Keterangan:
1. Film dengan polarizing filter vertical untuk memolarisasi cahaya yang masuk.
2. Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide (ITO).
3. Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).
4. Glass substrate yang berisi baris-baris elektroda Indium tin oxide (ITO).
5. Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang masuk.
6. Reflektor cahaya untuk memantulkan cahaya yang masuk LCD kembali ke mata pengamat.

Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol tampilan LCD dengan mudah dengan menggunakan mikrokontroler untuk mengirimkan data melalui pin-pin input yang sudah tersedia.


Kaki-kaki yang terdapat pada LCD

C. Ultrasonic Sensor

Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu.


cara kerja sensor ultrasonik adalah sebagai berikut:
  • Sinyal dipancarkan oleh pemancar ultrasonik dengan frekuensi tertentu dan dengan durasi waktu tertentu. Sinyal tersebut berfrekuensi diatas 20kHz. Untuk mengukur jarak benda (sensor jarak), frekuensi yang umum digunakan adalah 40kHz.
  • Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan kecepatan sekitar 340 m/s. Ketika menumbuk suatu benda, maka sinyal tersebut akan dipantulkan oleh benda tersebut.
  • Setelah gelombang pantulan sampai di alat penerima, maka sinyal tersebut akan diproses untuk menghitung jarak benda tersebut. Jarak benda dihitung berdasarkan rumus : S = 340.t/2
dimana S merupakan jarak antara sensor ultrasonik dengan benda (bidang pantul), dan t adalah selisih antara waktu pemancaran gelombang oleh transmitter dan waktu ketika gelombang pantul diterima receiver.

D. Resistor

Resistor merupakan komponen penting dan sering dijumpai dalam sirkuit Elektronik. Boleh dikatakan hampir setiap sirkuit Elektronik pasti ada Resistor. Tetapi banyak diantara kita yang bekerja di perusahaan perakitan Elektronik maupun yang menggunakan peralatan Elektronik tersebut tidak mengetahui cara membaca kode warna ataupun kode angka yang ada ditubuh Resistor itu sendiri.

Seperti yang dikatakan sebelumnya, nilai Resistor yang berbentuk Axial adalah diwakili oleh Warna-warna yang terdapat di tubuh (body) Resistor itu sendiri dalam bentuk Gelang. Umumnya terdapat 4 Gelang di tubuh Resistor, tetapi ada juga yang 5 Gelang.

Gelang warna Emas dan Perak biasanya terletak agak jauh dari gelang warna lainnya sebagai tanda gelang terakhir. Gelang Terakhirnya ini juga merupakan nilai toleransi pada nilai Resistor yang bersangkutan.

Tabel dibawah ini adalah warna-warna yang terdapat di Tubuh Resistor :


Tabel Kode Warna Resistor
Perhitungan untuk Resistor dengan 4 Gelang warna :


Cara menghitung nilai resistor 4 gelang

Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan Jumlah nol dari kode warna Gelang ke-3 atau pangkatkan angka tersebut dengan 10 (10n)
Merupakan Toleransi dari nilai Resistor tersebut

Contoh :

Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 4 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1 MOhm dengan toleransi 10%.
Perhitungan untuk Resistor dengan 5 Gelang warna :


Cara Menghitung Nilai Resistor 5 Gelang Warna

Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan angka langsung dari kode warna Gelang ke-3
Masukkan Jumlah nol dari kode warna Gelang ke-4 atau pangkatkan angka tersebut dengan 10 (10n)
Merupakan Toleransi dari nilai Resistor tersebut

Contoh :

Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5
Gelang ke 4 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 5 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 105 * 105 = 10.500.000 Ohm atau 10,5 MOhm dengan toleransi 10%.

 

Contoh-contoh perhitungan lainnya :

Merah, Merah, Merah, Emas → 22 * 10² = 2.200 Ohm atau 2,2 Kilo Ohm dengan 5% toleransi
Kuning, Ungu, Orange, Perak → 47 * 10³ = 47.000 Ohm atau 47 Kilo Ohm dengan 10% toleransi

Cara menghitung Toleransi :
2.200 Ohm dengan Toleransi 5% =
2200 – 5% = 2.090
2200 + 5% = 2.310
ini artinya nilai Resistor tersebut akan berkisar antara 2.090 Ohm ~ 2.310 Ohm
 
E. 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.

Berdasarkan fungsinya, Sensor Sentuh dapat dibedakan menjadi dua jenis utama yaitu Sensor Kapasitif dan Sensor Resistif. Sensor Kapasitif atau Capacitive Sensor bekerja dengan mengukur kapasitansi sedangkan sensor Resistif bekerja dengan mengukur tekanan yang diberikan pada permukaannya.

  • Sensor Kapasitif
Sensor Kapasitif memanfaatkan sifat konduktif alami pada tubuh manusia untuk mendeteksi perubahan layar sentuhnya. Layar sentuh sensor kapasitif ini terbuat dari bahan konduktif (biasanya Indium Tin Oxide atau disingkat dengan ITO) yang dilapisi oleh kaca tipis dan hanya bisa disentuh oleh jari manusia atau stylus khusus ataupun sarung khusus yang memiliki sifat konduktif.
  • Sensor Resistif
Sensor Resistif bekerja dengan mengukur tekanan yang diberikan pada permukaannya. Karena tidak perlu mengukur perbedaan kapasitansi, sensor sentuh resistif ini dapat beroperasi pada bahan non-konduktif seperti pena, stylus atau jari di dalam sarung tangan.

Sensor sentuh resistif terdiri dari dua lapisan konduktif yang dipisahkan oleh jarak atau celah yang sangat kecil. Dua lapisan konduktif (lapisan atas dan lapisan bawah) ini pada dasarnya terbuat dari sebuah film. Film-film umumnya dilapisi oleh Indium Tin Oxide yang merupakan konduktor listrik yang baik dan juga transparan (bening).

F. Motor Servo

Motor servo adalah perangkat listrik yang dapat mendorong atau memutar suatu benda dengan sangat presisi. Motor servo adalah sebuah motor DC yang dilengkapi rangkaian kendali dengan sistem closed feedback yang terintegrasi dalam motor tersebut. Pada motor servo posisi putaran sumbu (axis) dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo.

Pulsa Kendali Motor Servo
Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan sinyal PWM dengan frekuensi 50 Hz. Dimana pada saat sinyal dengan frekuensi 50 Hz tersebut dicapai pada kondisi Ton duty cycle 1.5 ms, maka rotor dari motor akan berhenti tepat di tengah-tengah (sudut 0°/ netral). Pada saat Ton duty cycle dari sinyal yang diberikan kurang dari 1.5 ms, maka rotor akan berputar ke berlawanan arah jarum jam (Counter Clock wise, CCW) dengan membentuk sudut yang besarnya linier terhadap besarnya Ton duty cycle, dan akan bertahan diposisi tersebut. Dan sebaliknya, jika Ton duty cycle dari sinyal yang diberikan lebih dari 1.5 ms, maka rotor akan berputar searah jarum jam (Clock Wise, CW)  dengan membentuk sudut yang linier pula terhadap besarnya Ton duty cycle, dan bertahan diposisi tersebut.

G. Multimeter

Multimeter adalah suatu alat ukur listrik yang digunakan untuk mengukur tiga jenis besaran listrik yaitu arus listrik, tegangan listrik, dan hambatan listrik. Sebutan lain untuk multimeter adalah AVO-meter yang merupakan singkatan dari satuan Ampere, Volt, dan Ohm 

a. Hardware[kembali]


Arduino

Breadboard

Jumper

LCD

LED

Motor Servo

Touch Sensor


Ultrasonic Sensor

 

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);

}

d. Flowchart [kembali]

1. Slave

2. Master




 



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.


f. 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.



Portal Otomatis adalah sebuah system untuk tol dimana terdapat kontrol portal untuk membuka dan menutup portal secara otomatis dengan memanfaatkan Ultrasonic Sensor dan Touch SensorKomponen 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.hingga tidak bisa menyala tanpa merusak LED karena kelebihan arus dan tegangan.








Tidak ada komentar:

Posting Komentar