LAPORAN AKHIR 1
A. KOMUNIKASI UART
1. Hardware [kembali]
2. Rangkaian Simulasi [kembali]
UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal. Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima. Dan begitu seterusnya.
Analisa
pengaruh baud rate terhadapap led, baud rate yang tinggi menyebabkan waktu tunda (delay) yang kecil sehingga perintah cepat untuk dieksekusi. Begitu juga sebaliknya Baud rate yang rendah akan menyebabkan waktu tunda (delay) yang lebih besar, seringkali hal ini tidak disadari dan menyebabkan baris perintah lain terlambat untuk dieksekusi. Jadi semakin tinggi nilai boud rate nya maka delay yang terjadi pada LED juga akan semakin lama, hal ini akan mempengaruhi cepat atau lambat hidupnya LED. Rangkaian ini menggunakan arduino, driver motor, dan motor dc dalam perancangannya. Arduino digunakan sebagai sistem kontrol untuk keluaran analog di motor dc. Sedangkan driver motor akan memproses sinyal dari arduino dalam bentuk digital, dan mengirimkannya pada motor dc sebagai keluaran analog. Untuk membuat motor berputar pada program diinputkan digitalWrite(pin, HIGH/LOW). Agar motor dapat bergerak harus ada beda potensial tegangan pada motor, artinya dua inputan untuk motor DC harus selalu berbeda nilainya. Untuk maju di input 1 akan diberikan HIGH dan LOW di input kedua, untuk mundur berlaku sebaliknya.
3. Flowchart [kembali]
4. Listing Program [kembali]
//MASTER
#define button 2 //Deklarasi pin 2 untuk button
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(button, INPUT_PULLUP);
Serial.begin(9600); //Set baud rate 9600
}
void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
int nilai = digitalRead(button);
//Button ditekan
if (nilai == 0)
{
Serial.print("1");
}
else
{
Serial.print("2");
}
delay(200);
}
|
//SLAVE
#define led 12 //Deklarasi pin 12 untuk LED
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(led, OUTPUT); //Deklarasi LED sebagai output
Serial.begin(9600); //Set baud rate 9600
}
void loop() //Semua program dalam fungsi ini dieksekusi berulang
{
if (Serial.available() > 0)
{
int data = Serial.read();
if (data == '1') //Jika data yang dikirimkan berlogika
{
digitalWrite(led, HIGH); //LED menyala
}
else
{
digitalWrite(led, LOW); //LED mati
}
}
}
|
download video disini

Tidak ada komentar:
Posting Komentar