SMART RESTAURANT VIP ROOM
- Memahami prinsip dasar input dan output pada mikrokontroler
- Mengetahui komponen yang digunakan dalam membuat rangkaian pada modul 1
- Mampu menangkap dan memproses input dari dip switch
- Mampu mengonfigurasi dan mengendalikan 7-segment sebagai output pada mikrokontroler
1. Pendahuluan [Kembali]
Aplikasi Smart Lighting Room dengan penggunaan sensor getaran, sensor sentuhan (touch), sensor PIR (Passive Infrared), dip switch, dan seven segment membuka pintu menuju kesempurnaan dalam pengaturan pencahayaan pintar. Dalam era teknologi yang terus berkembang, sistem ini menjadi representasi cerdas dalam mengelola penggunaan energi dan kenyamanan.
Sensor getaran, dengan sensitivitasnya terhadap perubahan getaran lingkungan, memberikan informasi terkait kehadiran atau aktivitas di sekitar lampu. Sensor sentuhan memberikan interaksi langsung dengan pengguna, memungkinkan kontrol langsung terhadap fungsi lampu. Sementara sensor PIR mendeteksi gerakan manusia dengan memanfaatkan perubahan suhu yang dihasilkan, memungkinkan adaptasi otomatis terhadap kehadiran orang di sekitarnya.
Dip switch berperan sebagai alat konfigurasi yang memungkinkan penggunaan sensor-sensor tersebut sesuai kebutuhan. Kombinasi yang tepat dari dip switch mengizinkan pengguna untuk menyesuaikan respons lampu terhadap input dari sensor-sensor yang telah disebutkan. Kemudian, seven segment memberikan tampilan visual dari informasi yang terkait dengan kondisi atau konfigurasi lampu, memberikan pemahaman yang jelas terhadap status atau pengaturan yang telah diatur.
Pemanfaatan teknologi ini tidak hanya menghadirkan pengalaman pengguna yang lebih intuitif dan nyaman tetapi juga memberikan efisiensi dalam penggunaan energi. Dengan kemampuan untuk merespons perubahan lingkungan dan interaksi pengguna, aplikasi Smart Lamp ini menjadi solusi modern yang menyelaraskan kecerdasan buatan dengan kebutuhan sehari-hari.
2. Tujuan [Kembali]
3. Alat dan Bahan [Kembali]
Alat :
1. Power Supply
2. Logic Probe
3. Ground
Bahan :
1. Dip Switch
2. Seven Segment
3. Arduino Uno
Spesifikasi :
4. Resistor
Spesifikasi :
5. LED
6. Touch Sensor
Spesifikasi :
- Operating voltage 2.0V~5.5V
- Operating current @VDD=3V, no load
- At low power mode typical 1.5uA, maximum 3.0uA
- The response time max 220mS at low power mode @VDD=3V
- Sensitivity can adjust by the capacitance(0~50pF) outside
- Stable touching detection of human body for replacing traditional direct switch key
- Provides Low Power mode
- Provides direct mode、toggle mode by pad option(TOG pin) Q pin is CMOS output
- All output modes can be selected active high or active low by pad option(AHLB pin)
- After power-on have about 0.5sec stable-time, during the time do not touch the key pad, and the function is disabled
- Auto calibration for life at low power mode the re-calibration period is about 4.0sec normally, when key detected touch and released touch, the auto re-calibration will be redoing after about 16sec from releasing key
- The sensitivity of TTP223N-BA6 is better than TTP223-BA6’s. but the stability of TTP223N-BA6 is worse than TTP223-BA6’s.
7. Vibration Sensor
Spesifikasi :
8. Sensor PIR
Spesifikasi :
1. Vin : DC 5V 9V.
2. Radius : 180 derajat.3. Jarak deteksi : 5 7 meter.4. Output : Digital TTL.5. Memiliki setting sensitivitas.6. Memiliki setting time delay.7. Dimensi : 3,2 cm x 2,4 cm x 2,3 cm.8. Berat : 10 gr.
4. Dasar Teori [Kembali]
1. 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 :
DIP switch, atau Dual Inline Package switch, adalah jenis saklar yang terdiri dari beberapa saklar kecil yang terpasang dalam paket berbentuk baris ganda pada rangkaian elektronik terpadu atau modul. Setiap saklar memiliki dua posisi, ON dan OFF, yang digunakan untuk konfigurasi atau pengaturan pada perangkat elektronik, seperti menetapkan alamat atau parameter lainnya. DIP switch umumnya memberikan kemudahan penggunaan tanpa memerlukan keahlian khusus dalam pengaturan, meskipun beberapa pengembang kini beralih ke metode konfigurasi yang lebih canggih.
DIP switch, atau Dual Inline Package switch, bekerja berdasarkan prinsip sederhana saklar elektronik yang dapat berada dalam dua posisi, ON (hidup) atau OFF (mati). Dalam konteks penggunaannya pada rangkaian terpadu atau modul, setiap saklar DIP switch merepresentasikan satu bit informasi. Ketika saklar dalam posisi ON, itu menghubungkan pin terkait, sementara posisi OFF memutuskan hubungan. Pengaturan atau konfigurasi tertentu dapat dicapai dengan mengatur posisi ON atau OFF dari masing-masing saklar DIP switch sesuai dengan kebutuhan aplikasi. DIP switch sering digunakan untuk pengaturan alamat atau parameter lainnya dalam rangkaian elektronik tanpa memerlukan pemrograman atau perangkat lunak tambahan.
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.
4. Arduino Uno
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang didalamnya terdapat utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggungakan 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. 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
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:
5. Seven Segment
Layar tujuh segmen ini seringkali digunakan pada jam digital, meteran elektronik, dan perangkat elektronik lainnya yang menampilkan informasi numerik. Layar tujuh segmen ini terdiri dari 7 buah LED yang membentuk angka 8 dan 1 LED untuk titik/DP. Angka yang ditampilkan di seven segmen ini dari 0-9. Cara kerja dari seven segmen disesuaikan dengan LED. LED merupakan komponen diode yang dapat memancarkan cahaya. kondisi dalam keadaan ON jika sisi anode mendapatkan sumber positif dari Vcc dan katode mendapatkan sumber negatif dari ground.
6. Sensor PIR
Sensor PIR atau disebut juga dengan Passive Infra Red merupakan sensor yang digunakan untuk mendeteksi adanya pancaran sinar infra merah dari suatu object.
Konfigurasi PIN
Sensor PIR terdiri dari beberapa bagian yaitu :
a. Lensa Fresnel
Lensa Fresnel pertama kali digunakan pada tahun 1980an. Digunakan sebagai lensa yang memfokuskan sinar pada lampu mercusuar. Penggunaan paling luas pada lensa Fresnel adalah pada lampu depan mobil, di mana mereka membiarkan berkas parallel secara kasar dari pemantul parabola dibentuk untuk memenuhi persyaratan pola sorotan utama. Namun kini, lensa Fresnel pada mobil telah ditiadakan diganti dengan lensa plain polikarbonat. Lensa Fresnel juga berguna dalam pembuatan film, tidak hanya karena kemampuannya untuk memfokuskan sinar terang, tetapi juga karena intensitas cahaya yang relative konstan diseluruh lebar berkas cahaya.
b. IR Filter
IR Filter dimodul sensor PIR ini mampu menyaring panjang gelombang sinar infrared pasif antara 8 sampai 14 mikrometer, sehingga panjang gelombang yang dihasilkan dari tubuh manusia yang berkisar antara 9 sampai 10 mikrometer ini saja yang dapat dideteksi oleh sensor. Sehingga Sensor PIR hanya bereaksi pada tubuh manusia saja.
c. Pyroelectric Sensor
Seperti tubuh manusia yang memiliki suhu tubuh kira-kira 32˚C, 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. Material pyroelectric bereaksi menghasilkan arus listrik karena adanya energi panas yang dibawa oleh infrared pasif tersebut. Prosesnya hampir sama seperti arus listrik yang terbentuk ketika sinar matahari mengenai solar cell.
d. Amplifier
Sebuah sirkuit amplifier yang ada menguatkan arus yang masuk pada material pyroelectric.
e. Komparator
Setelah dikuatkan oleh amplifier kemudian arus dibandingkan oleh komparator sehingga mengahasilkan output.
Pada grafik tersebut ; (a) Arah yang berbeda mengasilkan tegangan yang bermuatan berbeda ; (b) Semakin dekat jarak objek terhadap sensor PIR, maka semakin besar tegangan output yang dihasilkan ; (c) Semakin cepat objek bergerak, maka semakin cepat terdeteksi oleh sensor PIR karena infrared yang ditimbulkan dengan lebih cepat oleh objek semakin mudah dideteksi oleh PIR, namun semakin sedikit juga waktu yang dibutuhkan karena sudah diluar jangkauan sensor PIR.
Dari grafik, didapatkan bahwa suhu juga mempengaruhi seberapa jauh PIR dapat mendeteksi adanya infrared dimana semakin tinggi suhu disekitar maka semakin pendek jarak yang bisa diukur oleh PIR.
Sensor getaran adalah suatu alat yang berfungsi untuk mendeteksi adanya getaran dan akan diubah dalam ke dalam sinyal listrik. Sensor ini disebut juga cassing measurement. Sensor yang digunakan adalah sensor seismic transduser, yaitu sensor yang digunakan untuk mengukur kecepatan dan percepatan.
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.
Prosedur percobaan:
1. Siapakan komponen yang dibutuhkan
2. Susun rangkaian sebagaimana yang dibutuhkan
3. Inputkan codingan Arduino
4. Jalankan rangkaian
5. Lakukan koreksi jika terjadi error, jika tidak terjadi error maka rangkaian berhasil dan selesai.
b. Hardware dan Diagram Blok [Kembali]
- Hardware
1. Arduino Uno2. PIR sensor3. Touch sensor4. Vibration sensor5. LED6. resistor
- Diagram Blok
c. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Rangkaian menggunakan 3 buah buah sensor, yaitu PIR sensor, touch sensor, dan vibration sensor. Sensor PIR diletakkan pada plafon dan ketika sensor PIR mendeteksi adanya orang berada dalam ruangan maka, sensor akan berlogika 1. Sensor touch diletakkan pada dinding dan berguna untuk mendeteksi adanya sentuhan ketika ada orang yang memasuki ruangan dan akan memberikan logika 1. Sensor vibration diletakkan pada lantai ruangan dan ketika sensor vibration mendeteksi adanya aktivitas di dalam ruangan, maka sensor akan berlogika 1. Ketika sensor pir pada pin 0 arduino berlogika satu atau ketika sensor touch pada pin 2 Arduino berlogika 1 atau vibration pada pin 1 berlogika 1 atau dua atau semua dari sensor tersebut berlogika 1 dan ketika saklar pertama pada dipxwitch berada pada posisi 4, maka lampu menyala dan seven segmen yang terhubung pada Arduino pin (LSB) 10, 11, 12, 13 (MSB) akan menampilkan angka satu, jika lampu mati menampilkan angka 0.namun Ketika kaki 3 dan 4 Arduino berlogika 0 maka seluruh sistem, lampu, dan seven segmen akan mati. Ketika saklar kedua berada pada posisi 2 (berlogika 0), maka lampu dan sensor akan mati. Sedangkan ketika saklar pertama berada pada posisi 4 dan saklar 2 pada posisi 3(berlogika 1), maka lampu akan hidup.
d. Flowchart dan Listing Program [Kembali]
- Flowchart
- Listing Program
// Pin untuk lampu ED
const int lampPin = 7;
// Pin untuk sensor PIR, Touch, dan Vibration
const int pirPin = 0;
const int touchPin = 2;
const int vibrationPin = 1;
// Pin untuk dip switch
const int switch3Pin = 3;
const int switch4Pin = 4;
// Pin untuk Seven Segmen
const int segA = 10;
const int segB = 11;
const int segC = 12;
const int segD = 13;
void setup() {
// Inisialisasi pin sebagai input atau output
pinMode(lampPin, OUTPUT);
pinMode(pirPin, INPUT);
pinMode(touchPin, INPUT);
pinMode(vibrationPin, INPUT);
pinMode(switch3Pin, INPUT_PULLUP);
pinMode(switch4Pin, INPUT_PULLUP);
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT);
}
void displayDigit(int digit) {
// Fungsi untuk menampilkan digit pada Seven Segmen
digitalWrite(segA, digit & 0x01);
digitalWrite(segB, digit & 0x02);
digitalWrite(segC, digit & 0x04);
digitalWrite(segD, digit & 0x08);
}
void loop() {
// Baca nilai dari sensor-sensor dan dip switch
int pirValue = digitalRead(pirPin);
int touchValue = digitalRead(touchPin);
int vibrationValue = digitalRead(vibrationPin);
int switch3Value = digitalRead(switch3Pin);
int switch4Value = digitalRead(switch4Pin);
// Aktivasi lampu berdasarkan kondisi sensor dan dip switch
if (switch3Value == HIGH) {
// Hidupkan lampu jika kaki pin 3 berlogika 1
if (switch4Value == HIGH || pirValue == HIGH || touchValue == HIGH || vibrationValue == HIGH) {
digitalWrite(lampPin, HIGH);
displayDigit(1); // Tampilkan "1" pada Seven Segmen
} else {
digitalWrite(lampPin, LOW);
displayDigit(0); // Tampilkan "0" pada Seven Segmen
}
} else {
// Matikan lampu jika kaki pin 3 berlogika 0
digitalWrite(lampPin, LOW);
displayDigit(0); // Tampilkan "0" pada Seven Segmen
}
// Tambahkan delay untuk stabilisasi dan mengurangi pembacaan berulang
delay(500);
}
- File HTML [klik]
- File Rangkaian Proteus [klik]
- Code Arduino [klik]
- Video Prinsip Kerja Rangkaian [klik]
- Datasheet Arduino Uno [klik]
- Datasheet Dip Switch [klik]
- Datasheet Seven Segment [klik]
- Datasheet Resistor [klik]
- Datasheet Sensor PIR [klik]
- Datasheet Vibration Sensor [klik]
- Datasheet Touch Sensor [klik]