Tugas Pendahuluan 2 Modul 3




Percobaan 3 Kondisi 3
key 1 - 9 menampilkan karaktaer nomor 1 - 9 secara berurut, angka ganjil di kolom pertama dan angka genap di kolom kedua

1. Prosedur
[Kembali]
  • Rangkailah semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai, masukkan program ke arduino 
  • Jalankan program pada simulasi dan lakukan sesuai kondisi

2. Hardware dan diagram blok [Kembali]
     a. hardware
  • Arduino UNO
  • LCD 
  • KeyPad

     b. Digram Blok




3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
  • Rangkaian Sebelum Simulasi


  • Rangkaian Sesudah Simulasi


4. FlowChart [Kembali]

a. Listing Program 
Master Code
#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 Code
#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();
    int numbernoninverted = number % 2;
    int numberinverted = !numbernoninverted;
    lcd.setCursor(numberinverted, 0);
    lcd.print(number);
  }
}

b. Flowchart



5. Kondisi [Kembali]
key 1 - 9 menampilkan karaktaer nomor 1 - 9 secara berurut, angka ganjil di kolom pertama dan angka genap di kolom kedua

6. Video Simulasi [Kembali]           
                                  


7. Download File [Kembali]


Tidak ada komentar:

Posting Komentar

 BAHAN PRESENTASI UNTUK MATA KULIAH ELEKTRONIKA 2022 NAMA : AKMAL APRIMANTHA NIM : 2110951046 ELEKTRONIKA B DOSEN PENGAMPU : DARWISON.M.T.  ...