F Renaldi Kapri Utama (2110957003) : Tugas Pendahuluan 2

Tugas Pendahuluan 2




Modul 3

 Percobaan 3 Kondisi 5

1. Prosedur Percobaan  [Kembali]

a. Rangkai semua komponen 
b. buat program di aplikasi arduino IDE
c. setelah selesai masukkan program ke arduino 
d. jalankan program pada simulasi dan cobakan dengan modul

2. Foto Hardware dan Diagram Blok [Kembali]

1. Arduino Uno

Gambar 1. Arduino



2. Keypad

Gambar 2. Keypad

3. LCD
Gambar 3. LCD


4. Potensiometer

Gambar 4. Potensiometer



5. Power Supply
Gambar 5. Power Supply



6. Ground
Gambar 6. Ground






Diagram Blok:

Gambar 7. Diagram Blok



3. Rangkaian Simulasi dan Prinsip Kerja  [Kembali]

Gambar 8. Rangkaian Simulasi


=>Prinsip Kerja

Dalam sebuah rangkaian elektronik, terdapat dua perangkat Arduino yang saling berinteraksi, yaitu Arduino master dan Arduino slave. Arduino master terhubung dengan sebuah keypad, sementara Arduino slave terhubung dengan sebuah LCD. Keypad terhubung dengan pin 2 hingga 9 pada Arduino master, sedangkan LCD terhubung dengan pin 2, 3, 4, 5, 11, dan 12 pada Arduino slave.

Proses kerja rangkaian ini adalah sebagai berikut: ketika tombol pada keypad ditekan, Arduino master akan membaca input dari keypad tersebut. Setiap baris pada keypad terkait dengan sebuah karakter yang akan ditampilkan pada LED atau LCD. Jika tombol pada baris pertama ditekan, Arduino master akan mengirimkan sinyal untuk menampilkan huruf 'A'. Begitu juga dengan baris kedua akan menampilkan huruf 'B', baris ketiga akan menampilkan huruf 'C', dan baris keempat akan menampilkan huruf 'D'.

Informasi yang diproses oleh Arduino master kemudian akan dikirimkan ke Arduino slave. Arduino slave akan menerima data dari Arduino master dan menggunakan data tersebut untuk mengontrol tampilan pada LCD. Dengan demikian, output yang berasal dari keypad akan diproses dan ditampilkan pada LCD yang terhubung dengan Arduino slave.

Rangkaian ini memanfaatkan komunikasi antar Arduino untuk mengintegrasikan fungsi dari keypad dan LCD. Arduino master bertanggung jawab membaca input dari keypad dan mengirimkan informasi hasil prosesnya ke Arduino slave untuk ditampilkan pada LCD. Hal ini memungkinkan penggunaan dua Arduino secara bersama-sama dalam sebuah sistem untuk tujuan tampilan informasi berbasis karakter.


=>Master :


=>Slave : 




Listing Program:

  • Master
#include <Wire.h>
#include <Keypad.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] = {9, 8, 7, 6};
char colPins[COLS] = {5, 4, 3};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup() {
  Wire.begin(); // join i2c bus (address optional for master)
}

void loop() {
  char key = keypad.getKey();
  if (key) {
    char letter;
    if (key == '1' || key == '2' || key == '3') {
      letter = 'A';
    } else if (key == '4' || key == '5' || key == '6') {
      letter = 'B';
    } else if (key == '7' || key == '8' || key == '9') {
      letter = 'C';
    } else {
      letter = 'D';
    }
    Wire.beginTransmission(4); // transmit to device #4
    Wire.write(letter);
    Wire.endTransmission(); // stop transmitting
    delay(100); // Added delay for stability
  }
}
  • Slave
#include <LiquidCrystal.h>
#include <Wire.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Sesuaikan pin sesuai dengan koneksi LCD
char receivedLetter;
bool letterReceived = false;

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
}

void loop() {
  if (letterReceived) {
    for (int i = 0; i < 5; i++) {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print(receivedLetter);
      delay(300); // Wait for 300ms
      lcd.clear(); // Clear LCD
      delay(300); // Wait for another 300ms
    }
    letterReceived = false; // Reset letterReceived flag
  }
}

void receiveEvent(int howMany) {
  receivedLetter = Wire.read(); // Read the received character
  letterReceived = true; // Set the flag to indicate letter received
}

5. Kondisi [Kembali]

Percobaan 3 Kondisi , Key A - D menampilkan huruf A - D secara berurut, huruf yang ditampilkan mengalami blinking pada kolom pertama


6. Video Simulasi [Kembali]


Video 2. Rangkaian Simulasi


7. Link Download [Kembali]

a. HTML [Disini]

b. Rangkaian [Disini]

c. Video Percobaan [Disini]

d. Datasheet Arduino [Disini]

e. Datasheet LCD [Disini]

f. Datasheet Keypad [Disini]

g. Datasheet Potensiometer [Disini]


Tidak ada komentar:

Posting Komentar