- Arduino Uno
- Ultrasonic Sensor (HC-SR04)
- LCD (LM016L)
- Papan Breadboard
- Jumper
- Motor Servo
- Buzzer
1.1.1 PWM
PWM merupakan sebuah mekanisma untuk membangkitkan sinyal keluaran yang periodenya berulang antara high dan low dimana kita dapat mengontrol durasi sinyal high dan low sesuai dengan yang kita inginkan. Duty cycle merupakan prosentase periode sinyal high dan periode sinyal, prosentase duty cycle akan bebanding lurus dengan tegangan rata-rata yang dihasilkan. Berikut ilustrasi sinyal PWM, misalkan kondisi high 5 V dan kondisi low 0 V.
Pengaturan lebar pulsa modulasi atau PWM merupakan salah satu teknik yang “ampuh” yang digunakan dalam sistem kendali (control system) saat ini. Pengaturan lebar modulasi dipergunakan di berbagai bidang yang sangat luas, salah satu diantaranya adalah: speed control (kendali kecepatan), power control (kendali sistem tenaga), measurement and communication (pengukuran atau instrumentasi dan telekomunikasi).
Prinsip Dasar PWM
Modulasi lebar pulsa (PWM) dicapai/diperoleh dengan bantuan sebuah gelombang kotak yang mana siklus kerja (duty cycle) gelombang dapat diubah-ubah untuk mendapatkan sebuah tegangan keluaran yang bervariasi yang merupakan nilai rata- rata dari gelombang tersebut.
Gambar 1.1 Bentuk gelombang kotak (pulsa) dengan kondisi high 5V dan low 0V.
Ton adalah waktu dimana tegangan keluaran berada pada posisi tinggi (baca: high atau 1) dan, Toff adalah waktu dimana tegangan keluaran berada pada posisi rendah (baca: low atau 0).
Anggap Ttotal adalah waktu satu siklus atau penjumlahan antara Ton dengan Toff , biasa dikenal dengan istilah “periode satu gelombang”.
Siklus kerja atau duty cycle sebuah gelombang di definisikan sebagai,
Tegangan keluaran dapat bervariasi denganduty-cycledan dapat dirumusan sebagai berikut,
Sehingga:
Dari rumus diatas dapat ditarik kesimpulan bahwa tegangan keluaran dapat diubah-ubah secara langsung dengan mengubah nilai Ton.
Apabila Ton adalah 0, Vout juga akan 0. Apabila Ton adalah Ttotal maka Vout adalah Vin.
1.1.2 ADC (Analog to Digital Converter)
Analog To Digital Converter (ADC) adalah pengubah input analog menjadi kode – kode digital. ADC banyak digunakan sebagai Pengatur proses industri, komunikasi digital dan rangkaian pengukuran/ pengujian. Umumnya ADC digunakan sebagai perantara antara sensor yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya, tekanan/ berat, aliran dan sebagainya kemudian diukur dengan menggunakan sistim digital (komputer).
ADC (Analog to Digital Converter) memiliki 2 karakter prinsip, yaitu kecepatan sampling dan resolusi. Kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling biasanya dinyatakan dalam sample per second (SPS).
Gambar 1.2 ADC dengan kecepatan sampling rendah dan kecepatan sampling tinggi
Resolusi ADC menentukan ketelitian nilai hasil konversi ADC. Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi.
1.1.3 Komunikasi UART
Universal Asynchronous Receiver Transmitter atau biasa disingkat UART adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal. UART sekarang ini termasuk di dalam beberapa mikrokontroler. Keping UART biasanya terdiri dari:
1. Penyangga (buffer) Transmit/Receive
2. Pengendali (control) Transmit/Receive
3. Penyangga Bus Data
4. Logika Kendali Read/Write
5. Kendali Modem
Universal Asynchronous Receiver Transmitter adalah protokol komunikasi yang umum digunakan dalam pengiriman data serial antara device satu dengan yang lainnya. Sebagai contoh komunikasi antara sesama mikrokontroler atau mikrokontroler ke PC. Dalam pengiriman data, clock antara pengirim dan penerima harus sama karena paket data dikirim tiap bit mengandalkan clock tersebut. Inilah salah satu keuntungan model asynchronous dalam pengiriman data karena dengan hanya satu kabel transmisi maka data dapat dikirimkan.
Gambar 1.3 Format Data UART
Pada Gambar 1.3 terdapat beberapa parameter yang dapat diatur yaitu start bit, parity bit, dan stop bit. Pengaturan ini harus sama antara pengirim dan penerima karena jika tidak maka data tidak akan diterima. Data yang dikirim adalah data berukuran 8 bit atau 1 byte. Jika ditambah dengan 3 parameter diatas maka total bit data yang dikirim adalah 11 bit. Dari format data inilah setiap data yang terbaca dapat diterjemahkan menjadi bit-bit yang merepresentasikan data tertentu.
Sebenarnya tidak semua terdapat error dalam pengiriman data UART. Terjadinya error hanya terjadi ketika kita menggunakan clock mikrokontroler untuk nilai tertentu saja. Pada paket data UART, clock yang dikirimkan bergantung dari nilai baud rate. Karena protokol ini universal, maka baud rate yang ada adalah nilai-nilai tetap yang tidak bisa diubah ubah dari kisaran nilai 110 sampai 11059200 bps (bit per sekon) atau lebih. Semakin cepat clock yang digunakan maka baud rate akan semakin cepat juga.
1.1.4 Arduino UNO
Arduino Uno adalah salah satu produk berlabel Arduino yang sebenarnya adalah papan elektronik yang terdapat mikrokontroller ATmega 328 (sebuah keping yang secara fungsional bertindak seperti sebuah komputer). Arduino ini memiliki pin 14 digital input/output (6 pin dapat digunakan sebagai output PWM), 6 analog input, frekuensi clock 16 MHz, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk menggunakannya tinggal melakukan koneksi USB dengan komputer atau menggunakan adaptor AC ke DC.
Terdapat bagian-bagian pada papan Arduino Uno dimana memiliki fungsinya yang membentuk satu kesatuan dalam menjalankan kerja alat dan progam. Gambar 1.4 merupakan bagian-bagian yang terdapat pada papan Arduino Uno.
Gambar 1.4 Bagian Arduino Uno
a. Pin input/output digital (0-13)
Terdapat 14 pin yang berfungsi sebagai input atau output, dapat diatur oleh program. Untuk 6 buah pin 3, 5, 6, 9, 10 dan 11, dapat juga berfungsi sebagai pin analog output dimana tegangan output-nya dapat diatur. Nilai sebuah pin output analog dapat diprogram antara 0–255, dimana hal itu mewakili nilai tegangan 0-5V.
b. USB (Universal SerialBus)
Fasilitas USB yang diberikan oleh Arduino Uno ini memiliki fungsi sebagai berikut:
1) Memuat progam dari komputer kedalam papan.
2) Komunikasi serial antara papan dan komputer.
3) Memberikan daya listrik kedalam papan.
c. Sambungan SV1
Merupakan sambungan atau jumper untuk memilih sumber daya papan, apakah dari sumber eksternal atau menggunakan USB. Sambungan ini tidak diperlukan lagi pada papan Arduino versi terakhir karena pemilihan sumber daya eksternal atau USB dilakukan secara otomatis.
d. Q1 – Kristal (quartz crystaloscillator)
Kristal merupakan komponen yang menghasilkan detak-detak yang dikirim pada mikrokontroller agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta kali per detik (16MHz).
e. Tombol reset S1
Tombol ini berfungsi untuk me-reset papan sehingga program akan mulai lagi dari awal, tombol reset ini bukan untuk menghapus program atau mengosongkan microcontroller.
f. In-Circuit Serial Programming (ICSP)
Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara langsung, tanpa melalui bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga ICSP tidak terlalu dipakai walaupun disediakan.
g. IC 1 – Mikrokontroller ATmega
Komponen utama papan Arduino, di dalamnya terdapat CPU, ROM dan RAM.
h. X1 – sumber daya eksternal
Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat diberikan tegangan DC antara 9-12V.
i. 6 pin input analog (0-5)
Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensor analog, seperti sensor suhu. Program dapat membaca nilai sebuah pin input antara 0 – 1023, dimana hal itu mewakili nilai tegangan 0 – 5V.
Tabel 1.1 Spesifikasi Arduino Uno
Microcontroller | Atmega 328P |
Operating Voltage | 5V |
Input Voltage (Recommended) | 7-12 V |
Input Voltage (Limit) | 6-20 V |
Digital I/O Pins | 14 (of which 6 provide PWM ouput) |
PWM Digital I/O Pins | 6 |
Analog Input Pins | 6 |
DC Current per I/O Pin | 20 mA |
DC Current for 3.3 V Pin | 50 mA |
Flash Memory | 32 Kb (Atmega 328P) |
EEPROM | 1 Kb (Atmega 328P) |
Clock Speed | 16 Mhz |
a. Power
Arduino dapat diberikan power melalui koneksi USB atau power supply. Power dapat diatur secara otomatis. Power supply dapat menggunakan adaptor DC atau baterai. Adaptor dapat dikoneksikan dengan mencolok jack adaptor pada koneksi port input supply. Papan arduino uno dapat dioperasikan menggunakan supply dari luar sebesar 6 - 12 volt. Jika supply kurang dari 7V, kadangkala pin 5V akan menyuplai kurang dari 5 Volt dan board bisa menjadi tidak stabil. Jika menggunakan lebih dari 12 V, tegangan di regulator bisa menjadi sangat panas dan menyebabkan kerusakan pada board. Rekomendasi tegangan ada pada 7 sampai 12 volt.Penjelasan pada pin power sebagai berikut:
1. Pin Vin
Tegangan input ke board arduino ketika menggunakan tegangan dari luar (seperti yang disebutkan 5 Volt dari koneksi USB atau tegangan yang diregulasikan). Pengguna dapat memberikan tegangan melalui pin ini, atau jika tegangan suplai menggunakan power jack, aksesnya menggunakan pin ini.
2. Pin 5V
Regulasi power supply digunakan untuk power mikrokontroller dan komponen lainnya pada papan Arduino Uno.Daya sebesar 5 Volt dapat melalui Vin menggunakan regulator pada board, atau supply oleh USB atau supply regulasi 5 Volt lainnya.
3. Pin 3.3V
Suplai tegangan 3,3 Volt didapat oleh FTDI chip yang ada di board. Arus maximumnya adalah 50 mA.
4. Pin Ground
Pin ground berfungsi sebagai jalur ground pada arduino.
b. Memori
ATmega328 memiliki 32 KB flash memori untuk menyimpan kode, juga 2 KB yang digunakan untuk bootloader. ATmega328 memiliki 2 KB untuk SRAM dan 1 KB untuk EEPROM.
c. Input dan Output
Setiap 14 pin digital pada arduino dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Input/output dioperasikan pada 5 Volt. Setiap pin dapat menghasilkan atau menerima maximum 20 mA dan memiliki internal pull-up resistor (disconnected oleh default) 20-50 KOhms. Beberapa pin memiliki fungsi sebagai berikut:
1. Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirim (TX) TTL data serial. Pin ini terhubung pada pin yang koresponding daya USB FTDI ke TTL chip serial.
2. Interrupt eksternal: 2 dan 3. Pin ini dapat dikonfigurasikan untuk trigger sebuah interap pada low value, rising atau falling edge, atau perubahan nilai.
3. PWM: 3, 5, 6, 9, 10, dan 11. Mendukung 8bit output PWM dengan fungsi analog write.
4. SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI, yang mana masih mendukung hardware, yang tidak termasuk pada bahasa arduino.
5. LED: 13. Ini adalah dibuat untuk koneksi LED ke digital pin 13. Ketika pin bernilai HIGH, LED hidup, ketika pin LOW, LEDmati.
6. Uno memiliki 6 analog input tertulis di label A0 hingga A5, masing- masingnya memberikan 10 bit resolusi (1024). Secara asal input analog tersebut terukur dari 0 (ground) sampai 5 volt, itupun memungkinkan perubahan teratas dari jarak yang digunakan oleh pin AREF dengan fungsi analog Reference().
Arduino Uno mengandung mikroposesor (berupa Atmel AVR) dan dilengkapi dengan oscillator 16MHz (yang memungkinkan operasi berbasis waktu dilaksanakan dengan tepat), dan regulator (pembangkit tegangan) 5 Volt. Sejumlah pin tersedia di papan. Pin 0 hingga 13 digunakan untuk isyarat analog. Arduino Uno dilengkapi dengan static random-access memory (SRAM) berukuran 2KB untuk memegang data, flash memory berukuran 32KB, dan erasable programmable read-only memory untuk menyimpan program.
1.1.5 Sensor Ultrasonik
Sensor ultrasonik adalah sensor yang mengeluarkan gelombang suara pada frekuensi ultrasonik dan menangkap kembali pantulan gelombang tersebut. Sensor ini berguna untuk mendeteksi jarak antara posisi dengan benda apapun yang ada di depannya. Sensor ultrasonik kerap digunakan pada aplikasi robotik untuk membuat obstacle avoiding robot.
Sensor ultrasonik berkode HC-SR04 ini memiliki 4 buah kaki masing-masing dengan label Vcc, Trig, Echo, dan Gnd. Vcc artinya sensor ini membutuhkan tegangan tambahan untuk beroprasi, besarnya 5 volt. Trig adalah kaki yang digunakan untuk T, sedangkan kaki Echo bertanggung jawab untuk menangkap glombang yang dipantulkan. Gnd adalah kutub negatif untuk sensor.
HC-SR04 adalah modul ultrasonik yang menyediakan fungsi pengukuran non-kontak 2 cm sampai 400 cm. Ketepatan pengukuran jarak mencapai 3mm.
Gambar 1.5 Sensor Ultrasonik
Pada sensor ultrasonik, gelombang ultrasonik dibangkitkan melalui sebuah alat yang disebut dengan piezoelektrik dengan frekuensi tertentu. Piezoelektrik ini akan menghasilkan gelombang ultrasonik (umumnya berfrekuensi 40kHz) ketika sebuah osilator diterapkan pada benda tersebut. Secara umum, alat ini akan menembakkan gelombang ultrasonik menuju suatu area atau suatu target. Setelah gelombang menyentuh permukaan target, maka target akan memantulkan kembali gelombang tersebut. Gelombang pantulan dari target akan ditangkap oleh sensor, kemudian sensor menghitung selisih antara waktu pengiriman gelombang dan waktu gelombang pantul diterima (Gambar 1.6).
Gambar 1.6 Cara kerja sensor ultrasonik
Secara detail, 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.
1.1.6 Sensor Infrared
Sensor infrared adalah perangkat elektronik, yang memancarkan cahaya dari led dan cahaya diterima oleh photodioda. Sensor ini juga dapat mendeteksi panas serta pergerakan pada benda. Jenis sensor ini hanya mengukur radiasi pancaran. Biasanya benda yang dipancarkan memiliki pengaruh panas yang berbeda terhadap sensor. Sinyal yang dipancarkan oleh transmitter diterima oleh receiver infrared dan kemudian didecodekan sebagai sebuah paket data biner.
Sensor Infrared adalah suatu gelombang cahaya yang mempunyai panjang gelombang lebih tinggi dari pada cahaya merah. Tabel 2.1 menunjukkan spektrum cahaya tampak dan cahaya merah.
Tabel 1.2 Spektrum Cahaya
Warna | Panjang Gelombang (nm) |
Ungu | 400 |
Biru | 470 |
Hijau | 565 |
Kuning | 590 |
Jingga | 630 |
Merah | 780 |
Infrared | 800-1000 |
Sinar infrared tergolong ke dalam sinar yang tidak tampak. Jika dilihat dengan spektroskop sinar maka radiasi sinar infrared tampak pada spektrum gelombang elektromagnet dengan panjang gelombang diatas panjang gelombang sinar merah. Dengan panjang gelombang ini, sinar infrared tidak dapat dilihat oleh mata tetapi radiasi panas yang ditimbulkannya masih terasa.
Gambar 1.7 Sensor Infrared
Sensor infrared ini terdiri dari komponen-komponen berikut :
1. LM358 IC 2 IR pasangan pemancar dan penerima
2. Resistor dari kisaran kilo ohm.
3. Resistor variabel.
4. LED (Light Emitting Diode).
Gambar 1.8 Sirkuit Rangkaian Infrared
Bagian pemancar termasuk sensor infrared, yang mentransmisikan sinar infrared terus menerus untuk diterima oleh transmitter (photodioda). Terminal keluaran pada penerima bervariasi tergantung pada penerimaan sinar infrared. Karena variasi ini tidak dapat dianalisis, maka output ini dapat dimasukkan ke rangkaian komparator. Di sini penguat operasional (op-amp) dari LM 339 digunakan sebagai rangkaian pembanding. Ketika penerima IR tidak menerima sinyal, potensi pada input pembalik akan lebih tinggi daripada input non-pembalik dari IC komparator (LM339). Dengan demikian output komparator rendah, tetapi LED tidak menyala. Ketika modul penerima IR menerima sinyal ke potensial pada input pembalik, sinyal akan turun. Dengan demikian output komparator (LM 339) menjadi tinggi dan LED mulai menyala. Resistor R1 (100), R2 (10k) dan R3 (330) digunakan untuk memastikan bahwa arus minimum 10 mA melewati Perangkat infrared LED seperti Photodiode dan LED normal masing-masing. Resistor VR2 (preset = 5k) digunakan untuk menyesuaikan terminal output. Resistor VR1 (preset = 10k) digunakan untuk mengatur sensitivitas Diagram sirkuit.
Karakteristik Infrared
1. Bentukya tidak terlihat dengan kasat mata atau mata telanjang.
2. Timbulnya diakibatkan oleh komponen-komponen pendukung seperti panas.
3. Tidak dapat menembus materi yang tidak tembus pandang.
4. Merupakan salah satu teknologi yang tembus pandang.
5. Panjang gelombang pada infra merah memiliki hubungan yang berlawanan atau berbanding terbalik dengan suhu. Ketika suhu mengalami kenaikan, maka panjang gelombang mengalami penurunan.
Gambar 1.9 Respon penerimaan sensor infrared
Prinsip kerja sensor infrared
Ketika gelombang infrared membentur suatu penghalang maka sebagian gelombang tersebut akan dipantulkan sebagian diserap dan sebagian yang lain akan diteruskan. Proses ini ditunjukkan pada gambar berikut:
Gambar 1.10 Proses pemantulan gelombang infrared
1.1.7 Sensor Magnetik
Reed switch terdiri dari dua kawat feromagnetik nikel-besi dan pisau kontak berbentuk khusus (buluh) diposisikan dalam kapsul kaca tertutup rapat dengan celah antara mereka dan dalam pelindung [3]. Kapsul kaca diisi dengan gas inert untuk mencegah aktivasi kontak. Ruthenium atau rhodium berlapis permukaan kontak terisolasi dari lingkungan luar, yang melindungi kontak dari kontaminasi.
Reed switch dapat dioperasikan dengan menggunakan medan magnet yang dihasilkan oleh salah satu magnet permanen atau arus pembawa coil. Mereka mendorong kutub utara (N) dan kutub selatan (S) kutub pada buluh. Kekuatan menarik magnet mengarah ke penutupan kontak buluh. Setelah penghapusan medan magnet, hubungi terbuka lagi karena elastisitas alang-alang. Ada Reed Switch yang beroperasi dengan magnet permanen, sementara ada Reed Switch beroperasi dengan gulungan yang dapat magnet dengan mengirimkan arus melalui mereka.
1.1.8 Motor Servo
Motor servo adalah jenis motor DC dengan sistem umpan balik tertutup yang terdiri dari sebuah motor DC, serangkaian gear, rangkaian kontrol, dan juga potensiometer. Jadi motor servo sebenarnya tak berdiri sendiri, melainkan didukung oleh komponen-komponen lain yang berada dalam satu paket.
Gambar 1.11 Motor Servo
Berikut ini beberapa kelebihan dan kekurangan motor servo.
1. Kelebihan Motor Servo
a. Daya yang dihasilkan sebanding dengan berat atau ukuran motor.
b. Penggunaan arus listrik sebanding dengan beban.
c. Tidak bergetar saat digunakan.
d. Tidak mengeluarkan suara berisik saat dalam kecepatan tinggi.
e. Resolusi dan akurasi dapat diubah dengan mudah.
2. Kekurangan Motor Servo
a. Harga relatif lebih mahal dibanding motor DC lainnya.
b. Bentuknya cukup besar karena satu paket.
Prinsip Kerja Motor Servo
Sebenarnya prinsip kerja dari motor servo tak jauh berbeda dibanding dengan motor DC yang lain. Hanya saja motor ini dapat bekerja searah maupun berlawanan jarum jam. Derajat putaran dari motor servo juga dapat dikontrol dengan mengatur pulsa yang masuk ke dalam motor tersebut.
Motor servo akan bekerja dengan baik bila pin kontrolnya diberikan sinyal PWM dengan frekuensi 50 Hz. Frekuensi tersebut dapat diperoleh ketika kondisi Ton duty cycle berada di angka 1,5 ms. Dalam posisi tersebut rotor dari motor berhenti tepat di tengah-tengah alias sudut nol derajat atau netral.
Pada saat kondisi Ton duty cycle kurang dari angka 1,5 ms, maka rotor akan berputar berlawanan arah jarum jam. Sebaliknya pada saat kondisi Ton duty cycle lebih dari angka 1,5 ms, maka rotor akan berputar searah jarum jam. Berikut ini adalah gambar atau skema pulsa kendali motor servo.
Gambar 1.12 Skema Kendali Motor Servo
1.1.9 LCD
LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik.
Gambar 1.13 LCD (Liquid Cristal Display)
Lapisan LCD terdiri dari campuran organik antara lapisan kaca bening dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan.
Prinsip kerja LCD yaitu dengan memberika tegangan Vdd sebesar 5Vdc untuk mengaktifkan layar LCD, dan mengatur pin R/W dengan memberikan logika 0 agar LCD dapat menulis instruksi ke modul, R/W dalam kondisi 1 berfungsi untuk membaca data dari LCD seperti perintah untuk membersihkan layar. Selanjutnya pin RS diatur menjadi nilai logika 1 agar dapat mengirim instruksi ke LCD, pengiriman data ke LCD dapat dilakukan dengan dua cara, yaitu dengan metode 4 bit atau 8 bit, metode 4 bit yaitu pengiriman data dikirim melalui 4 jalur bus dari mikrokontroller, dimana jalur yang tersedia untuk melakukan pengiriman data memiliki keterbatasan yaitu berjumlah 4 bus, oleh karena itu data akan dikirim sebanyak 2 kali agar sesuai dengan instruksi nya, hal ini akan menghasilkan waktu delay yang cukup lama, berbeda dengan metode 8 bit, pengiriman data dengan metode ini dapat dilakukan dengan 1 kali pengiriman karena jalur bus yang tersedia cukup untuk melakukan penngiriman data sebesar 8 bit dalam 1 waktu.
1.1.10 Potensiometer
Potensiometer adalah sebuah jenis resistor yang nilai tahanannya atau hambatannya (resistansi) dapat diubah atau diatur (adjustable). Potensiometer memiliki 3 terminal, 2 terminal terhubung ke kedua ujung elemen resistif, dan terminal ketiga terhubung ke kontak geser yang disebut wiper. Posisi wiper menentukan tegangan keluaran dari potensiometer.
Potensiometer pada dasarnya berfungsi sebagai pembagi tegangan variabel. Unsur resistif dapat dilihat sebagai dua resistor seri, dimana posisi wiper menentukan rasio resistensi dari resistor pertama ke resistor kedua.
Sebuah potensiometer (POT) terdiri dari sebuah elemen resistif yang membentuk jalur (track) dengan terminal di kedua ujungnya. Sedangkan terminal lainnya (biasanya berada di tengah) adalah penyapu (Wiper) yang dipergunakan untuk menentukan pergerakan pada jalur elemen resistif (Resistive). Pergerakan penyapu (Wiper) pada jalur elemen resistif inilah yang mengatur naik-turunnya nilai resistansi sebuah potensiometer.
1.1.11 Buzzer
Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi electromagnet.
Kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).
Gambar 1.14 Buzzer
Konfigurasi pin Buzzer :
1. Kutub negatif buzzer dihubungkan dengan keluaran rangkaian pengontrol buzzer.
2. Kutub positif buzzer dihubungkan power supply 12V.
1.1.12 LED
LED adalah suatu 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.
Gambar 1.15 LED
Prinsip Kerja LED:
Karena LED adalah salah satu jenis dioda maka LED memiliki 2 kutub yaitu anoda dan katoda. Dalam hal ini LED akan menyala bila ada arus listrik mengalir dari anoda menuju katoda. Pemasangan kutub LED tidak boleh terebalik karena apabila terbalik kutubnya maka LED tersebut tidak akan menyala. Led memiliki karakteristik berbeda-beda menurut warna yang dihasilkan. Semakin tinggi arus yang mengalir pada led maka semakin terang pula cahaya yang dihasilkan, namun perlu diperhatikan bahwa besarnya arus yang diperbolehkan 10mA- 20mA dan pada tegangan 1,6V – 3,5 V menurut karakter warna yang dihasilkan. Apabila arus yang mengalir lebih dari 20mA maka led akan terbakar. Untuk menjaga agar LED tidak terbakar perlu kita gunakan resistor sebagai penghambat arus.
4. Listing Program [Kembali]
//master
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 12);
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 5, 6, 7, 8);
int trigPin = 9;
int echoPin = 10;
long duration;
int distance;
void setup()
{
lcd.begin(16, 2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
// mySerial.begin(9600);
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
// Serial.println(distance);
// Serial.println(distance);
if ((distance <=9) && (distance >= 0))
{
Serial.print("1");
// Serial.println("terdeteksi");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("KAPASITAS");
lcd.setCursor(0, 1);
lcd.print("FULL");
}
else
{
// Serial.println("kurang");
Serial.print("2");
delay(100);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("MASUKkAN");
lcd.setCursor(0, 1);
lcd.print("SAMPAH");
}
}
SLAVE
//slave
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 12);
#include <Servo.h>
Servo myservo;
#define buzzer 5
#define infra 2
#define Sensor 7
#define LED 8
void setup()
{
myservo.attach(6);
myservo.write(180);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
// mySerial.begin(9600);
pinMode(infra, INPUT);
Serial.begin(9600);
pinMode(Sensor, INPUT);
pinMode(LED, OUTPUT);
}
void loop()
{
if (Serial.available() > 0)
{
char data = Serial.read();
if (data == '1')
{
digitalWrite(buzzer, HIGH);
Serial.println("terdeteksi");
}
else if (data == '2')
{
digitalWrite(buzzer, LOW);
Serial.println("tidak terdeteksi");
}
}
int nilai = !digitalRead(infra);
Serial.println(nilai);
if (nilai == 1)
{
Serial.println("servo hiduik");
myservo.write(0);
delay(3000);
myservo.write(90);
delay(1500);
}
int value = digitalRead(Sensor);
Serial.println(value);
if (value == 0)
{
digitalWrite(LED, HIGH);
Serial.println("LED on");
}
else if(value == 1) {
digitalWrite(LED, LOW);
Serial.println("LED off");
}
}
5. Flowchart [Kembali]6. Rangkaian Simulasi [Kembali]
7. Hardware dan Video [Kembali]
Pada projek "Tempat Sampah Otomatis" ini terdapat beberapa komponen, yaitu sensor infrared, sensor ultrasonik, sensor magnetik, arduino uno, LCD, buzzer, LED, potensiometer, dan motor servo. Dimana sensor infrared, ultrasonik, dan magnetik sebagai input, sedangkan LCD, buzzer, LED, dan motor servo sebagai output.
Pada projek ini digunakan 2 buah arduino uno dengan komunikasi UART. Pada komunikasi serial UART, dalam melakukan proses komunikasinya hanya digunakan satu pin saja. Jika mengirim data digunakan pin TX dan jika menerima data digunakan pin RX. Ketika ingin mengirimkan data dari perangkat A ke perangkat B, maka pin yang digunakan pada perangkat A adalah pin TX dan perangkat B adalah pin RX. Begitu juga sebaliknya, jika ingin mengirimkan data dari perangkat B ke perangkat A, maka pin yang digunakan pada perangkat B adalah pin TX dan perangkat A adalah pin RX.
Pada sensor infrared, pin Vcc dihubungkan ke power supply, pin GND dihubungkan ke ground, dan pin OUT dihubungkan ke pin 2 arduino slave. Pada sensor ultrasonik, pin +5V dihubungkan ke power supply, pin trigger dihubungkan ke pin 9 arduino master, pin echo dihubungkan ke pin 10 arduino master, dan pin GND dihubungkan ke ground. Pada sensor magnetik pin D0 dihubungkan ke pin 7 arduino slave, pin GND dihubungkan ke ground, dan pin Vcc dihubungkan ke power supply.
Pada LCD, pin VSS, VEE, dan RW dihubungkan ke ground. Pin VDD dihubungkan ke power supply, pin E dihubungkan ke pin 3 arduino master. Pin D4, D5, D6, dan D7 dihubungkan ke pin 5, 6, 7, dan 8 arduino master. Lalu pin 0 (RX) arduino master dihubungkan ke pin 1 (TX) arduino slave, sedangkan pin 1 (TX) arduino master dibungkan ke pin 0 (RX) arduino slave. Pada arduino slave pin 6 dihubungkan ke motor servo, pin 5 dihubungkan ke buzzer, dan pin 8 dihubungkan ke LED.
Untuk cara kerjanya yaitu pada saat sensor infrared mendeteksi orang yang akan membuang sampah makan motor servo akan bergerak dan LCD menampilkan tulisan “Masukkan Sampah” menandakan tempat sampah belum penuh. Ketika tempat sampah penuh maka sensor ultrasonik akan mendeteksinya dan buzzer akan menyala, sedangkan LCD menampilkan tulisan “Kapasitas Full” dan motor servo tidak akan bergerak meskipun sensor infrared mendeteksi orang. Saat sensor magnetik mendeteksi sampah logam maka LED akan menyala sebagai penanda bahwa pada tempat sampah terdapat sampah logam
Dengan melakukan perancangan dan pengujian sistem kerja tempat sampah otomatis ini, maka dapat ditarik sebuah kesimpulan yaitu:
- Sensor infrared mendeteksi adanya pergerakan dan secara otomatis motor servo akan membuka tutup tempat sampah sehingga sampah bisa dimasukkan.
- Sensor ultrasonik dapat mendeteksi kapasitas tempat sampah, jika kondisi tempat sampah penuh maka buzzer akan berbunyi dan pada LCD akan menampilkan “Kapasitas Full”.
- Sensor magnetik dapat mendeteksi sampah logam dan LED akan menyala menandakan pada tempat sempah terdapat sampah logam.
Rangkaian Proteus [Klik disini]Listing Program Master [Klik disini] Slave [Klik disini]Video [Klik disini]HTML [Klik disini]Datasheet Arduino Uno [Klik disini]
Datasheet sensor infrared [Klik disini]Datasheet sensor ultrasonik [Klik disini]Datasheet sensor magnetik [Klik disini]Datasheet motor servo [Klik disini]Datasheet buzzer [Klik disini]Datasheet LCD 16x2 [Klik disini]Datasheet potensiometer [Klik disini]Datasheet LED [Klik disini]Library sensor ultrasonik [Klik disini]Library sensor infrared [Klik disini]Library sensor magnetik [Klik disini]
Tidak ada komentar:
Posting Komentar