- Memenuhi syarat untuk Modul 4 Praktikum Mikrokontroller & Mikroprosesor.
- Mempermudah pengguna kendaraan melewati gerbang tol dengan menggunakan pintu tol otomatis yang dirancang dengan touch sensor, dan ultrasonic sensor yang berbasis Arduino
- Mengimplementasikan komunikasi UART pada pintu tol otomatis
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 |
- · Soket USB
- · Input Analog
- · Pin POWER
- · Tombol RESET
- · Jack Baterai/Adaptor
A. LED
B. Liquid Crystal Display (LCD)
C. Ultrasonic Sensor
- 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
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 :
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
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 Resistif
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).
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);
}
1. Slave
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.
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.
Tidak ada komentar:
Posting Komentar