Tugas Pendahuluan 2 - M3




Tugas Pendahuluan 2 Modul 3
(Percobaan 3 Kondisi 2)
1. Prosedur
[Kembali]

1. Rangkai komponen sesuai percobaan dan kondisi yang dipilih.
2. Buat program menggunakan Arduino IDE.
3. Transfer program yang telah dibuat ke Arduino yang ada di Proteus.
4. Uji coba program di simulasi sesuai dengan kondisi yang diinginkan.
5. Proses selesai setelah uji coba berhasil dilakukan.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Modul Arduino Uno


spesifikasi: 
2. Keypad



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






Diagram Blok  :






3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi Sebelum dirunning:






Rangkaian Simulasi Setelah dirunning:











Prinsip Kerja :
    Pada rangkaian menggunakan dua buah arduino sebagai master dan slave, untuk arduino master itu digunakan sebagai input, yaitu keypad. Sedangkan untuk arduino slvae sebagai output, output berupa LCD. Komunikasi yang digunakan antar dua arduino adalah I2C 
    Saat key ditekan, maka master akan melakukan transmisi data ke slave, data yang ditransmisikan adalah key yang ditekan. Pada slave, data berupa key yang diterima tersebut akan ditampilkan pada LCD pada kolom 1, baris 2.

4. Flowchart dan Listing Program [Kembali]

Flowchart :

- Master :


- Slave :







Listing Program :

Master :
#include <Keypad.h>
#include <Wire.h>

// Define the keypad dimensions
const byte ROWS = 4;
const byte COLS = 3;

// Define the key mapping
char keys[ROWS][COLS] = {
 {'9', '8', '7'},
 {'6', '5', '4'},
 {'3', '2', '1'},
 {'*', '0', '#'},
};

// Define the row and column pins
char rowPins[ROWS] = {9, 8, 7, 6};
char colPins[COLS] = {5, 4, 3};

// Create the keypad object
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) {
    Wire.beginTransmission(4); // transmit to device #4
    Wire.write(key);
    Wire.endTransmission(); // stop transmitting
  }
}



Slave :
#include <LiquidCrystal.h>
#include <Wire.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Sesuaikan pin sesuai dengan koneksi LCD

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() {
    delay(100);
}

// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany) {
    char c = Wire.read(); // receive byte as a character
    Serial.println(c); // print the character
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print(c);
    delay(100);
}


5. Kondisi [Kembali]

Percobaan 3 Kondisi 2
Key 1-9 menampilkan karakter nomor 9-1 secara berurut di kolom pertama LCD

6. Video Simulasi [Kembali]










7. Download File [Kembali]

HTML Download
File Rangkaian Download
Video Percobaan Download
Listing Program Download
Datasheet Arduino Download
Datasheey Keypad Download









Tidak ada komentar:

Posting Komentar

                                                                 BAHAN PRESENTASI UNTUK MATAKULIAH                                          ...