1. Tujuan dan Kondisi[kembali]
Tujuan
- Memahami prinsip kerja UART.
- Mengaplikasikan protokol komunikasi UART pada Arduino.
Kondisi
Ganti LED menjadi buzzer, Buatlah kondisi awal buzzer mati, lalu hidup dengan delay 1000 ms.
2. Rangkaian Simulasi [kembali]
3. 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(1000);
}
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
}
}
}
4. Video [kembali]
5. Hardware[kembali]
Alat
- Arduino UNO
- Button
- Buzzer
- Arduino IDE
- Jelaskan pengaruh nilai potensiometer terhadap output rangkaian!
Jawab :
Nilai potensiometer digunakan sebagai input pada arduino slave, pada program nilai potensiometer digunakan sebagai variabel yang di mapping dan nilainya akan dikirimkan kepada potensiomter slave untuk digunakan sebagai delay PWM pada motor DC, perbedaan nilai potensiometer akan mempengaruhi nilai PWM sehingga berpengaruh pada kecepatan putar motor DC - Jelaskan bagian mana dari rangkaian dan program yang diganti jika output diubah menjadi motor DC!
Jawab :
Pada rangkaian yang diubah adalah menghapus LED dan menambahkan sebuah driver motor DC l293d dan sebuah motor DC, serta menambahkan 1 buah output lagi karena motor DC membutuhkan 2 buah input. Pada program yang diubah adalah menambahkan satu output lagi yaitu pin 12 dan pada program looping ditambahkan logika HIGH LOW dan LOW LOW untuk mengatur aktif tidaknya motor DC - Bagaimana mengontrol kecepatan dan arah motor DC pada percobaan ini?
Jawab :
Kecepatan motor DC diatur dengan mengubah pada potensiomter karena potensiometer digunakan sebagai input pada arduino slave, pada program nilai potensiometer digunakan sebagai variabel yang di mapping dan nilainya akan dikirimkan kepada potensiomter slave untuk digunakan sebagai delay PWM pada motor DC, perbedaan nilai potensiometer akan mempengaruhi nilai PWM sehingga berpengaruh pada kecepatan putar motor DC, semakin tinggi nilai potensiometer maka semakin banyak logika '1' sehingga motor DC lebih lama menyala dari pada mati, sebaliknya jika potensiometer semakin kecil, maka semakin banyak logika '0' maka motor DC akan lebih lama mati dari pada hidup.
7. Link Download [kembali]
Tidak ada komentar:
Posting Komentar