Minggu, 28 April 2024

TUGAS PENDAHULUAN 2 MODUL 3




Tugas Pendahuluan 2 Modul 3
(Percobaan 3 Kondisi 1)

1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

1. Arduino Uno

        2. Keypad



        4. LCD


        5Potensiometer




        6Power Supply



        8Ground


Diagram Blok:


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :


Prinsip Kerja :
Pada percobaan 3 kondisi 1 disini digunakan komunikasi I2C, dimana komunikasi ini bersifat half-duplex yaitu data dikirim dan diterima pada waktu yang berbeda dan bergantian. Kami menggunakan dua buah Arduino Unos yang dihubungkan dengan keyboard 4x4 dan layar LCD. Unit master menggunakan keyboard sebagai pemancar data, dan unit slave menggunakan layar LCD sebagai penerima data. Cara kerjanya kita klik salah satu", lalu keluar inputan sesuai dengan angka yang tertera di LCD, jika bersamaan kita klik keyboard maka akan terjadi benturan data..

4. Flowchart dan Listing Program [Kembali]

  • Flowchart



  • Listing Program
MASTER
#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] = {5, 4, 3, 2};
char colPins[COLS] = {6, 7, 8};

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(7, 6, 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, 0);
    lcd.print(c);
    delay(100);
}

5. Kondisi [Kembali]

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

6. Video Simulasi [Kembali]

7. Download File [Kembali]

Simulasi  klik disini
Gambar Simulasi  klik disini
Video Simulasi  klik disini
Listing Program Master  klik disini
Listing Program Slave  klik disini

Tidak ada komentar:

Posting Komentar

MODUL 4 MIKRO TB

PERANCANGAN SISTEM KONTROL TANAMAN BAWANG BERBASIS MIKROKONTROLLER [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1.Pendahuluan 2. Tujuan ...