Modul IV Praktikum Mikroprosesor dan Mikrocontroler

Modul IV Project Demo




1. Tujuan [kembali]
  • Untuk mendeteksi apakah ada gas bocor
  • Mensterilkan daerah yang terdapat gas bocor
  • Memberi informasi bahwa ada gas bocor

2. Daftar Komponen[kembali]
a. Trimpot

b.LED
c.LCD 16x2
d.Buzzer
e.Resistor
f.Battery 9v
g.Motor Driver
h.Motor

i.Jumper
j. MQ-2
k. Arduino Uno


l. NRF24l01



3. Dasar Teori[kembali]
·       Sensor MQ-2 adalah salah satu sensor yang sensitif terhadap asap rokok. Bahan utama sensor ini adalah SnO2 dengan konduktifitas rendah pada udara bersih. Jika terdapat kebocoran gas konduktifitas sensor menjadi lebih tinggi, setiap kenaikan konsentrasi gas maka konduktifitas sensor juga naik. MQ-2 sensitif terhadap gas LPG, Propana, Hidrogen, Karbon Monoksida, Metana dan Alkohol serta gas mudah terbakar diudara lainnya. 

Prinsip Kerja Sensor Asap MQ-2 berfungsi untuk mendeteksi keberadaan asap yang berasal dari gas mudah terbakar di udara. Pada dasarnya sensor ini terdiri dari tabung aluminium yang dikelilingi oleh silikon dan di pusatnya ada elektroda yang terbuat dari aurum di mana ada element pemanasnya. Ketika terjadi proses pemanasan, kumparan akan dipanaskan sehingga SnO2 keramik menjadi semikonduktor atau sebagai penghantar sehingga melepaskan elektron dan ketika asap dideteksi oleh sensor dan mencapai aurum elektroda maka output sensor MQ-2 akan menghasilkan tegangan analog. Sensor MQ-2 ini memiliki 6 buah masukan yang terdiri dari tiga buah power supply (Vcc) sebasar +5 volt untuk mengaktifkan heater dan sensor, Vss (Ground), dan pin keluaran dari sensor tersebut.

Sensor gas dan asap ini mendeteksi konsentrasi gas yang mudah terbakar di udara serta asap dan output membaca sebagai tegangan analog. Sensor dapat mengukur konsentrasi gas mudah terbakar dari 300 sampai 10.000 sensor ppm. Dapat beroperasi pada suhu dari -20 sampai 50 ° C dan mengkonsumsi kurang dari 150 mA pada 5V. Dibawah ini merupakan gambar bentuk, internal sensor MQ-2. 
Range pengukuran :
200 - 5000ppm untuk LPG, propane
300 - 5000ppm untuk butane
5000 - 20000ppm untuk methane
300 - 5000ppm untuk Hidrogen
  •  LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya.


LCD atau Liquid Crystal Display pada dasarnya terdiri dari dua bagian utama yaitu bagian Backlight (Lampu Latar Belakang) dan bagian Liquid Crystal (Kristal Cair). Seperti yang disebutkan sebelumnya, LCD tidak memancarkan pencahayaan apapun, LCD hanya merefleksikan dan mentransmisikan cahaya yang melewatinya. Oleh karena itu, LCD memerlukan Backlight atau Cahaya latar belakang untuk sumber cahayanya. Cahaya Backlight tersebut pada umumnya adalah berwarna putih. Sedangkan Kristal Cair (Liquid Crystal) sendiri adalah cairan organik yang berada diantara dua lembar kaca yang memiliki permukaan transparan yang konduktif.
Bagian-bagian LCD atau Liquid Crystal Display diantaranya adalah :
  • Lapisan Terpolarisasi 1 (Polarizing Film 1)
  • Elektroda Positif (Positive Electrode)
  • Lapisan Kristal Cair (Liquid Cristal Layer)
  • Elektroda Negatif (Negative Electrode)
  • Lapisan Terpolarisasi 2 (Polarizing film 2)
  • Backlight atau Cermin (Backlight or Mirror)
Dibawah ini adalah gambar struktur dasar sebuah LCD :
Register control yang terdapat dalam suatu LCD diantaranya adalah.

    ~ Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data
    ~Register data yaitu register untuk menuliskan atau membaca data dari atau keDDRAM. Penulisan data pada register akan menempatkan data tersebut keDDRAM sesuai dengan alamat yang telah diatur sebelumnya.

Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah :

·       ~ Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.

·        ~Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data.

·        ~Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data.

·        ~Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.

~Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.
Kaki-Kaki LCD

  • LED
Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan  cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.
~CARA kerja LED
Seperti dikatakan sebelumnya, LED merupakan keluarga dari Dioda yang terbuat dari Semikonduktor. Cara kerjanya pun hampir sama dengan Dioda yang memiliki dua kutub yaitu kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias forward) dari Anoda menuju ke Katoda.
LED terdiri dari sebuah chip semikonduktor yang di doping sehingga menciptakan junction P dan N. Yang dimaksud dengan proses doping dalam semikonduktor adalah proses untuk menambahkan ketidakmurnian (impurity) pada semikonduktor yang murni sehingga menghasilkan karakteristik kelistrikan yang diinginkan. Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan Elektron pada N-Type material akan berpindah ke wilayah yang kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif (P-Type material). Saat Elektron berjumpa dengan Hole akan melepaskan photon dan memancarkan cahaya monokromatik (satu warna).
~Polaritas LED
Untuk mengetahui polaritas terminal Anoda (+) dan Katoda (-) pada LED. Kita dapat melihatnya secara fisik berdasarkan gambar diatas. Ciri-ciri Terminal Anoda pada LED adalah kaki yang lebih panjang dan juga Lead Frame yang lebih kecil. Sedangkan ciri-ciri Terminal Katoda adalah Kaki yang lebih pendek dengan Lead Frame yang besar serta terletak di sisi yang Flat.

  • ARDUINO

Berdasarkan pada Gambar 2, akan diurutkan bagian-bagian dari board Arduino beserta fungsi-fungsinya yaitu sebagai berikut:
1)      USB Soket/Power USB

USB Soket/Power USB digunakan untuk memberikan catu daya ke Papan Arduino menggunakan kabel USB dari komputer. Selain menjadi port catu daya, USB juga memiliki berfungsi untuk:

   i.            Memuat program dari komputer ke dalam board Arduino.

   ii.            Komunikasi serial antara papan Arduino dan komputer begitu juga sebaliknya.

Pada versi lebih lama Arduino terdapat sambungan SV1 Sambungan atau jumper untuk memilih sumber daya yang digunakan, 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.
2)      Power (Barrel Jack)

Papan Arduino dapat juga diberikan colokan catu daya secara langsung dari sumber daya AC dengan menghubungkannya ke Barrel Jack yang tersedia. Tegangan maksimal yang dapat diberikan kepada Arduino maksimal 12volt dengan range arus maksimal 2A (Agar regulator tidak panas).
3)      Voltage Regulator

Fungsi dari voltage regulator adalah untuk mengendalikan atau menurunkan tegangan yang diberikan ke papan Arduino dan menstabilkan tegangan DC yang digunakan oleh prosesor dan elemen-elemen lain.
4)      Crystal Oscillator

Kristal (quartz crystal oscillator), jika mikrokontroler dianggap sebagai sebuah otak, maka kristal adalah jantung-nya karena komponen ini menghasilkan detak-detak yang dikirim kepada mikrokontroler agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta kali per detik (16MHz).

Crystal oscillator membantu Arduino dalam hal yang berhubungan dengan waktu. Bagaimana Arduino menghitung waktu? Jawabannya adalah, dengan menggunakan crystal oscillator. Angka yang tertulis pada bagian atas crystal 16.000H9H berarti bahwa frekuensi dari oscillator tersebut adalah 16.000.000 Hertz atau 16 MHz.
5)      5, 17 Arduino Reset

Kita dapat mereset papan arduino, misalnya memulai program dari awal. Terdapat dua cara untuk mereset Arduino Uno. Pertama, dengan menggunakan reset button (17) pada papan arduino. Kedua, dengan menambahkan reset eksternal ke pin Arduino yang berlabel RESET (5). Perhatikan bahwa tombol reset ini bukan untuk menghapus program atau mengosongkan mikrokontroler.
6)      3.3V (6) − Supply 3.3 output volt
7)      5V (7) − Supply 5 output volt

Sebagaian besar komponen yang digunakan papan Arduino bekerja dengan baik pada tegangan 3.3 volt dan 5 volt.
8)      GND (8)(Ground) – Ada beberapa pin GND pada Arduino, salah satunya dapat digunakan untuk menghubungkan ground rangkaian.
9)      Vin (9) – Pin ini juga dapat digunakan untuk memberi daya ke papan Arduino dari sumber daya eksternal, seperti sumber daya AC.
10)  10 Analog pins

Papan Arduino Uno memiliki enam pin input analog A0 sampai A5. Pin-pin ini dapat membaca tegangan dan sinyal yang dihasilkan oleh sensor analog seperti sensor kelembaban atau temperatur dan mengubahnya menjadi nilai digital yang dapat dibaca oleh mikroprosesor. Program dapat membaca nilai sebuah pin input antara 0 – 1023, dimana hal itu mewakili nilai tegangan 0 – 5V.
11)  Main microcontroller

Setiap papan Arduino memiliki Mikrokontroler (11). Kita dapat menganggapnya sebagai otak dari papan Arduino. IC (integrated circuit) utama pada Arduino sedikit berbeda antara papan arduino yang satu dengan yang lainnya. Mikrokontroler yang sering digunakan adalah ATMEL. Kita harus mengetahui IC apa yang dimiliki oleh suatu papan Arduino sebelum memulai memprogram arduino melalui Arduino IDE. Informasi tentang IC terdapat pada bagian atas IC. Untuk mengetahui kontruksi detai dari suatu IC, kita dapat melihat lembar data dari IC yang bersangkutan.
12)  12 ICSP pin

Kebanyakan, ICSP (12) adalah AVR, suatu programming header kecil untuk Arduino yang berisi MOSI, MISO, SCK, RESET, VCC, dan GND. Hal ini sering dirujuk sebagai SPI (Serial Peripheral Interface), yang dapat dipertimbangkan sebagai “expansion” dari output. Sebenarnya, kita memasang perangkat output ke master bus SPI.

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.
13)  Power LED indicator

LED ini harus menyala jika menghubungkan Arduino ke sumber daya. Jika LED tidak menyala, maka terdapat sesuatu yang salah dengan sambungannya.
14)  14 TX dan RX LEDs
Pada papan Arduino, kita akan menemukan label: TX (transmit) dan RX (receive). TX dan RX muncul di dua tempat pada papan Arduino Uni. Pertama, di pin digital 0 dan 1, Untuk menunjukkan pin yang bertanggung jawab untuk komunikasi serial. Kedua, TX dan RX led (13). TX led akan berkedip dengan kecepatan yang berbeda saat mengirim data serial. Kecepatan kedip tergantung pada baud rate yang digunakan oleh papan arduino. RX berkedip selama menerima proses.
15)  Digital I/O

Papan Arduino Uno memiliki 14 pin I/O digital (15), 6 pin output menyediakan PWM (Pulse Width Modulation). Pin-pin ini dapat dikonfigurasikan sebagai pin digital input untuk membaca nilai logika (0 atau 1) atau sebagai pin digital output untuk mengendalikan modul-modul seperti LED, relay, dan lain-lain. Pin yang berlabel “~” dapat digunakan untuk membangkitkan PWM.
16)  AREF

AREF merupakan singkatan dari Analog Reference. AREF kadanag-kadang digunakan untuk mengatur tegangan referensi eksternal (antar 0 dan 5 Volts) sebagai batas atas untuk pin input analog input.



~MOTOR DRIVER

IC L293D adalah IC yang didesain khusus sebagai driver motor DC dan dapat dikendalikan dengan rangkaian TTL maupun mikrokontroler. Motor DC yang dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan positif karena di dalam driver L293D sistem driver yang digunakan adalah totem pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah driver motor DC yang berdiri sendiri sendiri dengan kemampuan mengalirkan arus 1 Ampere tiap drivernya. Sehingga dapat digunakan untuk membuat driver H-bridge untuk 2 buah motor DC. Konstruksi pin driver motor DC IC l293D adalah sebagai berikut.
Driver motor menggunakan IC L293D yang sudah biasa digunakan, dengan fungsi sebagai berikut :
* IN1 & IN2 = arah putaran motor 1 misal (IN1=High & IN2=Low) maka motor forward dan sebaliknya.
* IN3 & IN4 = arah putaran motor 2 misal (IN3=High & IN4=Low) maka motor forward dan sebaliknya.
* EN1 = Pengatur kecepatan motor 1 dengan metode PWM (Pulse Width Modulation).
* EN1 = Pengatur kecepatan motor 2 dengan metode PWM (Pulse Width Modulation).

  • NRF24l01

Module Wireless nRF24L01 merupakan module yang mempunyai fungsi untuk komunikasi jarak jauh atau nirkabel yang memanfaatkan gelombang RF 2.4 GHz yang biasanya diaplikasikan untuk Scientific , Industrial, maupun Medical.
Pada modul ini menggunakan antarmuka SPI (Serial Parallel Interface) untuk berkomunikasi dengan mikrokontroler dalam hal ini Arduino. Tegangan operasional normal untuk mengakses module ini yaitu 3.3Vdc, yang biasanya dibantu dengan regulator AMS1117.
Module nRF24L01 memiliki perangkat keras yang berupa baseband logic Enhanced ShockBurst dan protocol accelerator yang memungkinan untuk berkomunikasi dalam kecepatan tinggi.
Selain itu, module ini juga memiliki fitur true ULP solution, yang berfungsi sebagai penghemat konsumsi daya sehingga hemat energi.  Dan bisa digunakan juga sebagai pembuatan perangkat fitnes dan olahraga, pendukung PC, mainan anak-anak, piranti perangkat untuk permainan, dan lainnya.
Kesimpulan dari beberapa fitur Modul Wireless RF nRF24L01 :
  • Data rate mencapai 2Mbps
  • Penanganan transaksi paket otomatis
  • Beroperasi pada pada pita ISM 2.4 GHZ
  • Konsumsi daya yang rendah
  • Penanganan paket data otomatis
  • Jarak komunikasinya 1100 meter

Pin Out dari Modul Wireless RF nRF24L01



4. Flowchart [kembali]
MASTER

SLAVE




5. Listing Program [kembali]

MASTER
#define sensor A1
#include<LiquidCrystal.h>
#include <Wire.h>
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>


LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int nilai;

RF24 radio(9, 10); // CE, CSN
const byte addresses[][6] = {"00298", "00910"};
char data;

void setup() {
  lcd.begin(16, 2);
  pinMode(sensor, INPUT);
  Serial.begin(115200);
  radio.begin();
  radio.openWritingPipe(addresses[0]); // 00002
  radio.openReadingPipe(1, addresses[1]); // 00001
  radio.setPALevel(RF24_PA_MAX);


}

void loop() {
  nilai = analogRead(sensor);
  Serial.println('\t');
  Serial.println(nilai);
  delay(200);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("gas");
  lcd.setCursor(0, 1);
  lcd.print(nilai);
  delay(200);
  radio.stopListening();
  if (nilai <= 150) {
    data = '1';
    delay(100);
    radio.write(&data, sizeof(data));
    Serial.println(data);
    delay(100);
  }
  else if (nilai > 150 && nilai <= 200)
  {
    data = '2';
    delay(100);
    radio.write(&data, sizeof(data));
    Serial.println(data);
    delay(100);
  }
  else {
    data = '3';
    delay(100);
    radio.write(&data, sizeof(data));
    Serial.println(data);
    delay(100);
  }
  delay(100);
}

SLAVE
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#define led 2
#define led1 3
#define led2 4
#define buzzer 5
#define in1 7

char data;
RF24 radio(9, 10); // CE, CSN
const byte addresses[][6] = {"00298", "00910"};


void setup() {
  Serial.begin(115200);
  pinMode(led, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(in1, OUTPUT);
  radio.begin();
  radio.openWritingPipe(addresses[1]); // 00001
  radio.openReadingPipe(1, addresses[0]); // 00002
  radio.setPALevel(RF24_PA_MAX);

  delay(5);
  radio.startListening();
  while (!radio.available())
    digitalWrite(led, HIGH);
}

void loop() {
  delay(100);
  radio.startListening();
  while (!radio.available()) {
    Serial.println("No Data Received");
  }
  radio.read(&data, sizeof(data));
  Serial.print("Data Received : ");
  Serial.println(data);
  switch (data) {
    case '1' :
      digitalWrite(led, HIGH);
      digitalWrite(led1, LOW);
      digitalWrite(led2, LOW);
      digitalWrite(buzzer, LOW);
      digitalWrite(in1, LOW);
      break;
    case '2' :
      digitalWrite(led, LOW);
      digitalWrite(led1, HIGH);
      digitalWrite(led2, LOW);
      digitalWrite(buzzer, LOW);
      digitalWrite(in1, LOW);
      break;
    case '3' :
      digitalWrite(led, LOW);
      digitalWrite(led1, LOW);
      digitalWrite(led2, HIGH);
      digitalWrite(buzzer, HIGH);
      digitalWrite(in1, HIGH);
      break;
  }
}

6. Rangkaian Simulasi [kembali]


7. Video Simulasi[kembali]



1.   













1.   

1.                       Rangkaian ini menggunakan 2 arduino yang berkomunikasi secara Asyncronus Receiver Transmiter (UART) dengan perantara Wireless Nrf24l01 . Disini ada sensor yakni MQ-2 ,Sensor MQ-2 ini berguna untuk mendeteksi intensitas gas serta LCD sebagai display, MQ-2 sebagai input analog terhadap arduino master. Data yang diterima dari analog pin diolah oleh arduino dengan fungsinya sebagai ADC dan akhirnya bisa dibaca oleh sistem. Nilai tegangan yang di lewatkan oleh MQ-2 akan di inputkan pada kaki analog(A1) pada arduino master yang masih berupa nilai analog. Data yang diterima dari analogpin diolah oleh arduino dengan fungsinya dengan Analog Digital Converter (ADC) dan akhirnya bisa dibaca oleh arduino.

              Pada master setelah data tersebut terbaca , pada program arduino ada pengkondisian dimana jika nilai sensor MQ-2 kecil dari 200 maka akan ter eksekusi perintah ==’1’, jika nilai sensor MQ-2 bernilai besar dari 200 kecil dari 700 maka akan ter eksekusi perintah==’2’, Jika nilai sensor MQ-2 besar dari 700 maka akan ter eksekusi perintah==’3’,.

                   Lalu pada arduino slave akan diterima data serial yang dikirimkan oleh arduino master, saat data serial yang dibaca = 1 , maka arduino slave akan memperintahkan LED Green HIGH. Dan jika yang dibaca = 2, maka arduino slave akan memperintahkan LED Yellow HIGH. Apabila data yang terbaca = 3 , maka arduino slave akan memperintahkan LED Red HIGH , Buzzer High, Motor HIGH.

KLIK DISINI UNTUK VIDEO SIMULASI PROTEUS
KLIK DISINI UNTUK VIDEO SIMULASI ALAT
KLIK DISINI UNTUK CODING ARDUINO
KLIK DISINI UNTUK RANGKAIAN SIMULASI PROTEUS
KLIK DISINI UNTUK HTML
KLIK DISINI UNTUK SELURUH DATASHEET
KLIK DISINI UNTUK LIBRARY SENSOR DAN NRF24l01

Tidak ada komentar:

Posting Komentar