Teknik Elektro

Tugas Pendahuluan 2 Prak uP&uC Modul 3

RAISHA ADINI_2110953023
TUGAS PENDAHULUAN 2



MODUL 3
PERCOBAAN 3  KONDISI 4

1. Prosedur
[Kembali]
  • Rangkai komponen sesuai percobaan dan kondisi yang dipilih.
  • Buat program menggunakan Arduino IDE.
  • Transfer program yang telah dibuat ke Arduino yang ada di Proteus.
  • Uji coba program di simulasi sesuai dengan kondisi yang diinginkan.
  • Proses selesai setelah uji coba berhasil dilakukan.
2. Hardware dan diagram blok [Kembali]
   a. hardware


1. Modul Arduino Uno
Spesifikasi Arduino

2.  LCD


spesifikasi:

Tampilan 2 baris @ 16 karakter, 5 x 8 pixel
Display controller: HD44780 (standar industri LCD)
Dilengkapi lampu latar warna biru/hijau/kuning
Sudut pandang lebar dengan tingkat kontras yang dapat diatur dan terlihat jelas
Tegangan kerja: 5V DC
Dimensi modul: 80 x 36 x 12 mm
Dimensi layar tampilan: 64,5 mm x 16 mm

3. Keypad


Spesifikasi:

1.Dimensi: Sekitar 70mm x 77mm x 1mm (Panjang x Lebar x Tinggi)
2. Jumlah Tombol: 12 tombol (3 baris x 4 kolom)
3. Bahan: Membrane (Plastik tipis yang sensitif terhadap tekanan)
4. Tipe Tombol: Tegangan rendah (Low Voltage)
5. Konektor: Biasanya menggunakan pin header untuk dipasang ke breadboard atau PCB
6. Kehidupan Tombol: Dalam jutaan kali tekan (bergantung pada kualitas pembuatan)
7. Resistansi Kontak: Biasanya sekitar 100 Ohm
8. Tegangan Maksimum: Biasanya 24V DC
9. Arus Maksimum: Biasanya 10mA per jalur tombol
10. Rentang Suhu: -20°C hingga +60°C
11. Kecepatan Respons: Biasanya dalam mikrodetik (μs)
12. Interface: Matriks 3x4 (Matrix 3x4)
13. Kompatibilitas: Mendukung mikrokontroler, Arduino, Raspberry Pi, dan perangkat elektronik lainnya dengan pin I/O yang sesuai
14. Indikator LED: Beberapa keypad memiliki LED di bawah tombol untuk memberikan tanda visual saat tombol ditekan


Spesifikasi :
  • Tampilan 2 baris @ 16 karakter, 5 x 8 pixel
  • Display controller: HD44780 (standar industri LCD)
  • Dilengkapi lampu latar warna biru/hijau/kuning
  • Sudut pandang lebar dengan tingkat kontras yang dapat diatur dan terlihat jelas
  • Tegangan kerja: 5V DC
  • Dimensi modul: 80 x 36 x 12 mm
  • Dimensi layar tampilan: 64,5 mm x 16 mm


  b. Digram Blok


3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

Rangkaian Sebelum Simulasi



Rangkaian Setelah Simulasi

 Angka Ganjil

Angka Genap


                  

Prinsip Kerja 

    Rangkaian ini menggunakan komunikasi antara dua perangkat Arduino menggunakan dengan protokol I2C. Prinsip kerja rangkaian ini adalah sebagai berikut:

    Pertama, pada perangkat master Arduino, program dimulai dengan inisialisasi pengaturan untuk keypad dan I2C. Keypad digunakan untuk mendeteksi input dari pengguna. Setiap kali seorang pengguna menekan tombol pada keypad, nilai yang sesuai dengan tombol tersebut akan dikirimkan melalui jalur I2C ke perangkat slave. Ini memungkinkan perangkat master untuk mengirimkan instruksi kepada perangkat slave berdasarkan input dari pengguna.

    Di dalam loop, perangkat master menunggu penggunaan keypad. Ketika tombol pada keypad ditekan, nilai yang sesuai dengan tombol tersebut akan dikirimkan melalui jalur I2C ke perangkat slave menggunakan fungsi Wire.beginTransmission(), Wire.write(), dan Wire.endTransmission().

    Pada perangkat slave Arduino, program dimulai dengan inisialisasi pengaturan untuk LCD dan I2C. LCD digunakan untuk menampilkan output kepada pengguna. Perangkat slave menggunakan library Wire untuk menerima data yang dikirim melalui jalur I2C dari perangkat master.

    Di dalam setup(), perangkat slave menginisialisasi LCD dan menetapkan alamat I2C. Fungsi Wire.onReceive() didaftarkan untuk menangani penerimaan data dari perangkat master melalui I2C. Ketika data diterima, fungsi receiveEvent() akan dipanggil untuk memproses data yang diterima.

    Di dalam loop(), perangkat slave menunggu penerimaan data melalui jalur I2C. Ketika data diterima, perangkat slave akan memproses data tersebut sesuai dengan program yang telah ditetapkan. Data yang diterima akan ditampilkan pada LCD sesuai dengan kondisi yang telah diatur.

ketika perangkat slave menerima data dalam bentuk angka dari 1 hingga 9, perangkat slave akan menampilkan angka tersebut pada LCD. 

Kondisi yang diperintahkan :
  • Jika angka yang diterima adalah angka ganjil, angka tersebut akan ditampilkan di kolom kedua pada LCD. 
  • Sedangkan jika angka yang diterima adalah angka genap, angka tersebut akan ditampilkan di kolom pertama pada LCD.
    Dengan prinsip kerja ini, kedua perangkat Arduino dapat berkomunikasi secara efektif menggunakan protokol I2C, dan output yang ditampilkan pada LCD akan sesuai dengan kondisi yang telah diatur dalam program.

4. FlowChart [Kembali]

a. Listing Program 

Master

//Master Arduino
#include <Keypad.h>
#include <Wire.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
 {'1', '2', '3'},
 {'4', '5', '6'},
 {'7', '8', '9'},
 {'*', '0', '#'},
};
char rowPins[ROWS] = {13, 12, 11, 10};
char colPins[COLS] = {9, 8, 7};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup()
{
 Wire.begin(); // join i2c bus (address optional for master)
}
//byte x = 0;
void loop(){
 
 char key = keypad.getKey();
 
 if (key) {
 Wire.beginTransmission(4); // transmit to device #4
 Wire.write(key);
 Wire.endTransmission(); // stop transmitting
 }
}

Slave

#include <LiquidCrystal.h>
#include <Wire.h>
LiquidCrystal lcd(13, 12, 6, 5, 4, 3); // Sesuaikan pin sesuai dengan koneksi LCD

int receivedData = 0;

void setup()
{
  lcd.begin(16, 2);
  Wire.begin(4); // join i2c bus with address #4
  Wire.onReceive(receiveEvent); // register event
  Serial.begin(9600); // start serial for output

  lcd.print("Silahkan Tekan");
}

void loop()
{
  delay(100);
}

void receiveEvent(int howMany)
{
  receivedData = Wire.read(); // menerima byte sebagai karakter
  Serial.println(receivedData); // mencetak karakter ke Serial Monitor untuk debug

  if (receivedData >= '1' && receivedData <= '9') {
    int number = receivedData - '0';
    lcd.clear();
    if (number % 2 == 0) {
      lcd.setCursor(0, 0); // angka genap di kolom pertama, baris pertama
    } else {
      lcd.setCursor(0, 1); // angka ganjil di kolom kedua, baris kedua
    }
    lcd.print(number);
  }
}




b. Flowchart

 Master


Slave


5. Kondisi [Kembali]

Percobaan 3 Kondisi 4

Key 1-9 menampilkan karakter nomor 1-9 secara berurut, angka ganjil di kolom kedua, dan angka genap di kolom pertama. 

6. Video Simulasi [Kembali]



7. Download File [Kembali]

Download HMTL klik disini
Download Simulasi Rangkaian klik disini
Download Video Simulasi klik disini
Download Program Master klik disini
Download  Program Slave klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Keypad  klik disini
Download Datasheet LCD klik disini

Tidak ada komentar:

Posting Komentar

Smart Smoking Room Encoder Decoder

KONTROL SMART SMOKING ROOM [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan ...