LAPORAN AKHIR 1 MODUL III





1. Prosedur  [Kembali]

  1. Rangkai komponen sesuai percobaan dan yang dipilih.
  2. Buat program menggunakan Arduino IDE.
  3. Run program yang telah dibuat ke Arduino Uno.
  4. Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.
  5. Proses selesai setelah uji coba berhasil dilakukan.

2. Hardware dan Diagram Blok [Kembali]
a. Arduino

 

b. Keypad


c. LCD

d. Jumper


e. Diagram Blok

3. Rangkaian Simulasi dan Prinsip Kerja  [Kembali]


  Pada rangkaian di atas terdapat 4 buah komponen: Arduino, Keypad, LCD, dan Potensiometer. Keempat komponen dihubungkan oleh kabel jumper sesuai kondisi yang diminta. Dua Arduino dihubungkan dengan komunikasi I2C dengan  pin SDA dan SCL.
    Keypad sebagai input dihubungkan dengan Master Arduino, sedangkan LCD dihubungkan dengan Slave Arduino. Program Arduino IDE dibuat dengan kondisi dimana ketika angka ganjil ditekan maka akan ditampilkan di kolom pertama LCD, dan ketika angka genap yang ditekan maka akan ditampilkan di kolom kedua LCD.

4. Flowchart dan Listing Program [Kembali]

Flowchart

a. Master

b. Slave

Listing Program

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

 }

}

 

b. 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(); // receive byte as a character

  Serial.println(receivedData); // print the character

 

  if (receivedData >= '1' && receivedData <= '9') {

    int number = receivedData - '0';

    lcd.clear();

    lcd.setCursor(0, number % 2);

    lcd.print(number);

  }

}

 

5. Kondisi [Kembali]
Ketika key ditekan, LCD akan menampilkan angka ganjil di kolom pertama dan angka genap di kolom kedua.

6. Video Demo [Kembali]


7. Link Download [Kembali]
Download HTML [Klik di sini]
Download file rangkaian [Klik di sini]
Download video rangkaian [Klik di sini]
Download program Arduino [Klik di sini]
Download datasheet Arduino [Klik di sini]
Download datasheet KeyPad [Klik di sini]
Download datasheet LCD [Klik di sini]

Tidak ada komentar:

Posting Komentar

DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Percobaan ... Tugas Pendahulu...