Senin, 29 April 2024


TP 1: Percobaan 2 Kondisi 6 



MODUL 3
PERCOBAAN 2 KONDISI 6

1. Prosedur
 [Kembali]

1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai

2. Hardware dan diagram blok [Kembali]
      a. hardware



1. Arduino Uno


spesifikasi: 

2. Dipswitch
2. Dipswitch
spesifikasi:

3. Seven Segment





            b. Digram Blok




3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

Gambar Rangkaian Sebelum Disimulasikan


Gambar Rangkaian Setelah Disimulasikan




PRINSIP KERJA
Master:
Master Arduino memiliki tanggung jawab untuk membaca keadaan tombol dan mengirimkan pesan ke Arduino slave berdasarkan keadaan tersebut. Setiap kali loop dijalankan, Master Arduino membaca tombol-tombol yang terhubung, mengidentifikasi dua tombol yang ditekan, dan mengirimkan dua digit berbeda ke Arduino slave melalui SPI. Ketika dua tombol telah dipilih, nilai dari tombol-tombol tersebut disimpan dalam variabel `digit1` dan `digit2`. Setelah itu, Master Arduino mengirimkan kedua digit tersebut ke slave melalui koneksi SPI. Kemudian, Master Arduino menunggu selama satu detik sebelum mengulangi proses tersebut.

Slave:
Arduino slave, di sisi lain, bertanggung jawab untuk menerima pesan dari Master Arduino dan menampilkan dua digit yang diterima secara bergantian pada display. Ketika pesan diterima melalui koneksi SPI, ISR akan diaktifkan. Di dalam ISR, slave menerima dua byte secara berurutan dari master dan menyimpannya dalam variabel `Slavereceived1` dan `Slavereceived2`. Selanjutnya, dalam loop, slave memanggil fungsi `displayCharacter()` dengan dua nilai yang diterima dari master untuk menampilkan dua digit secara bergantian pada display. Setelah menampilkan digit pertama, slave menunggu sebentar sebelum menampilkan digit kedua. Proses ini berlanjut sehingga display pada slave akan menampilkan dua digit yang dikirim dari master secara bergantian saat dua tombol aktif pada master.


4. FlowChart [Kembali]

a. Listing Program 

Master

//Master Arduino
#include<SPI.h> //Library for SPI
int dip[] = {2,3,4,5,6,7,8,9};
int dipvalue[] = {};
void setup (){
Serial.begin(9600); //Starts Serial Communication at Baud Rate 115200
for(int i = 0; i < 8; i++){
pinMode(dip[i], INPUT_PULLUP);
}
SPI.begin(); //Begins the SPI commnuication
SPI.setClockDivider(SPI_CLOCK_DIV8); //Sets clock for SPI communication at 8 (16/8=2Mhz)
digitalWrite(SS,HIGH); // Setting SlaveSelect as HIGH (So master doesnt connnect with slave)
}

void loop(void) {
  byte Mastersend;
  int x = 1;
  int activeSwitches = 0; // variabel untuk menghitung jumlah saklar yang aktif

  // Membaca status saklar dan menghitung berapa yang aktif
  for (int i = 0; i < 8; i++) {
    dipvalue[i] = digitalRead(dip[i]);
    if (dipvalue[i] == LOW) {
      x = dip[i];
      activeSwitches++;
    }
  }

  if (activeSwitches == 2) {
      digitalWrite(SS, LOW);
      Mastersend = 2;
      Serial.println(Mastersend);
      SPI.transfer(Mastersend);
      delay(100);
    }
}


Slave
#include <SPI.h>

const int segmentPins[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
volatile boolean received = false;
volatile byte Slavereceived;
int index;
int dg1 = A0;
int dg2 = A1;

void displayCharacter(int ch) {
  byte patterns[10][7] = {
    {0, 0, 0, 0, 0, 0, 1}, // 0
    {1, 0, 0, 1, 1, 1, 1}, // 1
    {0, 0, 1, 0, 0, 1, 0}, // 2
    {0, 0, 0, 0, 1, 1, 0}, // 3
    {1, 0, 0, 1, 1, 0, 0}, // 4
    {0, 1, 0, 0, 1, 0, 0}, // 5
    {0, 1, 0, 0, 0, 0, 0}, // 6
    {0, 0, 0, 1, 1, 1, 1}, // 7
    {0, 0, 0, 0, 0, 0, 0}, // 8
    {0, 0, 0, 0, 1, 0, 0}  // 9
  };

  if ((ch >= 0 && ch <= 9)) {
    // Get the digit index (0-9) from the character
    int index = ch;
    // Write the pattern to the segment pins
    for (int i = 0; i < 7; i++) {
      digitalWrite(segmentPins[i], patterns[index][i]);
    }
  }
}

void setup() {
  Serial.begin(9600);
  for (int i = 0; i < 8; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
  pinMode(dg1, OUTPUT);
  pinMode(dg2, OUTPUT);
  SPCR |= _BV(SPE); // Turn on SPI in Slave Mode
  SPI.attachInterrupt(); // Interrupt ON is set for SPI communication
}

ISR (SPI_STC_vect) { // Interrupt routine function
  Slavereceived = SPDR; // Value received from master is stored in variable Slavereceived
  received = true; // Sets received as True
}

void loop() {
  if (received) { // Logic to SET LED ON OR OFF depending upon the value received from master
    Serial.println(Slavereceived);
    if (Slavereceived == 2) {
      for(int i=0;i<=9;i++){
        if(i % 2 == 0 ){
          digitalWrite(dg1,HIGH);
          digitalWrite(dg2,LOW);
          displayCharacter(i);
          delay (100);
        }
        else{
          digitalWrite(dg1, LOW);
          digitalWrite(dg2, HIGH);
          displayCharacter(i);
          delay (100);
        }
      }
    }
    received = false; // Reset received flag
  }
}


b. Flowchart
Arduino Master: 

Arduino Slave: 


                                      
5. Kondisi [Kembali]

Kondisi  →Percobaan 2 Kondisi 6

Setiap 2 switch yang aktif akan melakukan counting 0 - 9 pada digit 1 dan 2 secara berseling

6. Video Simulasi [Kembali]




7. Download File [Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Program Arduino Mater Klik disini
Download Program Arduino Slave Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Dipswicth klik disini
Download Datasheet Seven Segment klik disini















































TP 1: Percobaan 1 Kondisi 6 



MODUL 3
PERCOBAAN 1 KONDISI 6

1. Prosedur
 [Kembali]

1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai

2. Hardware dan diagram blok [Kembali]
      a. hardware



1. Arduino Uno


Spesifikasi: 


2. Dipswitch
Spesifikasi: 


3. LED

            b. Digram Blok





3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

Gambar Rangkaian Sebelum Disimulasikan


Gambar Rangkaian Setelah Disimulasikan


PRINSIP KERJA
Master:
    Pada rangkaian  di atas merupakan perocbaan Komunikasi UART. Arduino yang diatas  bertindak sebagai master dalam sebuah sistem yang menggunakan beberapa tombol sebagai input. Setiap tombol dihubungkan ke pin digital pada Arduino dan masing-masing tombol memiliki aksi yang berbeda saat ditekan. yang mana pada pin DS1 sampai dengan DS4 merukanan tombol atau switch PULL DOWN dan DS5 sampai DS8 merupakan switch  PULL UP Saat program berjalan, Arduino akan terus memeriksa status setiap tombol dengan menggunakan fungsi digitalRead(). Jika sebuah tombol ditekan, Arduino akan mengirimkan karakter yang sesuai melalui koneksi serial (UART) dengan menggunakan fungsi Serial.write(). Karakter yang dikirimkan akan sesuai dengan tombol yang ditekan, dan akan dibaca oleh perangkat  arduino lain yang terhubung dengan Arduino melalui koneksi serial. Dalam simulasi pada Proteus ini ,jika  menekan 1 switch pull-down dan 4 switch pull up akan mengirimkan data ke slave ardunio dan nantinya mengaktifkan running led, dan jika 4 switch pull down dan 1 switch pull UP akan mengiriimkan kondisi ini ke slave arduino dan nantinya akan mengaktifkan blinking led

Slave:
    Pada arduino yang kedua betinda sebagai Slave dimana  nantinya akan menerima inputan dari Arduino master dan mengeluarkan output berupa LED.Prinsip kerja rangkaian  di atas adalah untuk mengontrol LED-LED yang terhubung ke pin Arduino berdasarkan status tombol-tombol yang terhubung ke pin digital lainnya. Pada setup(), pin-pin yang terhubung ke tombol-tombol diatur sebagai input dengan resistansi pull-up atau pull-down sesuai dengan kondisi. Pada loop(), program akan terus memeriksa status tombol-tombol tersebut. Jika kondisi tertentu terpenuhi, seperti empat tombol dalam kondisi pull-down atau tidak ada tombol dalam kondisi pull-up yang ditekan, maka program akan menjalankan aksi tertentu. Misalnya, untuk kondisi pull-down empat tombol, program akan menyalakan LED secara berurutan (running LED), sementara untuk kondisi ketika tidak ada tombol pull-down atau pull-up yang ditekan, program akan membuat LED-LED tertentu berkedip (blinking LED). Jika tidak ada kondisi yang terpenuhi, maka semua LED akan dimatikan. Dengan demikian, prinsip kerja rangkaian  tersebut adalah memantau status tombol-tombol dan mengatur tindakan yang sesuai terhadap LED-LED yang terhubung.

4. FlowChart [Kembali]

a. Listing Program 

Master

//Master Arduino
#include<SPI.h> //Library for SPI
int dip[] = {2,3,4,5,6,7,8,9};
int dipvalue[] = {};
void setup (){
Serial.begin(9600); //Starts Serial Communication at Baud Rate 115200
for(int i = 0; i < 8; i++){
pinMode(dip[i], INPUT_PULLUP);
}
SPI.begin(); //Begins the SPI commnuication
SPI.setClockDivider(SPI_CLOCK_DIV8); //Sets clock for SPI communication at 8 (16/8=2Mhz)
digitalWrite(SS,HIGH); // Setting SlaveSelect as HIGH (So master doesnt connnect with slave)
}

void loop(void) {
  byte Mastersend;
  int x = 1;
  int activeSwitches = 0; // variabel untuk menghitung jumlah saklar yang aktif

  // Membaca status saklar dan menghitung berapa yang aktif
  for (int i = 0; i < 8; i++) {
    dipvalue[i] = digitalRead(dip[i]);
    if (dipvalue[i] == LOW) {
      x = dip[i];
      activeSwitches++;
    }
  }

  if (activeSwitches == 2) {
      digitalWrite(SS, LOW);
      Mastersend = 2;
      Serial.println(Mastersend);
      SPI.transfer(Mastersend);
      delay(100);
    }
}


Slave
#include <SPI.h>

const int segmentPins[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
volatile boolean received = false;
volatile byte Slavereceived;
int index;
int dg1 = A0;
int dg2 = A1;

void displayCharacter(int ch) {
  byte patterns[10][7] = {
    {0, 0, 0, 0, 0, 0, 1}, // 0
    {1, 0, 0, 1, 1, 1, 1}, // 1
    {0, 0, 1, 0, 0, 1, 0}, // 2
    {0, 0, 0, 0, 1, 1, 0}, // 3
    {1, 0, 0, 1, 1, 0, 0}, // 4
    {0, 1, 0, 0, 1, 0, 0}, // 5
    {0, 1, 0, 0, 0, 0, 0}, // 6
    {0, 0, 0, 1, 1, 1, 1}, // 7
    {0, 0, 0, 0, 0, 0, 0}, // 8
    {0, 0, 0, 0, 1, 0, 0}  // 9
  };

  if ((ch >= 0 && ch <= 9)) {
    // Get the digit index (0-9) from the character
    int index = ch;
    // Write the pattern to the segment pins
    for (int i = 0; i < 7; i++) {
      digitalWrite(segmentPins[i], patterns[index][i]);
    }
  }
}

void setup() {
  Serial.begin(9600);
  for (int i = 0; i < 8; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
  pinMode(dg1, OUTPUT);
  pinMode(dg2, OUTPUT);
  SPCR |= _BV(SPE); // Turn on SPI in Slave Mode
  SPI.attachInterrupt(); // Interrupt ON is set for SPI communication
}

ISR (SPI_STC_vect) { // Interrupt routine function
  Slavereceived = SPDR; // Value received from master is stored in variable Slavereceived
  received = true; // Sets received as True
}

void loop() {
  if (received) { // Logic to SET LED ON OR OFF depending upon the value received from master
    Serial.println(Slavereceived);
    if (Slavereceived == 2) {
      for(int i=0;i<=9;i++){
        if(i % 2 == 0 ){
          digitalWrite(dg1,HIGH);
          digitalWrite(dg2,LOW);
          displayCharacter(i);
          delay (100);
        }
        else{
          digitalWrite(dg1, LOW);
          digitalWrite(dg2, HIGH);
          displayCharacter(i);
          delay (100);
        }
      }
    }
    received = false; // Reset received flag
  }
}


b. Flowchart

Arduino Master




Arduino Slave



                                      
5. Kondisi [Kembali]

Kondisi  →Percobaan 2 Kondisi 7
4 switch dalam pull-down & 4 switch dalam pull-up, 1 switch pull-down dan 4 switch pull up mengaktifkan running led,4 switch pull down dan 1 switch pull up mengaktifkan blinking led
6. Video Simulasi [Kembali]



   
7. Download File [Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Program Arduino Master Klik disini
Download Program Arduino Slave Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Dipswicth klik disini
Download Datasheet Resistor klik disini
Download Datasheet LED klik disini













































Minggu, 28 April 2024

M3

MODUL 2




MODUL 3
[ COMMUNICATION]


1. Pendahuluan[Kembali]

    1. Asistensi dilakukan 3x dengan lama pertemuan 20 menit (Rabu, Kamis, Jumat).
    2. Praktikum dilakukan 1x dengan lama pertemuan 90 menit (Selasa).
    3. Laporan akhir (format sesuai dengan isi blog) dikumpulkan pada hari Kamis.

2. Tujuan[Kembali]

  1. Memahami prinsip kerja PWM pada mikrokontroler
  2. Memahami prinsip kerja ADC pada mikrokontroler
  3. Menggunakan PWM dan ADC pada Arduino

3. Alat dan Bahan[Kembali]

Alat dan Bahan: 

1. Modul Arduino
spesifikasi:

 

2. Dipswitch
3. Seven segment

4. Dot Matrix






5. LED


6.Resistor




4. Dasar Teori[Kembali]


A. Universal Asynchronous Receiver Transmitter (UART)
UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal.

Cara Kerja Komunikasi UART
Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima.

B. Serial Peripheral Interface (SPI)
    Serial Peripheral Interface ( SPI ) merupakan salah satu mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki oleh ATmega 328. Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK. Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar mikrokontroler.

MOSI : Master Output Slave Input Artinya jika dikonfigurasi sebagai master maka pin MOSI sebagai output tetapi jika dikonfigurasi sebagai slave maka pin MOSI sebagai input.

MISO : Master Input Slave Output Artinya jika dikonfigurasi sebagai master maka pin MISO sebagai input tetapi jika dikonfigurasi sebagai slave maka pin MISO sebagai output.
SCLK : Clock Jika dikonfigurasi sebagai master maka pin CLK berlaku sebagai output tetapi jika dikonfigurasi sebagai slave maka pin CLK berlaku sebagai input.
SS/CS : Slave Select/ Chip Select adalah jalur master memilih slave mana yang akan dikirimkan data.
Cara Kerja Komunikasi SPI
        Sinyal clock dialirkan dari master ke slave yang berfungsi untuk sinkronisasi. Master dapat memilih slave mana yang akan dikirimkan data melalui slave select, kemudian data dikirimkan dari master ke slave melalui MOSI. Jika master butuh respon data maka slave akan mentransfer data ke master melalui MISO.

C. Inter Integrated Circuit (I2C)
        Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. 

Cara Kerja Komunikasi I2C



Pada I2C, data ditransfer dalam bentuk message yang terdiri dari kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data Frame 2,  dan kondisi Stop.
Kondisi start dimana saat pada SDA beralih dari logika high ke low sebelum SCL.
Kondisi stop dimana saat pada SDA beralih dari logika low ke high sebelum SCL.
R/W bit berfungsi untuk menentukan apakah master mengirim data ke slave atau meminta data dari slave. (logika 0 = mengirim data ke slave, logika 1 = meminta data dari slave)

ACK/NACK bit berfungsi sebagai pemberi kabar jika data frame ataupun address frame telah diterima receiver.

D. 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 :
Tabel Kode Warna Resistor

Perhitungan 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

E. 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 Swtich

    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.

-Sensor Infrared
Sensor infrared (IR) adalah perangkat elektronika yang dirancang untuk mendeteksi radiasi inframerah dalam spektrum elektromagnetik. Radiasi inframerah adalah bentuk radiasi panas yang tidak terlihat oleh mata manusia. Sensor infrared mengonversi energi radiasi inframerah menjadi sinyal listrik yang dapat diukur. Ada dua jenis sensor infrared utama: sensor pasif dan sensor aktif.

1. Sensor Infrared Pasif: Sensor ini mendeteksi radiasi inframerah yang dipancarkan atau dipantulkan oleh objek atau tubuh yang memiliki suhu lebih tinggi daripada nol absolut. Sensor pasif sering digunakan dalam aplikasi deteksi gerak (PIR sensor) untuk mengidentifikasi perubahan suhu yang terkait dengan pergerakan manusia atau objek.

2. Sensor Infrared Aktif: Sensor ini menghasilkan radiasi inframerah sendiri dan kemudian mendeteksi pantulan atau perubahan dalam pantulan tersebut. Sensor ini sering digunakan dalam aplikasi pengukuran jarak (seperti sensor ultrasonik atau lidar) dan komunikasi inframerah.

Sensor infrared memiliki berbagai aplikasi, termasuk di dalam pengendalian jarak jauh, perangkat keamanan, sistem kendali otomatis, dan perangkat medis. Keunggulan sensor infrared termasuk kemampuan bekerja dalam kondisi cahaya rendah atau gelap dan kemampuan mengukur suhu objek tanpa kontak fisik.

Prinsip kerja sensor infrared tergantung pada jenis sensor dan aplikasinya. Secara umum, prinsip kerja sensor infrared melibatkan deteksi radiasi inframerah dan konversi energi inframerah menjadi sinyal listrik yang dapat diukur. Ada dua jenis utama sensor infrared: sensor pasif dan sensor aktif.

1. Sensor Infrared Pasif:
   - Deteksi Radiasi: Sensor pasif mendeteksi radiasi inframerah yang dipancarkan atau dipantulkan oleh objek atau tubuh yang memiliki suhu lebih tinggi daripada nol absolut. Ini dapat mencakup perubahan suhu yang terkait dengan pergerakan manusia atau objek.
  -Konversi Menjadi Sinyal Listrik: Ketika radiasi inframerah tertangkap, sensor mengonversinya menjadi sinyal listrik melalui elemen detektor termal atau pyroelektrik.
   - Aplikasi: Sensor pasif, seperti sensor deteksi gerak PIR (Passive Infrared), sering digunakan dalam sistem keamanan atau otomatisasi rumah untuk mendeteksi perubahan suhu yang diindikasikan oleh pergerakan.

2. Sensor Infrared Aktif:
   - Pancaran Radiasi: Sensor aktif menghasilkan sendiri radiasi inframerah, kemudian mendeteksi pantulan atau perubahan dalam pantulan tersebut.
   - Konversi Menjadi Sinyal Listrik: Sinyal pantulan atau perubahan dalam intensitas pantulan diukur dan dikonversi menjadi sinyal listrik oleh elemen detektor seperti fotodioda atau fototransistor.
   - Aplikasi: Sensor infrared aktif digunakan dalam pengukuran jarak (lidar, sensor ultrasonik) dan komunikasi inframerah.

Prinsip kerja sensor infrared memanfaatkan sifat radiasi inframerah yang tidak terlihat oleh mata manusia dan kemudian mengonversinya menjadi bentuk sinyal yang dapat diolah untuk berbagai aplikasi.

-Sensor LDR
Sensor LDR (Light Dependent Resistor), juga dikenal sebagai fotoresistor, adalah jenis sensor yang sensitif terhadap intensitas cahaya. Prinsip kerja LDR didasarkan pada perubahan resistansinya tergantung pada tingkat cahaya yang diterimanya. Ketika cahaya mengenai LDR, resistansinya menurun, dan sebaliknya, saat kondisi gelap, resistansinya meningkat.

LDR umumnya terbuat dari semikonduktor yang memiliki resistivitas yang sangat sensitif terhadap tingkat pencahayaan. Ketika cahaya menyinari LDR, energi foton mengeksitasi elektron dalam struktur semikonduktor, sehingga resistansi menurun. Pengukuran resistansi LDR dapat digunakan untuk mengukur intensitas cahaya di sekitarnya.

Aplikasi umum dari sensor LDR termasuk dalam sistem pengaturan otomatis pencahayaan, seperti lampu jalan yang menyala otomatis saat gelap, atau dalam perangkat sensor cahaya untuk kamera atau ponsel pintar. Penggunaan LDR dalam berbagai proyek elektronika memungkinkan respons otomatis terhadap kondisi pencahayaan, menawarkan solusi hemat energi dan efisien.

Prinsip kerja sensor LDR (Light Dependent Resistor) didasarkan pada perubahan resistansinya terhadap intensitas cahaya yang diterimanya. LDR terbuat dari material semikonduktor khusus yang memiliki resistivitas yang sangat sensitif terhadap tingkat pencahayaan. Ketika cahaya mengenai LDR, energi foton dari cahaya tersebut menghasilkan elektron-elektron berenergi tinggi dalam struktur semikonduktor, sehingga meningkatkan konduktivitas dan menurunkan resistansi sensor.

Jadi, pada kondisi cahaya yang cukup, LDR memiliki resistansi yang rendah, memungkinkan arus listrik untuk mengalir dengan mudah melalui sensor. Sebaliknya, pada kondisi gelap, resistansi LDR meningkat, membatasi arus listrik yang dapat mengalir. Pengukuran resistansi LDR dapat digunakan sebagai indikator intensitas cahaya di sekitar sensor.

Aplikasi umum dari prinsip ini adalah dalam rangkaian pengaturan otomatis pencahayaan. Sebagai contoh, ketika lingkungan menjadi gelap, resistansi LDR meningkat, dan ini dapat digunakan untuk mengaktifkan atau mengatur lampu secara otomatis. Penggunaan sensor LDR membuat perangkat dapat merespons secara otomatis terhadap kondisi pencahayaan, menjadikannya berguna dalam berbagai proyek elektronika dan sistem kontrol otomatis.

F. Komponen Output

-LED (Light Emiting Diode)
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.


-Liquid Crystal Display (LCD)

Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untuk menampilkan output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter polarisasi (polarizing filter).



Gambar Penampang komponen penyusun LCD
Keterangan:
1. Film dengan polarizing filter vertical untuk memolarisasi cahaya yang masuk.
2. Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide (ITO).
3. Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).
4. Glass substrate yang berisi baris-baris elektroda Indium tin oxide (ITO).
5. Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang masuk.
6. Reflektor cahaya untuk memantulkan cahaya yang masuk LCD kembali ke mata pengamat.

Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol tampilan LCD dengan mudah dengan menggunakan mikrokontroler untuk mengirimkan data melalui pin-pin input yang sudah tersedia.



Kaki-kaki yang terdapat pada LCD

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

-Dot matriks
Dot matrix 8x8 adalah tipe tampilan atau display yang terdiri dari susunan titik-titik (dot) dalam format matriks berukuran 8x8. Artinya, terdapat 8 baris dan 8 kolom titik, membentuk total 64 titik yang dapat diatur untuk menampilkan karakter, grafik, atau pola tertentu. Setiap titik atau elemen dalam matriks dapat dinyalakan atau dimatikan secara independen, memungkinkan pembentukan berbagai karakter atau gambar.

Penggunaan dot matrix 8x8 umumnya ditemukan pada layar kecil pada perangkat-perangkat seperti jam digital, alat pengukur, atau panel informasi kecil. Tampilan ini dapat diatur untuk menampilkan angka, huruf, atau bahkan animasi sederhana dengan mengatur kombinasi titik-titiknya.

Kontrol dot matrix 8x8 melibatkan sinyal untuk setiap baris dan kolom, diatur untuk menyalakan atau mematikan setiap titik sesuai kebutuhan untuk membentuk karakter atau gambar yang diinginkan. Kelebihan dot matrix adalah fleksibilitasnya dalam menampilkan informasi yang beragam dengan jumlah titik yang relatif kecil, meskipun resolusi tampilannya terbatas.

Prinsip kerja dot matrix 8x8 didasarkan pada kemampuan setiap titik atau elemen dalam matriks untuk diatur secara independen, membentuk gambar atau karakter tertentu. Matriks ini terdiri dari 8 baris dan 8 kolom titik, menciptakan total 64 titik yang dapat dinyalakan atau dimatikan. Prinsip kerja umumnya melibatkan kontrol terhadap setiap baris dan kolom untuk menyalakan atau mematikan titik-titik sesuai dengan informasi yang ingin ditampilkan.

Langkah-langkah umum prinsip kerja dot matrix 8x8:

1. Pemilihan Baris (Rows): Sinyal arus diterapkan pada satu baris pada satu waktu. Ini berarti satu per satu, setiap baris akan diaktifkan.

2. Pemilihan Kolom (Columns): Pada saat yang sama, sinyal tegangan diterapkan pada satu atau lebih kolom yang ingin diaktifkan.

3. Penyalaan atau Pemadaman Titik: Pada persimpangan antara baris dan kolom yang diaktifkan, titik-titik yang diinginkan dinyalakan dengan memberikan arus. Pada titik-titik lain di matriks, yang tidak diaktifkan, titik tetap dimatikan.

4. Pemindahan Ke Baris dan Kolom Selanjutnya: Proses ini diulang secara berulang-ulang untuk setiap baris dan kolom secara berurutan, sehingga kesan visual karakter atau gambar terbentuk.

Kontrol ini dapat dilakukan dengan menggunakan mikrokontroler atau driver display khusus yang mengontrol aliran arus dan tegangan pada setiap baris dan kolom. Dengan cara ini, dot matrix 8x8 dapat menampilkan berbagai karakter, angka, atau bahkan grafik dengan mengatur kombinasi titik-titiknya sesuai kebutuhan.

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

-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:
 

Rangkaian Mikrokontroler ATMega 328P pada Arduino UNO



Entri yang Diunggulkan

Modul 4 [menuju akhir] [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Percob...