- Memahami prinsip dasar input dan output pada mikrokontroler.
- Mampu mengonfigurasi dan mengendalikan 7-segment sebagai output pada mikrokontroler.
- Mampu menangkap dan memproses input dari keypad.
- Motor DC
Motor terdiri atas 2 bagian utama yaitu stator dan motor. Pada stator terdapat lilitan (winding) atau magnet permanen, sedangkan rotor adalah bagian yang dialiri dengan sumber arus DC. Arus yang melalui medan magnet inilah yang menyebabkan rotor dapat berputar. Arah gaya elektromagnet yang ditimbulkan akibat medan magnet yang dilalui oleh arus dapat ditentukan dengan menggunakan kaidah tangan kanan.
Keuntungan utama motor DC adalah sebagai pengendali kecepatan, yang tidak mempengaruhi kualitas pasokan daya. Motor ini dapat dikendalikan dengan mengatur:• Tegangan dinamo : meningkatkan tegangan dinamo akan meningkatkan kecepatan• Arus medan : menurunkan arus medan akan meningkatkan kecepatan.Mekanisme Kerja Motor D
Mekanisme kerja untuk seluruh jenis motor secara umum sama
- Arus listrik dalam medan magnet akan menimbulkan gaya.
- Jika kawat yang membawa arus dibengkokkan menjadi sebuah lingkaran/loop, maka kedua sisi loop yaitu pada sudut kanan medan magnet akan mendapat gaya pada arah yang berlawanan.
- Pasangan gaya menghasilkan torsi untuk memutar kumparan.
- Motor- motor memiliki beberapa loop pada dinamonya untuk memberikan tenaga putar yang lebih seragam dari medan magnetnya dihasilkan oleh susunan elektromagnetik yang disebut kumparan medan
- Seven Segment Common Cathode
Seven segment adalah suatu segmen-segmen yang digunakan untuk menampilkan angka / bilangan decimal. Seven segmen ada 2 jenis, yaitu Common Anoda dan Common Katoda.
Common Cathode merupakan bergabung menjadi satu Pin, sedangkan penujang Anoda bisa menjadi Input untuk masing-masing Segmen LED. Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.LED Seven Segment Display Tipe Common Katoda.
- Arduino Uno
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 dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain.
Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut :
Bagian-bagian arduino uno:
-Power USB
Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.
-Power jack
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.
-Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino. Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.
-Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.
-Digital Pins I / O
Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.
-Analog Pins
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.
-LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.
Bagian - bagian pendukung:
-RAM
RAM (Random Access Memory) adalah tempat penyimpanan sementara pada komputer yang isinya dapat diakses dalam waktu yang tetap, tidak memperdulikan letak data tersebut dalam memori atau acak. Secara umum ada 2 jenis RAM yaitu SRAM (Static Random Acces Memory) dan DRAM (Dynamic Random Acces Memory).
ROM (Read-only Memory) adalah perangkat keras pada computer yang dapat menyimpan data secara permanen tanpa harus memperhatikan adanya sumber listrik. ROM terdiri dari Mask ROM, PROM, EPROM, EEPROM.
Block Diagram Mikrokontroler ATMega 328P pada Arduino UNO
Adapun block diagram mikrokontroler ATMega 328P dapat dilihat pada gambar berikut:
Block diagram dapat digunakan untuk memudahkan / memahami bagaimana kinerja dari mikrokontroler ATMega 328P.Pin-pin ATMega 328P:
- Vibration Sensor
Vibration sensor / Sensor getaran ini memegang peranan penting dalam kegiatan pemantauan sinyal getaran karena terletak di sisi depan (front end) dari suatu proses pemantauan getaran mesin. Secara konseptual, sensor getaran berfungsi untuk mengubah besar sinyal getaran fisik menjadi sinyal getaran analog dalam besaran listrik dan pada umumnya berbentuk tegangan listrik. Pemakaian sensor getaran ini memungkinkan sinyal getaran tersebut diolah secara elektrik sehingga memudahkan dalam proses manipulasi sinyal, diantaranya:
- Pembesaran sinyal getaran
- Penyaringan sinyal getaran dari sinyal pengganggu.
- Penguraian sinyal, dan lainnya.
Sensor getaran dipilih sesuai dengan jenis sinyal getaran yang akan dipantau. Karena itu, sensor getaran dapat dibedakan menjadi:
- Sensor penyimpangan getaran (displacement transducer)
- Sensor kecepatan getaran (velocity tranducer)
- Sensor percepatam getaran (accelerometer).
Pemilihan sensor getaran untuk keperluan pemantauan sinyal getaran didasarkan atas pertimbangan berikut:
- Jenis sinyal getaran
- Rentang frekuensi pengukuran
- Ukuran dan berat objek getaran.
- Sensitivitas sensor
Berdasarkan cara kerjanya sensor dapat dibedakan menjadi:
- Sensor aktif, yakni sensor yang langsung menghasilkan tegangan listrik tanpa perlu catu daya (power supply) dari luar, misalnya Velocity Transducer.
- Sensor pasif yakni sensor yang memerlukan catu daya dari luar agar dapat berkerja.
- PIR Sensor
PIR (Passive Infrared Receiver) merupakan sebuah sensor berbasiskan infrared. Akan tetapi, tidak seperti sensor infrared kebanyakan yang terdiri dari IR LED dan fototransistor. PIR tidak memancarkan apapun seperti IR LED. Sesuai dengan namanya ‘Passive’, sensor ini hanya merespon energi dari pancaran sinar inframerah pasif yang dimiliki oleh setiap benda yang terdeteksi olehnya. Benda yang bisa dideteksi oleh sensor ini biasanya adalah tubuh manusia
Diagram sensor PIR:
PIR (Passive Infrared Receiver) merupakan sebuah sensor berbasiskan infrared. Akan tetapi, tidak seperti sensor infrared kebanyakan yang terdiri dari IR LED dan fototransistor. PIR tidak memancarkan apapun seperti IR LED. Sesuai dengan namanya ‘Passive’, sensor ini hanya merespon energi dari pancaran sinar inframerah pasif yang dimiliki oleh setiap benda yang terdeteksi olehnya. Benda yang bisa dideteksi oleh sensor ini biasanya adalah tubuh manusia.
Sensor PIR ini bekerja dengan menangkap energi panas yang dihasilkan dari pancaran sinar inframerah pasif yang dimiliki setiap benda dengan suhu benda diatas nol mutlak. Seperti tubuh manusia yang memiliki suhu tubuh kira-kira 32 derajat celcius, yang merupakan suhu panas yang khas yang terdapat pada lingkungan. Pancaran sinar inframerah inilah yang kemudian ditangkap oleh Pyroelectric sensor yang merupakan inti dari sensor PIR ini sehingga menyebabkan Pyroelectic sensor yang terdiri dari galium nitrida, caesium nitrat dan litium tantalate menghasilkan arus listrik. Mengapa bisa menghasilkan arus listrik? Karena pancaran sinar inframerah pasif ini membawa energi panas. Prosesnya hampir sama seperti arus listrik yang terbentuk ketika sinar matahari mengenai solar cell.
Grafik Respon Pir terhadap suhu
Grafik sensor pir terhadap jarak, kecepatan,arah objek
- 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.
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 sentuh Kapasitif merupakan sensor sentuh yang sangat populer pada saat ini, hal ini dikarenakan Sensor Kapasitif lebih kuat, tahan lama dan mudah digunakan serta harga yang relatif lebih murah dari sensor resistif. Ponsel-ponsel pintar saat ini telah banyak yang menggunakan teknologi ini karena juga menghasilkan respon yang lebih akurat.
Berbeda dengan Sensor Resistif yang menggunakan tekanan tertentu untuk merasakan perubahan pada permukaan layar, 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.
Pada saat jari menyentuh layar, akan terjadi perubahaan medan listrik pada layar sentuh tersebut dan kemudian di respon oleh processor untuk membaca pergerakan jari tangan tersebut. Jadi perlu diperhatikan bahwa sentuhan kita tidak akan di respon oleh layar sensor kapasitif ini apabila kita menggunakan bahan-bahan non-konduktif sebagai perantara jari tangan dan layar sentuh tersebut.
Sensor Resistif
Tidak seperti sensor sentuh kapasitif, sensor sentuh resistif ini tidak tergantung pada sifat listrik yang terjadi pada konduktivitas pelat logam. 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).
Cara kerjanya hampir sama dengan sebuah sakelar, pada saat film lapisan atas mendapatkan tekanan tertentu baik dengan jari maupun stylus, maka film lapisan atas akan bersentuhan dengan film lapisan bawah sehingga menimbulkan aliran listrik pada titik koordinat tertentu layar tersebut dan memberikan signal ke prosesor untuk melakukan proses selanjutnya.
a. Prosedur[Kembali]
- Siapkan segala komponen yang di butuhkan
- Susun rangkaian sesuai panduan
- Input codingan arduino
- Hidupkan rangkaian
- Apabila tidak terjadi eror, maka rangkaian selesai dibuat.
b. Hardware dan Diagram Block [Kembali]
- Hardware
c. Rangkaian Simulasi dan Prinsip Kerja[Kembali]
Sensor vibration terhubung ke kaki A0 sebagai input, Sensor PIR terhubung ke kaki A1 sebagai input, Sensor touch terhubung ke kaki A2 sebagai input. Sedangkan A3 dan A4 sebagai output yang terhubung ke pada motor DC. Pada saat salah satu sensor aktif, maka arduino akan mengeluarkan output high pada A4 dan low pada A3 sehingga motor untuk membuka pintu lift akan bergerak, sedangkan ketika semua sensor berlogika nol maka arduino akan mengeluarkan output high pada A3 dan low pada A4 sehingga motor untuk menutup pintu lift akan bergerak. Keypad terhubung kearduino sebagai input dimana bagian row keypad terhubung ke pin 0-3 arduino, sedangkan bagian columb terhubung ke pin 4-6. Ketika keypad memberi input, arduino akan menjalankan input tersebut dengan menjadikan ouput pada kaki 7-13 yang terhubung kepada sevensegment. Ketika keypad memberi input 1 maka pada seven segment akan menampilkan 1.
c. Flowchart dan Listing Program[Kembali]
- Flowchart
- Listing Program
#include <Key.h> and <Keypad.h>: Include libraries for keypad functionality.
Mendeklarasikan variabelcheck
untuk menyimpan informasi status.
Mendefinisikan jumlah baris dan kolom pada keypad.
char key[rows][cols] =
Definisi matriks 4x3 yang berisi karakter-karakter yang merepresentasikan tombol-tombol pada keypad.
byte rowpins[rows] = {0, 1, 2, 3};
Array yang menentukan pin-pin Arduino yang terhubung ke baris dan kolom keypad.
Pembuatan objek Keypad dengan nama keypad menggunakan matriks tombol yang telah didefinisikan dan konfigurasi pin.
const int pinVib = A0;
Mendefinisikan pin A0 untuk sensor getaran.
const int pinPIR = A1;
Mendefinisikan pin A1 untuk sensor PIR.
Mendefinisikan pin A2 untuk sensor sentuhan.
Mendefinisikan pin A3 keluaran untuk motor menutup pintu lift
Mendefinisikan pin A4 keluaran untuk motor menutup pintu lift
Array pin digital yang terhubung ke 7-segment display.
void setup() {
for yang digunakan untuk mengatur mode pin pada tujuh pin digital yang terhubung ke 7-segment display. Loop ini mengatur setiap pin pada mode OUTPUT, yang berarti pin tersebut akan digunakan sebagai output digital untuk mengontrol 7-segment display.
pinVib, pinPIR, dan pinTouch, Semua pin ini diatur ke mode INPUT
dua pin digital pinTertutup dan pinTerbuka diatur ke mode OUTPUT
mengatur mode pin pada kolom keypad menjadi INPUT
inisialisasi komunikasi serial dengan kecepatan 9600 baud.
Menetapkan pin 7-12 menjadi HIGH (tinggi) dan pin 13 menjadi LOW (rendah).Ini mewakili konfigurasi untuk menampilkan angka "0" pada 7-segment display.
Menetapkan pin 8-12 menjadi LOW dan pin 7 menjadi HIGH.Ini mewakili konfigurasi untuk menampilkan angka "1" pada 7-segment display.
Menetapkan pin 7, 8, 10, 11, dan 13 menjadi HIGH, sedangkan pin 9 dan 12 menjadi LOW.Ini mewakili konfigurasi untuk menampilkan angka "2" pada 7-segment display.
Menetapkan pin 7-9, 10, dan 13 menjadi HIGH, sedangkan pin 11 dan 12 menjadi LOW.Ini mewakili konfigurasi untuk menampilkan angka "3" pada 7-segment display.
Menetapkan pin 8, 9, 12, dan 13 menjadi HIGH, sedangkan pin 7, 10, dan 11 menjadi LOW.Ini mewakili konfigurasi untuk menampilkan angka "4" pada 7-segment display.
Menetapkan pin 7, 9, 10, 11, dan 12 menjadi HIGH, sedangkan pin 8 dan 13 menjadi LOW.Ini mewakili konfigurasi untuk menampilkan angka "5" pada 7-segment display.
Menetapkan pin 7 dan 12-13 menjadi HIGH, sedangkan pin 8-11 menjadi LOW.Ini mewakili konfigurasi untuk menampilkan angka "6" pada 7-segment display.
Menetapkan pin 7-9 menjadi HIGH, sedangkan pin 10-13 menjadi LOW.Ini mewakili konfigurasi untuk menampilkan angka "7" pada 7-segment display.
Menetapkan semua pin (7-13) menjadi HIGH.Ini mewakili konfigurasi untuk menampilkan angka "8" pada 7-segment display.
Menetapkan pin 7-8, 10-13 menjadi HIGH, sedangkan pin 9 menjadi LOW.Ini mewakili konfigurasi untuk menampilkan angka "9" pada 7-segment display.
fungsi loop() yang akan dijalankan secara terus-menerus setelah fungsi setup() selesai dieksekusi
membaca input dari keypad dan menyimpannya dalam variabel keyPressed. Fungsi getKey() dari objek keypad mengembalikan karakter tombol yang ditekan
Jika tombol yang ditekan adalah tanda pagar (#), maka fungsi zero() akan dipanggil untuk menampilkan angka "0" pada 7-segment display. Selanjutnya, variabel check diatur menjadi 0.
Jika tombol yang ditekan adalah angka "0", maka juga fungsi zero() akan dipanggil, dan variabel check diatur menjadi 1.
Seri if-statements yang menghandle tombol angka 1 hingga 9. Jika salah satu tombol tersebut ditekan, fungsi yang sesuai (misalnya, one() untuk angka 1) akan dipanggil dan variabel check diatur menjadi 1.
digitalRead(pinVib) == HIGH: Mengecek apakah sinyal pada pinVib (A0) berada pada (HIGH).digitalRead(pinPIR) == HIGH: Mengecek apakah sinyal pada pinPIR (A1) berada pada (HIGH).digitalRead(pinTouch) == HIGH: Mengecek apakah sinyal pada pinTouch (A2) berada pada (HIGH).Kondisi akan terpenuhi jika setidaknya satu dari ketiga sensor tersebut mendeteksi keadaan yang diinginkan (berlogika HIGH)
Jika kondisi terpenuhi (minimal satu sensor memberikan sinyal HIGH), maka pinTerbuka akan diatur menjadi HIGH dan pinTertutup akan diatur menjadi LOW
d. Video Simulasi[Kembali]
e. Download File[Kembali]
- File HTML klik disini
- File Rangkaian Proteus klik disini
- Code Arduino klik disini
- Video Prinsip Kerja Rangkaian klik disini
- Datasheet Arduino Uno klik disini
- Datasheet Keypad 4x3 klik disini
- Datasheet Vibration Sensor klik disini
- Datasheet PIR Sensor klik disini
- Datasheet Touch Sensor klik disini
- Datasheet Seven Segmen Comon Cathode klik disini
- Library Arduino Uno klik disini
- Library Vibration Sensor klik disini
- Library PIR Sensor klik disini
- Library Touch Sensor klik disini
- Library Keypad klik disini
Tidak ada komentar:
Posting Komentar