Modul IV
KERAN AIR OTOMATIS
1. Tujuan [kembali]
Merangkai sebuah sistem kerja keran air yang dapat buka/tutup otomatis menggunakan sensor ping, sehingga mengeluarkan air sesuai kebutuhan
2. Alat dan Bahan [kembali]
- Arduino Uno
- Sensor Ping
- Motor Servo
- Jumper
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.
B. SENSOR PING
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.
Pengertian Sensor Ultrasonik PING
Sensor ini merupakan sensor ultrasonik yang berfungsi untuk mengubah besaran bunyi menjadi besaran listrk dan sebaliknya. Sensor ping ini dapat mendeteksi jarak dari suatu obyek dengan cara memancarkan gelombang ultrasonik dengan frekuensi 40 KHz dan kemudian mendeteksi pantulannya. Sensor ini dapat mengukur jarak antara 3 cm sampai 300 cm. Keluaran dari sensor ini berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya bervariasi dari 115 us sampai 18,5 ms. Pada dasarnya, sensor PING terdiri dari sebuah chip pembangkit sinyal 40 KHz, sebuah speaker ultrasonik dan mikropon ultrasonik. Speaker ultrasonik akan berfungsi sebagai pengubah sinyal 40 KHz menjadi besaran bunyi/suara dan mikropon ultrasonik akan berfungsi untuk mendeteksi pantulan suaranya.
SENSOR ULTRASONIC
Sensor ultrasonik PING terdiri dari tiga bagian utama yaitu :
- Transmitter Gelombang Ultrasonik
- Receiver Gelombang Ultrasonik
- Rangkaian kontrol
Transmitter berfungsi sebagai pemancar gelombang ultrasonik. Gelombang yang dipancarkan memiliki frekuensi 40KHz. Gelombang ini akan dipancarakan dengan kecepatan 344.424m/detik atau 29.034uS per centimeter. Jika didepan terdapat halangan atau objek maka gelombang tersebut akan memantul. Pantulan gelombang akan dideteksi oleh receiver. Rangkaian kontrol akan mendeteksi pantulan gelombang dan menghitung lama waktu saat gelombang dipancarkan dan gelombang terdeteksi pantulannya. Lama waktu pemantulan gelombang ini akan dikonversi menjadi sinyal digital dalam bentuk pulsa. Sinyal inilah yang nantinya diolah oleh mikrokontroler atau mikroprosesor sehingga didapat nilai jarak antara objek dan sensor. Nilai jarak dapat diperoleh melalui rumus berikut ini :
Jarak (cm) = Lama Waktu Pantul (uS) / 29.034 / 2
Rumus jarak didapat dari pembagian lama waktu pantul dengan kecepatan gelombang ultrasonik dan dibagi 2 karena pada saat pemantulan terjadi dua kali jarak tempuh antara sensor dengan objek. Yaitu pada saat gelombang dipancarkan dari transmitter ke objek dan pada saat gelombang memantul ke receiver ultrasonik.
Jenis-jeinis Sensor Ultrasonik
Terdapat 2 jenis sensor ultrasonik yang beredar di pasaran, yaitu:
1. Sensor Ultrasonik PING (Parallax)
Sensor ini adalah sensor 40 KHz produksi parallax yang banyak digunakan untuk aplikasi atau untuk robot cerdas. Kelebisan sensor ini adalah hanya membutuhkan 1 sinyal selain jalur 5 v dan ground.
Spesifikasi sensor:
- Kirasan pengukuran 3 cm sampai 3 m.
- Echo hold off 750 us dari of trigger pulse.
- Delay before next measurement 200 us.
- Input trigger – positive TTL pulse, 2 us min, 5 us tipikal.
- Brust indicator LED menampilkan aktivitas sensor.
2. Sensor Ultrasonik Devantech SRF04
Sensor Devantech SRF04 adalah salah satu sensor jarak yang digunakan pada kontes robot cerdas di Indonesia. Sensor ini memberikan informasi jarak berkirah 3 cm sampai 3 m.
Spesifikasi sensor:
- Catu Daya: 5 VDC.
- Frekuensi burst: 40 KHz.
- Kisaran pengukuran 3 cm sampai 3 m.
- Input trigger: pulsa positive level TTL selebar 10us min.
- Output: pulsa level TTL, lebar pulsa positive proporsional terhadap jarak.
C.MOTOR SERVO
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor. motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai penentu batas posisi putaran poros motor servo.
Penggunaan sistem kontrol loop tertutup pada motor servo berguna untuk mengontrol gerakan dan posisi akhir dari poros motor servo. Penjelasan sederhananya begini, posisi poros output akan di sensor untuk mengetahui posisi poros sudah tepat seperti yang di inginkan atau belum, dan jika belum, maka kontrol input akan mengirim sinyal kendali untuk membuat posisi poros tersebut tepat pada posisi yang diinginkan. Untuk lebih jelasnya mengenai sistem kontrol loop tertutup, perhatikan contoh sederhana beberapa aplikasi lain dari sistem kontrol loop tertutup, seperti penyetelan suhu pada AC, kulkas, setrika dan lain sebagainya.
Motor servo biasa digunakan dalam aplikasi-aplikasi di industri, selain itu juga digunakan dalam berbagai aplikasi lain seperti pada mobil mainan radio kontrol, robot, pesawat, dan lain sebagainya.
Ada dua jenis motor servo, yaitu motor servo AC dan DC. Motor servo AC lebih dapat menangani arus yang tinggi atau beban berat, sehingga sering diaplikasikan pada mesin-mesin industri. Sedangkan motor servo DC biasanya lebih cocok untuk digunakan pada aplikasi-aplikasi yang lebih kecil. Dan bila dibedakan menurut rotasinya, umumnya terdapat dua jenis motor servo yang dan terdapat di pasaran, yaitu motor servo rotation 180⁰ dan servo rotation continuous.
- Motor servo standard (servo rotation 180⁰) adalah jenis yang paling umum dari motor servo, dimana putaran poros outputnya terbatas hanya 90⁰ kearah kanan dan 90⁰ kearah kiri. Dengan kata lain total putarannya hanya setengah lingkaran atau 180⁰.
- Motor servo rotation continuous merupakan jenis motor servo yang sebenarnya sama dengan jenis servo standard, hanya saja perputaran porosnya tanpa batasan atau dengan kata lain dapat berputar terus, baik ke arah kanan maupun kiri.
Prinsip kerja motor servo
Motor servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa (Pulse Wide Modulation / PWM) melalui kabel kontrol. Lebar pulsa sinyal kontrol yang diberikan akan menentukan posisi sudut putaran dari poros motor servo. Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros motor servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam). Lebih jelasnya perhatikan gambar dibawah ini.
Ketika lebar pulsa kendali telah diberikan, maka poros motor servo akan bergerak atau berputar ke posisi yang telah diperintahkan, dan berhenti pada posisi tersebut dan akan tetap bertahan pada posisi tersebut. Jika ada kekuatan eksternal yang mencoba memutar atau mengubah posisi tersebut, maka motor servo akan mencoba menahan atau melawan dengan besarnya kekuatan torsi yang dimilikinya (rating torsi servo). Namun motor servo tidak akan mempertahankan posisinya untuk selamanya, sinyal lebar pulsa kendali harus diulang setiap 20 ms (mili detik) untuk menginstruksikan agar posisi poros motor servo tetap bertahan pada posisinya.
F. JUMPER
Sebagai konektor antar modul satu dengan modul lainnya.
4. Rangkaian Percobaan [kembali]
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7OGrKyjF_PHR1e6IpzjNrtbcTHzibc6s1DGFoUrFcdlwV611kzpmKDyb7MPkRRIjPPvhFV_j1H1Jy5CAD5T_1DV54kDs8fndDNBERY4-IJEIry9kfyp42XJ4Rzd6rX5ibiTVI8sJj1PgE/s320/IMG_20190111_151104.jpg)
5. Video Percobaan [kembali]
6. Prinsip Kerja [kembali]
Pada alat yang telah dibuat, jarak dibaca oleh sensor ultrasonic. Ketika hasil pembacaan sensor ultrasonik kecil sama dari 7 cm, maka keran akan digerakkan oleh motor servo menuju sehingga air keluar. Dan ketika pembacaan besar dari 7 cm, maka pintu garasi akan kembali ke sudut semula, yakni 0 derajat (keran tertutup). Pengambilan nilai 7 cm berdasarkan bentuk prototype yang dibuat. Dikarenakan prototype berukuran kecil, maka jarak yang diambil cukup 7 cm. Untuk penerapan lebih lanjut, nilai ini dapat diubah sesuai kondisi yang didapatkan.
7. Listing Program [kembali]
const int out=12;
const int in=13;
int servoPin = 9;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(out,OUTPUT);
pinMode(in,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int dur;
long dis;
digitalWrite(out,LOW);
delayMicroseconds(2);
digitalWrite(out,HIGH);
delayMicroseconds(10);
digitalWrite(out,LOW);
dur=pulseIn(in,HIGH);
Serial.println(String(dur));
delay(100);
if (dur<1000){
analogWrite(servoPin, 1);
delay(100);}
else{
analogWrite(servoPin, 0);
delay(100);}
}
const int in=13;
int servoPin = 9;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(out,OUTPUT);
pinMode(in,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int dur;
long dis;
digitalWrite(out,LOW);
delayMicroseconds(2);
digitalWrite(out,HIGH);
delayMicroseconds(10);
digitalWrite(out,LOW);
dur=pulseIn(in,HIGH);
Serial.println(String(dur));
delay(100);
if (dur<1000){
analogWrite(servoPin, 1);
delay(100);}
else{
analogWrite(servoPin, 0);
delay(100);}
}
9. Link Download [kembali]
video >>download<<
listing program >>download<<
Tidak ada komentar:
Posting Komentar