Tugas Besar

Aplikasi Kontrol Garasi





1. Pendahuluan
[Kembali]

Seiring bertambahnya populasi dan juga jumlah kendaraan bermotor, maka semakin berkurang juga lahan parkir yang tersedia. Nantinya akan memaksa si pemilik kendaraan untuk memarkirkan kendaraannya hanya di tempat terbuka, tanpa ada pengawasan. Hal ini akan berakibat membuka kesempatan bagi oknum yang untuk melakukan tindak kriminal seperti pencurian

Oleh karena itu ,diperlukan suatu inovasi agar dapat menjamin keamanan kendaraan. Salah satu bentuk perwujudannya adalah dengan menggunakan Smart Garage yang memungkinkan pemilik kendaraan dapat memarkirkan kendaraannya dengan aman


2. Tujuan [Kembali]

  • Memenuhi tugas Mikrroprosesor dan Mikrokontroler
  • Menjelaskan prinsip kontrol garasi dengan input(sensor infrared dll) dan output(motor DC/AC & LCD 16 x 4/32 x 7 dotmatrik/7 7-segment dll)
  • Mensimulasikan rangkaian yang menggunakan input(sensor infrared dll) dan output(motor DC/AC & LCD 16 x 4/32 x 7 dotmatrik/7 7-segment dll)

3. Alat dan Bahan [Kembali]


1. Sensor UV
Sensor yang mendeteksi adanya cahaya terang dan gelap.

Pinout

Spesifikasi

Grafik Respon Sensor




2. Infra Red Sensor






  • 5VDC Operating voltage

  • I/O pins are 5V and 3.3V compliant

  • Range: Up to 20cm

  • Adjustable Sensing range

  • Built-in Ambient Light Sensor

  • 20mA supply current

  • Mounting hole


3. 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

Diagram sebsor 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 yangterbentuk ketika sinar matahari mengenai solar cell.

Grafik Respon Pir terhadap suhu


Grafik sensor pir terhadap jarak, kecepatan,arah objek


Spesifikasi



4. Sensor LM35 (Sensor Suhu )
Sensor suhu IC LM35 pada dasarnya memiliki 3 pin yang berfungsi sebagai sumber supply tegangan DC +5 volt, sebagai pin output hasil penginderaan dalam bentuk perubahan tegangan DC pada Vout dan pin untuk Ground.
Prinsip Kerja LM35 :

Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan 100°C setara dengan 1 volt. Sensor ini mempunyai pemanasan diri (self heating) kurang dari 0,1°C, dapat dioperasikan dengan menggunakan power supply tunggal dan dapat dihubungkan antar muka (interface) rangkaian control.
Sensor suhu LM35 mampu melakukan pengukuran suhu dari suhu -55ºC hingga +150ºC dengan toleransi kesalahan pengukuran ±0.5ºC.

Dilihat dari tipenya range suhu dapat dilihat sebagai berikut :
  • LM35, LM35A -> range pengukuran temperature -55ºC hingga +150ºC.
  • LM35C, LM35CA -> range pengukuran temperature -40ºC hingga +110ºC.
  • LM35D -> range pengukuran temperature 0ºC hingga +100ºC.
Kelebihan LM 35 :
  • Rentang suhu yang jauh, antara -55 sampai +150ºC
  • Low self-heating, sebesar 0.08 ºC
  • Beroperasi pada tegangan 4 sampai 30 V
  • Tidak memerlukan pengkondisian sinyal
Kekurangan LM 35:
  • Membutuhkan tegangan untuk beroperasi.
Grafik akurasi LM35 terhadap suhu



5. Gas Sensor ( MQ 2 )


Spesifikasi

  • Sensitivitas tinggi dengan area deteksi luas
  • Long life
  • Detection gas : LPG, i-butane, Propane, Methane, Alkohol, Hidrogen
  • Concentration : 200 - 5000 ppm (LPG dan Propane), 300 - 5000 ppm (Butane), 5000 - 20000 ppm (Methane), 300 - 5000 ppm (Hidrogen), 100 - 2000 ppm (Alkohol)
  • Circuit Voltage (Vc) : 5V
  • Heating Voltage (Vh) : 1.4V-5V
  • Heating Time Th (High) : 60s
  • Heating Time Th (Low) : 90s
  • Load Resistence (RL) : Adjustable
  • Heater resistance (Rh) : 33 ohm
  • Heater Consumption : <800 mW
  • Sensing resistance : 3K ohm - 30K ohm (pada 1000 ppm iso Butane)
  • Preheat time : >24 jam



LCD
Spesifikasi :



Ground

Ground Berfungsi sebagai untuk meniadakan beda potensial dengan mengalirkan arus
sisa dari kebocoran tegangan atau arus pada rangkaian


Keypad Phone



Motor
Dioda



Transistor





Resistor

Logic Probe
. Voltmeter






4. Dasar Teori [Kembali]

a. Arduino Uno


Arduino adalah pengendali mikro single-board yang bersifatopen-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware arduino memiliki prosesor Atmel AVR dan software arduino memiliki bahasa pemrograman C.Memori yang dimiliki oleh Arduino Uno sebagai berikut : Flash Memory sebesar 32KB, SRAM sebesar 2KB, dan EEPROM sebesar 1KB. Clock pada board Uno menggunakan XTAL dengan frekuensi 16 Mhz. Dari segi daya, Arduino Uno membutuhkan tegangan aktif kisaran 5 volt, sehingga Uno dapat diaktifkan melalui koneksi USB. Arduino Uno memiliki 28 kaki yang sering digunakan. Untuk Digital I/O terdiri dari 14 kaki, kaki 0 sampai kaki 13, dengan 6 kaki mampu memberikan output PWM (kaki 3,5,6,9,10,dan 11). Masing-masing dari 14 kaki digital di Uno beroperasi dengan tegangan maksimum 5 volt dan dapat memberikan atau menerima maksimum 40mA. Untuk Analog Input terdiri dari 6 kaki, yaitu kaki A0 sampai kaki A5. Kaki pin merupakan tempat input tegangan kepada Uno saat menggunakan sumber daya eksternal selain USB dan adaptor.

ATMega328 merupakan bagian mikrokontroler yang ada pada arduino R3 keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang mana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroler ini memiliki beberapa fitur antara lain:
1. Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanen karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.
2. Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
3. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output.
4. 32 x 8-bit register serba guna.
5. Dengan clock 16 MHz kecepatan mencapai 16 MIPS.
6. 32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
7. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.

Pada Arduino uno terdapat beberapa PIN seperti:

- PB5/SCK : Pin PB5/SCK pada Arduino Uno adalah salah satu pin pada PORTB yang digunakan sebagai input/output digital. Fungsinya adalah sebagai pin clock untuk komunikasi serial pada mode SPI (Serial Peripheral Interface.
Pada Proteus, fungsi input/output pada pin dapat diatur menggunakan instruksi pinMode(), digitalRead(), dan digitalWrite()

- PB4/MISO : Pin PB4/MISO pada Proteus adalah salah satu pin pada PORTB yang digunakan sebagai input/output digital pada Arduino Uno. Fungsinya adalah sebagai pin input untuk komunikasi serial pada mode SPI (Serial Peripheral Interface Pada Proteus, fungsi input/output pada pin dapat diatur menggunakan instruksi pinMode(), digitalRead(), dan digitalWrite()





- PB/OC : Fungsinya adalah sebagai pin output PWM (Pulse Width Modulation) yang dapat menghasilkan sinyal gelombang dengan lebar pulsa yang dapat diatur Pada Proteus, fungsi input/output pada pin dapat diatur menggunakan instruksi pinMode(), digitalRead(), dan digitalWrite(Pin PB1/OC1A pada Arduino Uno dapat digunakan sebagai output PWM dengan menggunakan instruksi analogWrite()




- PWM
PWM (Pulse Width Modulation) adalah sebuah teknik yang penting dalam penggunaan Arduino untuk berbagai aplikasi. Teknik ini melibatkan penggunaan timer internal mikrokontroler dan fitur modulasi lebar pulsa untuk menghasilkan sinyal dengan lebar pulsa yang dapat dikontrol. PWM umumnya digunakan untuk mengontrol kecepatan motor DC, menyesuaikan kecerahan lampu LED, mengatur posisi motor servo, merancang sistem pemanas, dan menghasilkan sinyal audio melalui speaker. Selain itu, PWM juga digunakan untuk mengubah listrik DC menjadi AC, mengatur kecepatan motor, menerapkan sumber daya switching, dan meredupkan lampu DC. Dalam konteks Arduino, PWM dapat digunakan untuk menghasilkan sinyal keluaran analog, memungkinkan perangkat digital menghasilkan gelombang keluaran variabel.


b. Resistor



Resistor merupakan salah satu komponen yang digunakan dalam sebuah sirkuit atau rangkaian elektronik. Resistor berfungsi sebagai resistansi/ hambatan yang mampu mengatur atau mengendalikan tegangan dan arus listrik rangkaian. Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin dimana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir, berdasarkan persamaan hukum Ohm :




c. Power Supply
Vcc berfungsi untuk memberikan tegangan kepada input, dimana disini diberikan kepada switch.

d. Sensor Infrared

Sensor Infrared adalah komponen elektronika yang dapat mendeteksi benda ketika cahaya infra merah terhalangi oleh benda. Sensor infared terdiri dari led infrared sebagai pemancar sedangkan pada bagian penerima biasanya terdapat foto transistor, fotodioda, atau inframerah modul yang berfungsi untuk menerima sinar inframerah yang dikirimkan oleh pemancar. Sensor infrared memiliki simbol seperti gambar di bawah ini :


Prinsip Kerja Sensor Infrared




Gambar 1. Ilustrasi prinsip kerja sensor infrared

Ketika pemancar IR memancarkan radiasi, ia mencapai objek dan beberapa radiasi memantulkan kembali ke penerima IR. Berdasarkan intensitas penerimaan oleh penerima IR, output dari sensor ditentukan.


Gambar 2. Rangkaian dasar sensor infrared common emitter yang menggunakan led infrared dan fototransistor

Grafik Respon Sensor Infrared

Gambar 4. Grafik respon sensor infrared

Grafik menunjukkan hubungan antara resistansi dan jarak potensial untuk sensitivitas rentang antara pemancar dan penerima inframerah. Resistor yang digunakan pada sensor mempengaruhi intensitas cahaya inframerah keluar dari pemancar. Semakin tinggi resistansi yang digunakan, semakin pendek jarak IR Receiver yang mampu mendeteksi sinar IR yang dipancarkan dari IR Transmitter karena intensitas cahaya yang lebih rendah dari IR Transmitter. Sementara semakin rendah resistansi yang digunakan, semakin jauh jarak IR Receiver mampu mendeteksi sinar IR yang dipancarkan dari IR Transmitter karena intensitas cahaya yang lebih tinggi dari IR Transmitter.



e. Jumper
Kabel jumper adalah suatu istilah kabel yang ber-diameter kecil yang di dalam dunia elektronika digunakan untuk menghubungkan dua titik atau lebih dan dapat juga untuk menghubungkan 2 komponen elektronika. Kabel jumper jenis ini digunakan untuk koneksi male to male pada kedua ujung kabelnya.

f. LED
LED merupakan singkatan dari Light Emitting Diode, merupakan salah satu perangkat semikonduktor yang mengeluarkan cahaya ketika arus listrik melewatinya, dan digunakan sebagai indikator keluaran (output).

Tegangan LED menurut warna yang dihasilkan:

    • Infra merah : 1,6 V.
    • Merah : 1,8 V – 2,1 V.
    • Oranye : 2,2 V.
    • Kuning : 2,4 V.
    • Hijau : 2,6 V.
    • Biru : 3,0 V – 3,5 V.
    • Putih : 3,0 – 3,6 V.
    • Ultraviolet : 3,5 V.

g. Rangkaian Reset


Mikrokontroler menggunakan rangkaian reset. Rangkaian power on reset terdiri dari resistor 4,7KΩ dan tombol untuk penekanan reset secara manual yang diparalel dengan capasitor 10nF.
Rangkain Reset
Rangkain Reset


Komunikasi UART (Universal Asynchronous Receiver Transmitter) adalah metode komunikasi data secara serial antara dua perangkat. Komunikasi serial berarti data dikirim satu bit demi satu bit, satu per satu. Arduino Uno memiliki satu antarmuka UART yang terletak pada pin 0 (RX) dan pin 1 (TX). Pin RX digunakan untuk menerima data dari perangkat lain, sedangkan pin TX digunakan untuk mengirim data ke perangkat lain.Untuk menggunakan komunikasi UART pada Arduino Uno, Anda perlu menghubungkan pin RX dan TX Arduino Uno ke pin RX dan TX perangkat lain. Setelah itu, Anda perlu menginisialisasi komunikasi serial di kedua perangkat.

Komunikasi UART dapat digunakan untuk berbagai keperluan, seperti:

  • Menghubungkan Arduino Uno ke komputer untuk mengirim dan menerima data.
  • Menghubungkan Arduino Uno ke sensor atau perangkat lain.
  • Menghubungkan Arduino Uno ke jaringan komputer.

Pin RX dan TX adalah pin yang digunakan untuk komunikasi serial pada Arduino Uno. Pin RX digunakan untuk menerima data dari perangkat lain, sedangkan pin TX digunakan untuk mengirim data ke perangkat lain.

Pin RX dan TX menggunakan level tegangan logic 5V atau 3.3V, sesuai dengan hardware yang digunakan. Jika berbeda tenganganya kalian dapat menggunakan rangkaian pembagi tegangan (voltage devider) atau level converter.

Berikut adalah fungsi pin RX dan TX secara lebih detail:

  • Pin RX
    • Mengirim data ke Arduino Uno dari perangkat lain.
    • Data yang dikirim ke Arduino Uno akan diinterpretasikan sebagai data biner.
    • Data biner tersebut dapat berupa karakter, angka, atau data lainnya.
  • Pin TX
    • Mengirim data dari Arduino Uno ke perangkat lain.
    • Data yang dikirim dari Arduino Uno harus berupa data biner.
    • Data biner tersebut dapat berupa karakter, angka, atau data lainnya.
5. Percobaan [Kembali]

a. Prosedur[Kembali]

1. Siapkan komponen yang diperlukan
2. Susunlah rangkaian sesuai dngan panduan
3. Inputkan codingan pada software arduino IDE
4. Running rangkaian

b. Hardware[Kembali]
Hardware :
  1. Arduino Uno
  2. PIR Sensor
  3. Flame Sensor
  4. Infrared Sensor
  5. UV Sensor
  6. Sensor MQ 2
  7. sensor LM 35
  8. LED
  9. Relay
  10. Dioda
  11. Logic State
  12. Switch

c. Rangkaian Simulasi, Flowchart dan Prinsip Kerja[Kembali]




Prinsip Kerja

Jika terdapat mobil yang memasuki ruang garasi maka, sensor Infrared akan aktif dan secara otomatis terbaca pada LCD, Sensor PIR akan menggerrakkan motor pembuka dan penutup pintu garasi.

Jika suhu di dalam garasi melebihi 27 derajat, maka kipas akan menyala dan Apabila sensor MQ5 mendeteksi adanya gas , maka buzzer akan menyala.


di dalam garasi juga terdapat sensor UV yang terletak diluar ruang garasi, yang berfungsi untuk menghidupkan lampu yang juga terletak di luar ruang garasi



d. Virtual Designer dan Listing Program[Kembali]









//Library LCD #include //Deklarasi PIN #define infrared 13 #define pir 12 #define mq 11 #define uv A0 #define suhu A1 #define a 8 #define b 7 #define c 6 #define d 5 #define A 4 #define B 3 //PIN LCD LiquidCrystal lcd(A5, A4, A3, A2, 9, 10); //variabel int ribuan, ratusan, puluhan, satuan; int yy; int counter = 0; int i = 0; int o = 0; void setup() { //untuk memulai serial monitor Serial.begin(9600); //Deklarasi pinMode pinMode(infrared, INPUT); pinMode(pir, INPUT); pinMode(mq, INPUT); pinMode(suhu, INPUT); pinMode(uv, INPUT); pinMode(A, OUTPUT); pinMode(B, OUTPUT); pinMode(c, OUTPUT); pinMode(d, OUTPUT); pinMode(a, OUTPUT); pinMode(b, OUTPUT); //Posisi text pada LCD lcd.begin(16,1); } void loop() { //counter untuk seven segment for(int y = 0; y<5; y++){ setAngka(counter); } //Variabel untuk data sensor int infraredlogic = digitalRead(infrared); int pirlogic = digitalRead(pir); int mqlogic = digitalRead(mq); int suhulogic = analogRead(suhu); int uvlogic = analogRead(uv); //counter pada LCD if(counter < 100){ lcd.clear(); lcd.print("Jmlh Mobil: "); lcd.print(counter); } //fungsi-fungsi untuk mengirim pesan pada serial monitor else if(counter == 100){ lcd.clear(); lcd.print("GARASI PENUH"); Serial.write('F'); } if(infraredlogic == HIGH && i == 1){ counter++; i = 0; Serial.write('I'); } else if(infraredlogic == LOW){ i = 1; Serial.write('i'); } if(suhulogic > 56){ Serial.write('S'); } else if(suhulogic <= 56){ Serial.write('s'); } if(uvlogic < 885){ Serial.write('U'); } else if(uvlogic > 885){ Serial.write('u'); } if (mqlogic == HIGH){ Serial.write('M'); } else if (mqlogic == LOW){ Serial.write('m'); } if(pirlogic == HIGH){ Serial.write('P'); } else if(pirlogic == LOW){ Serial.write('p'); } } void angka(int xx){//fungsi mendeklarasikan nilai angka pada seven segment if(xx==0){ digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); } if(xx==1){ digitalWrite(a,HIGH); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); } if(xx==2){ digitalWrite(a,LOW); digitalWrite(b,HIGH); digitalWrite(c,LOW); digitalWrite(d,LOW); } if(xx==3){ digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,LOW); digitalWrite(d,LOW); } if(xx==4){ digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,HIGH); digitalWrite(d,LOW); } if(xx==5){ digitalWrite(a,HIGH); digitalWrite(b,LOW); digitalWrite(c,HIGH); digitalWrite(d,LOW); } if(xx==6){ digitalWrite(a,LOW); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,LOW); } if(xx==7){ digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,LOW); } if(xx==8){ digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,HIGH); } if(xx==9){ digitalWrite(a,HIGH); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,HIGH); } } void setAngka(int xxx) {//fungsi mendeklarasikan counter yang akan ditampilkan pada seven segment if (xxx < 10) { ribuan = 0; ratusan = 0; puluhan = 0; satuan = xxx; } else if (xxx < 100) { ribuan = 0; ratusan = 0; puluhan = xxx / 10; satuan = xxx % 10; } else if (xxx < 1000) { ribuan = 0; ratusan = xxx / 100; puluhan = (xxx / 10) % 10; satuan = xxx % 10; } else if (xxx < 10000) { ribuan = xxx / 1000; ratusan = (xxx / 100) % 10; puluhan = (xxx / 10) % 10; satuan = xxx % 10; } digitalWrite(A, LOW); digitalWrite(B, LOW); angka(ribuan); delay(1); digitalWrite(A, HIGH); digitalWrite(B, LOW); angka(ratusan); delay(1); digitalWrite(A, LOW); digitalWrite(B, HIGH); angka(puluhan); delay(1); digitalWrite(A, HIGH); digitalWrite(B, HIGH); angka(satuan); delay(1); }


e. Video Simulasi[Kembali]

  • Video Simulasi



  • Vidio Visual Designer







  • video teori arduino

  • video teori Infrared

  • video teori arduino

f. Download File[Kembali]

Download rangkaian klik disini
Download HMTL klik disini
Download listing program klik disini
Download video simulasi rangkaian klik disini
Downkoad video simulasi virtual designer klik disini

Data Sheet

Download datasheet sensor UV klik disini
Download datasheet Flame Sensor klik disin
Download Data sheet LM35 Klik di sini
Download Data Sheet Sensor PIR klik disini
Download Data Sheet MQ 2 Klik disini
Download Datasheet Resistor klik disini
Download Datasheet 7 Segment klik disini
Download Datasheet Motor DC klik disini
Download Datasheet LED klik disin
Download Datasheet Relay klik disini
Download Datasheet Switch klik disini
Download Datasheet Dioda klik disinii

Library

Download Library Sensor Flame klik disini
Download library Sensor UV klik disini
Download library PIR sensor klik disini
Download library LM35
Download Library Sensor MQ2 klik disini
Download Library Sensor Arduino klik disini





Komentar

Postingan populer dari blog ini

Modul 1

Modul I - Gerbang Logika dan Multivibrator