Just another free Blogger theme

*Klik teks untuk menuju

1. Prosedur [Kembali]

Langkah-langkah percobaan :

1. Siapkan alat dan bahan yaitu dengan komponen utama Arduino Uno, Infrared Sensor, IC I2C, Keypad dan Motor DC

2. Rangkai sesuai gambar percobaan

3. Rancang kerja rangkaian sesuai flowchat

4. Tekan tombol “Play” untuk menjalankan simulasi


2. Hardaware dan Diagram Blok [Kembali]

  • Arduino
  • Keypad
  • LCD










3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]










 Prinsip Kerja
Jalan kerja pada percobaan kali ini menggunakan modul komunikasi I2C yang dimana kita menggunaka pin SDA,SCL pada pin A4 dan A5 yang dimana nantinya dari pin komunikasi I2C ini pada slave akan mensinkron data dari master dimana data tersebut akan dikirimkan melalui pin SDA dan pada pin SCL merupakan clock dimana diperlukan agar data dapat terkirim 
4. Flowchart dan listing Program [Kembali]

Flowchart :

master :






slave :









Listing Program :
//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 } }

#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. Video Demo [Kembali]




6. Kondisi [Kembali]

    Ketika keypad di tekan akan memunculkan charakter angka pada lcd dan ketika angka ganjil pada akan berada pada kolom 2 dan angka genap akan berada pada kolom 1









7. Download File [Kembali]
HTML Disini
Simulasi Disini
Listing Program Master Di sini
Listing Program Slave Di sini
DataSheet LCD Disini 

















0 komentar:

Posting Komentar