MODUL 3
PERCOBAAN 2 KONDISI 2
1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai
2. Hardware dan diagram blok
[Kembali]
a. hardware
1. 2 Arduino Uno (sebagai Master dan slave)
2. Keypad
3. LCD 16x2
3. LCD 16x2
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Rangkaian sebelum disimulasi
PRINSIP KERJA
Komponen utama pada rangkaian ialah keypad ( yaitu sebagai inputan) dan LCD 16x2 sebagai outputnya, serta pada rangkaian digunakan 2 arduino sebagai mikrokontroler yang akan menyimpan dan menjalankan program sehingga kondisi yang diinginkan dapat tercapai. dimana 2 arduino tersebut masing masing berperan sebagai arduino master yang dihubungkan ke inputan dan arduino slave yang dihubungkan ke outputannya. Dimana ketika menekan angka 1 pada keypad, maka pada LCD juga akan menampilkan angka 1, ketika menekan angka 2 pada keypad, maka pada LCD juga akan menampilkan angka 2, ketika menekan angka 3 pada keypad, maka pada LCD juga akan menampilkan angka 3, dan begitu seterusnya.
4. FlowChart
[Kembali]
a. Listing Program
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] = {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
//Slave Arduino
#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(1, 0);
lcd.print(c);
delay(100);
}
b. Flowchart
5. Kondisi
[Kembali]Percobaan 3 Kondisi 1
Key 1-9 menampilkan karakter nomor 1-9 secara berurut di kolom kedua LCD
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet keypad klik disini
Download Datasheet LCD klik disini
Tidak ada komentar:
Posting Komentar