MODUL 1 MIKRO
DAFTAR ISI
Modul I
Keypad & Seven Segment
1. Pendahuluan [kembali]
2. Tujuan [Kembali]
- Merangkai dan menguji aplikasi output pada mikrokontroller arduino
- Merangkai dan menguji input pada mikrokontroller arduino
- Merangkai dan menguji I/O pada mikrokontroller arduino
3. Alat dan Bahan [Kembali]
A. Alat4. Dasar Teori [Kembali]
A. ResistorResistor 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 :
Tabel Kode Warna ResistorPerhitungan untuk Resistor dengan 4 Gelang warna :
Cara menghitung nilai resistor 4 gelang
Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan Jumlah nol dari kode warna Gelang ke-3 atau pangkatkan angka tersebut dengan 10 (10n)
Merupakan Toleransi dari nilai Resistor tersebut
Contoh :
Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 4 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1 MOhm dengan toleransi 10%.
Perhitungan untuk Resistor dengan 5 Gelang warna :
Cara Menghitung Nilai Resistor 5 Gelang Warna
Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan angka langsung dari kode warna Gelang ke-3
Masukkan Jumlah nol dari kode warna Gelang ke-4 atau pangkatkan angka tersebut dengan 10 (10n)
Merupakan Toleransi dari nilai Resistor tersebut
Contoh :
Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5
Gelang ke 4 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 5 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 105 * 105 = 10.500.000 Ohm atau 10,5 MOhm dengan toleransi 10%.
Contoh-contoh perhitungan lainnya :
Merah, Merah, Merah, Emas → 22 * 10² = 2.200 Ohm atau 2,2 Kilo Ohm dengan 5% toleransi
Kuning, Ungu, Orange, Perak → 47 * 10³ = 47.000 Ohm atau 47 Kilo Ohm dengan 10% toleransi
Cara menghitung Toleransi :
2.200 Ohm dengan Toleransi 5% =
2200 – 5% = 2.090
2200 + 5% = 2.310
ini artinya nilai Resistor tersebut akan berkisar antara 2.090 Ohm ~ 2.310 Ohm
B. Komponen Input
-Keypad
Keypad adalah bagian penting dari suatu perangkat elektronika yang membutuhkan interaksi manusia. Keypad berfungsi sebagai interface antara perangkat (mesin) elektronik dengan manusia atau dikenal dengan istilah HMI (Human Machine Interface). Matrix keypad 4×4 pada artikel ini merupakan salah satu contoh keypad yang dapat digunakan untuk berkomunikasi antara manusia dengan mikrokontroler. Matrix keypad 4×4 memiliki konstruksi atau susunan yang simple dan hemat dalam penggunaan port mikrokontroler. Konfigurasi keypad dengan susunan bentuk matrix ini bertujuan untuk penghematan port mikrokontroler karena jumlah key (tombol) yang dibutuhkan banyak pada suatu sistem dengan mikrokontroler. Konstruksi matrix keypad 4×4 untuk mikrokontroler dapat dibuat seperti pada gambar berikut. Konstruksi Matrix Keypad 4×4 Untuk Mikrokontroler Konstruksi matrix keypad 4×4 diatas cukup sederhana, yaitu terdiri dari 4 baris dan 4 kolom dengan keypad berupas saklar push buton yang diletakan disetiap persilangan kolom dan barisnya. Rangkaian matrix keypad diatas terdiri dari 16 saklar push buton dengan konfigurasi 4 baris dan 4 kolom. 8 line yang terdiri dari 4 baris dan 4 kolom tersebut dihubungkan dengan port mikrokontroler 8 bit. Sisi baris dari matrix keypad ditandai dengan nama Row1, Row2, Row3 dan Row4 kemudian sisi kolom ditandai dengan nama Col1, Col2, Col3 dan Col4. Sisi input atau output dari matrix keypad 4×4 ini tidak mengikat, dapat dikonfigurasikan kolom sebagi input dan baris sebagai output atau sebaliknya tergantung programernya.
Proses Scaning Matrix Keypad 4×4 Untuk Mikrokontroler Proses scaning untuk membaca penekanan tombol pada matrix keypad 4×4 untuk mikrokontroler diatas dilakukan secara bertahap kolom demi kolom dari kolom pertama sampai kolom ke 4 dan baris pertama hingga baris ke 4. Program untuk scaning matrix keypad 4×4 dapat bermacam-macam, tapi pada intinya sama. Misal kita asumsikan keypad aktif LOW (semua line kolom dan baris dipasang resistor pull-up) dan dihubungkan ke port mikrokontrolr dengan jalur kolom adalah jalur input dan jalur baris adalah jalur output maka proses scaning matrix keypad 4×4 diatas dapat dituliskan sebagai berikut.
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.
-Push Button
Push Button Module adalah modul elektronika yang dirancang untuk mendeteksi tekanan tombol atau saklar oleh pengguna. Modul ini biasanya terdiri dari tombol fisik yang ditekan untuk memungkinkan aliran arus atau sinyal saat ditekan dan memutus aliran ketika dilepaskan. Push Button Module sering digunakan dalam proyek-proyek elektronika dan mikrokontroler sebagai antarmuka antara pengguna dan sistem. Modul ini dapat terhubung ke pin input pada mikrokontroler atau perangkat elektronik lainnya, dan ketika tombol ditekan, dapat memicu aksi tertentu, seperti memulai atau menghentikan suatu proses, atau mengganti kondisi atau mode operasi pada sistem. Keberadaan Push Button Module memudahkan implementasi interaksi manusia-mesin dalam berbagai aplikasi elektronika.
Push Button Module bekerja berdasarkan prinsip saklar elektronik yang terdapat di dalamnya. Modul ini memiliki dua terminal yang terhubung oleh saklar yang secara default terbuka. Saat tombol ditekan, saklar tersebut menutup, menciptakan jalur listrik dan memungkinkan arus mengalir. Ketika tombol dilepaskan, saklar membuka kembali dan memutus aliran listrik. Push Button Module biasanya dihubungkan ke mikrokontroler atau sirkuit logika lainnya, dan ketika tombol ditekan, perubahan status saklar diinterpretasikan sebagai sinyal input yang memicu aksi tertentu dalam program atau sistem, menjadikannya antarmuka yang efektif untuk interaksi pengguna dalam proyek elektronika atau mikrokontroler.
C. Komponen Output
-Seven Segment
D. Komponen Lainnya
Block diagram dapat digunakan untuk memudahkan / memahami bagaimana kinerja dari mikrokontroler ATMega 328P.
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.
D. Komponen Lainnya
-Arduino
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 :
Arduino Uno
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.
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.
Rangkaian Mikrokontroler ATMega 328P pada Arduino UNO
5. Percobaan [Kembali]
a. percobaan
- 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 [kembali]
c. Rangkaian Simulasi [kembali]
d. Flowchar dan Program [kembali]
#include <Key.h>
#include <Keypad.h>
int check;
const byte rows = 4;
const byte cols = 3;
char key[rows][cols] =
{
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
byte rowpins[rows] = {0, 1, 2, 3};
byte colpins[cols] = {4, 5, 6};
Keypad keypad = Keypad( makeKeymap(key), rowpins, colpins, rows, cols );
const int pinVib = A0;
const int pinPIR = A1;
const int pinTouch = A2;
const int pinTertutup = A3;
const int pinTerbuka = A4;
const int sevenSegmentPins[] ={7, 8, 9, 10, 11, 12, 13};
void setup() {
for (int i = 0; i < 7; i++) {
pinMode(sevenSegmentPins[i], OUTPUT);
}
pinMode(pinVib, INPUT);
pinMode(pinPIR, INPUT);
pinMode(pinTouch, INPUT);
pinMode(pinTertutup, OUTPUT);
pinMode(pinTerbuka, OUTPUT);
for (int i = 0; i < rows; i++) {
pinMode(rowpins[i], INPUT);
}
for (int j = 0; j < cols; j++) {
pinMode(colpins[j], INPUT);
}
Serial.begin(9600);
}
void zero() {
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
}
void one() {
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW); // 1
}
void two() {
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, HIGH); // 2
}
void three() {
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH); // 3
}
void four() {
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH); // 4
}
void five() {
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH); // 5
}
void six() {
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH); // 6
}
void seven() {
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW); // 7
}
void eight() {
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH); // 8
}
void nine() {
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH); // 9
}
void loop() {
char keyPressed = keypad.getKey();
if (keyPressed == '#') {
zero();
check = 0;
}
if (keyPressed == '0') {
zero();
check = 1;
}
if (keyPressed == '1') {
one();
check = 1;
}
if (keyPressed == '2') {
two();
check = 1;
}
if (keyPressed == '3') {
three();
check = 1;
}
if (keyPressed == '4') {
four();
check = 1;
}
if (keyPressed == '5') {
five();
check = 1;
}
if (keyPressed == '6') {
six();
check = 1;
}
if (keyPressed == '7') {
seven();
check = 1;
}
if (keyPressed == '8') {
eight();
check = 1;
}
if (keyPressed == '9') {
nine();
check = 1;
}
if (digitalRead(pinVib) == HIGH || digitalRead(pinPIR) == HIGH || digitalRead(pinTouch) == HIGH)
{
digitalWrite(pinTerbuka, HIGH);
digitalWrite(pinTertutup, LOW);
}
else
{
digitalWrite(pinTerbuka, LOW);
digitalWrite(pinTertutup, HIGH);
}
}
e. Vidio [kembali]
f. Download File [kembali]
Rangkaian simulasi download
html download
datasheet sensor Mq2 download
datasheet sensor flame download
datasheet sensor vibration download
datasheet 7segment download
datasheet keypad 4x3 download
datasheeet arduino uno download
library sensor Mq2 download
library sensor flame download
library sensor vibration download
vidio download
codingan arduino download
Tidak ada komentar:
Posting Komentar