MODUL III
PERCOBAAN 1
1. Prosedur
[Kembali]PERCOBAAN 1
- Rangkai seluruh komponen alat dan bahan yang diperlukan sesuai dengan kondisi percobaan yang dipilih.
- Buat program arduino pada aplikasi Arduino IDE sesuai dengan kondisi percobaan. Pastikan aplikasi Arduino IDE sudah mendownload library yang dibutuhkan dan sudah memilih board arduino yang sesuai.
- Verifikasi atau upload program pada arduino.
- Jalankan atau uji coba rangkaian yang telah dibuat sesuai dengan kondisi.
- Perhatikan rangkaian dan output apakah sesuai dengan kondisi.
- Rangkaian telah selesai dibuat.
2. Hardware dan Diagram Blok
[Kembali]
a) Hardware
b) Diagram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
a) Rangkaian Simulasi
b) Prinsip Kerja
Program Arduino di atas menggunakan dua perangkat yang saling berkomunikasi melalui koneksi serial. Perangkat pertama memiliki 8 tombol (DS1-DS8) yang masing-masing terhubung ke pin digital Arduino dan menggunakan input pull-up. Ketika salah satu tombol ditekan, Arduino akan mengirimkan karakter yang sesuai ke perangkat kedua melalui koneksi serial.
Perangkat kedua memiliki 8 LED (led[0]-led[7]) yang terhubung ke pin digital Arduino. Arduino perangkat kedua akan terus membaca data dari koneksi serial. Ketika menerima karakter dari perangkat pertama, Arduino perangkat kedua akan menyalakan LED sesuai dengan karakter yang diterima. Setelah menyalakan LED, Arduino perangkat kedua akan mematikan semua LED sebelum kembali membaca data baru dari koneksi serial.
a) Flowchart
Perangkat 1
Perangkat 2
b) Listing Program
Perangkat 1
5. Video Demo
[Kembali]
#define DS1 2
#define DS2 3
#define DS3 4
#define DS4 5
#define DS5 6
#define DS6 7
#define DS7 8
#define DS8 9
bool b1,b2,b3,b4,b5,b6,b7,b8;
void setup()
{
Serial.begin(9600);
pinMode(DS1, INPUT_PULLUP);
pinMode(DS2, INPUT_PULLUP);
pinMode(DS3, INPUT_PULLUP);
pinMode(DS4, INPUT_PULLUP);
pinMode(DS5, INPUT_PULLUP);
pinMode(DS6, INPUT_PULLUP);
pinMode(DS7, INPUT_PULLUP);
pinMode(DS8, INPUT_PULLUP);
}
void loop()
{
b8 = digitalRead(DS8);
b7 = digitalRead(DS7);
b6 = digitalRead(DS6);
b5 = digitalRead(DS5);
b4 = digitalRead(DS4);
b3 = digitalRead(DS3);
b2 = digitalRead(DS2);
b1 = digitalRead(DS1);
// Hidupkan LED sesuai dengan tombol yang ditekan
if (b8 == LOW)
{
Serial.write('8');
}
else if (b7 == LOW)
{
Serial.write('7');
}
else if (b6 == LOW)
{
Serial.write('6');
}
else if (b5 == LOW)
{
Serial.write('5');
}
else if (b4 == LOW)
{
Serial.write('4');
}
else if (b3 == LOW)
{
Serial.write('3');
}
else if (b2 == LOW)
{
Serial.write('2');
}
else if (b1 == LOW)
{
Serial.write('1');
}
delay(20);
}
Perangkat 2
int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
char message;
void setup()
{
Serial.begin(9600);
for (int i = 0; i < 8; i++)
{
pinMode(led[i], OUTPUT);
}
}
void loop()
{
if (Serial.available())
{
message = Serial.read();
if (message == '1')
{
digitalWrite(led[0], HIGH);
}
else if (message == '2')
{
digitalWrite(led[1], HIGH);
}
else if (message == '3')
{
digitalWrite(led[2], HIGH);
}
else if (message == '4')
{
digitalWrite(led[3], HIGH);
}
else if (message == '5')
{
digitalWrite(led[4], HIGH);
}
else if (message == '6')
{
digitalWrite(led[5], HIGH);
}
else if (message == '7')
{
digitalWrite(led[6], HIGH);
}
else if (message == '8')
{
digitalWrite(led[7], HIGH);
}
}
delay(20);
for (int i = 0; i < 8; i++)
{
digitalWrite(led[i], LOW);
}
}
Percobaan 1 Komunikasi UART Menggunakan Arduino
HTML Blog