Tp 1 : Percobaan 3 kondisi 7
Tugas Pendahuluan 1 Modul 3
(Percobaan 3 Kondisi 7)
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.
Hardware :
1. Arduino
2. LCD
LCD (Liquid Crystal Display) adalah jenis layar panel datar yang menggunakan kristal cair dalam bentuk pengoperasian utamanya. LED memiliki kegunaan yang luas dan beragam bagi konsumen dan bisnis, seperti yang biasa ditemukan di ponsel pintar, televisi, monitor komputer, dan panel instrumen.
LCD merupakan lompatan besar dalam hal teknologi yang digantikannya, termasuk dioda pemancar cahaya ( LED ) dan layar plasma gas. LCD memungkinkan tampilan menjadi lebih tipis daripada teknologi tabung sinar katoda ( CRT ). LCD mengkonsumsi daya jauh lebih sedikit dibandingkan LED dan layar gas karena mereka bekerja berdasarkan prinsip memblokir cahaya daripada memancarkannya. Jika LED memancarkan cahaya, kristal cair dalam LCD menghasilkan gambar menggunakan lampu latar.
Ketika LCD menggantikan teknologi tampilan lama, LCD mulai digantikan oleh teknologi tampilan baru seperti OLED.
Cara kerja LCD
Sebuah layar terdiri dari jutaan piksel. Kualitas tampilan biasanya mengacu pada jumlah piksel; misalnya, layar 4K terdiri dari 3840 x2160 atau 4096x2160 piksel. Sebuah piksel terdiri dari tiga subpiksel; merah, biru dan hijau—biasa disebut RGB . Ketika subpiksel dalam suatu piksel mengubah kombinasi warna, warna berbeda dapat dihasilkan. Dengan semua piksel pada layar bekerja sama, layar dapat menghasilkan jutaan warna berbeda. Ketika piksel dihidupkan dan dimatikan dengan cepat, sebuah gambar dibuat.
Cara piksel dikontrol berbeda-beda di setiap jenis tampilan; CRT, LED, LCD, dan jenis tampilan yang lebih baru semuanya mengontrol piksel secara berbeda. Singkatnya, LCD diterangi oleh lampu latar, dan piksel dinyalakan dan dimatikan secara elektronik sambil menggunakan kristal cair untuk memutar cahaya terpolarisasi. Filter kaca polarisasi ditempatkan di depan dan belakang semua piksel, filter depan ditempatkan pada 90 derajat. Di antara kedua filter terdapat kristal cair, yang dapat dinyalakan dan dimatikan secara elektronik.
4. Keypad
Keypad berarti Sebuah keyboard miniatur atau set tombol untuk operasi portabel perangkat elektronik, telepon, atau peralatan lainnya. Keypad merupakan sebuah rangkaian tombol yang tersusun atau dapat disebut "pad" yang biasanya terdiri dari huruf alfabet (A—Z) untuk mengetikkan kalimat, juga terdapat angka serta simbol-simbol khusus lainnya. Keypad yang tersusun dari angka-angka biasanya disebut sebagai numeric keypad. Keypad juga banyak dijumpai pada alphanumeric keyboard dan alat lainnya seperti kalkulator, telepon, kunci kombinasi, serta kunci pintu digital, di mana diperlukannya nomor untuk dimasukkan.
Diagram Blok:
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Rangkaian Simulasi :
Prinsip Kerja :
Pada percobaan 3 kondisi 7 menggunakan komunikasi I2C atau Inter - Integrated Circuit, komunikasi menggunakan pin SDA (serial data) dan SCL (serial clock) dimana SDA sebagai pengiriman data dan SCL mengatur clock dalam pengiriman data. Pada sisi kiri terdapat keypad yang merupakan input dari rangkaian, dengan menggunakan keypat yang dihubungkan pada arduino dan penyesuaian kolom dan baris pada pemograman nya. pada input diberi nama Master karena sebagai pengirim. Kemudian di bagian kanan terdapat arduino yang sudah terhubung dengan LCD sebagai output yang dimana LCD akan menampilkan apa yang di berikan keypad, arduino output deberi nama Slave karena berperan sebagai penerima.
Flowchart :
Listing Program :
MASTER
#include <Key.h>
#include <Keypad.h>
#include <Keypad.h>
#include <Wire.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'A', '2', '3'},
{'B', '5', '6'},
{'C', '8', '9'},
{'D', '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)
}
//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 <LedControl.h>
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Inisialisasi objek LCD dengan pin yang terhubung
String message = ""; // Pesan yang akan ditampilkan di LCD
void setup() {
lcd.begin(16, 2); // Inisialisasi LCD dengan ukuran 16x2
Wire.begin(9); // Mulai komunikasi I2C sebagai slave dengan alamat 9
Wire.onReceive(receiveEvent); // Panggil fungsi receiveEvent() saat menerima data dari master
}
void loop() {
// Tidak ada yang perlu dilakukan di loop()
}
void receiveEvent(int byteCount) {
while (Wire.available()) {
char receivedChar = Wire.read(); // Baca karakter yang diterima dari master
message += receivedChar; // Tambahkan karakter ke pesan
if (message.length() > 16) { // Jika panjang pesan lebih dari 16 karakter
message = message.substring(1); // Potong karakter pertama dari pesan
}
displayMessage(); // Tampilkan pesan pada LCD
}
}
void displayMessage() {
lcd.clear(); // Bersihkan layar LCD
lcd.setCursor(0, 0); // Set posisi kursor di baris pertama
lcd.print(message); // Tampilkan pesan di LCD
}
Percobaan 3 Kondisi 7
Key A-D menampilkan huruf A-D secara berurutan, huruf yang ditampilkan mengalami pergerseran ke kiri pada kolom ke 2
Tidak ada komentar:
Posting Komentar