Percobaan 1 Kondisi 6
4 switch dalam pull-down & 4 switch dalam pull-up, 1 switch pull-down dan 4 switch pull up mengaktifkan running led,4 switch pull down dan 1 switch pull up mengaktifkan blinking led
- Rangkailah semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai, masukkan program ke arduino
- Jalankan program pada simulasi dan lakukan sesuai kondisi
2. Hardware dan diagram blok
[Kembali]
a. hardware
1. Arduino Uno
2. Dipswitch_4
3. LED
2. Dipswitch_4
3. LED
4. Resistor
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
→Gambar Rangkaian Sebelum Disimulasikan
→Gambar Rangkaian Setelah Disimulasikan
PRINSIP KERJA
Pada percobaan 1 Kondisi 6, Rangkaian ini merupakan rangkaian dengan jenin komunikasi UART Menggunakan Arduino. Pada rangkaian ini, Arduino yang berperan sebagai master membaca kondisi dari 8 tombol (DS1 hingga DS8) yang terhubung sebagai input. Setiap tombol diasumsikan sebagai saklar digital yang ketika ditekan akan memberikan sinyal LOW. Pada loop utama, Arduino master membaca status masing-masing tombol dan mengirimkan karakter 'r' ke Arduino slave jika tombol tertentu ditekan sesuai dengan kondisi yang ditentukan. Karakter 'r' menandakan untuk mengaktifkan running LED. Begitu pula, karakter 'b' akan dikirim jika kondisi tombol memicu pengiriman sinyal tersebut, menandakan untuk mengaktifkan blinking LED.
Pada Arduino slave, ketika karakter diterima melalui komunikasi serial, perangkat akan memeriksa karakter tersebut. Jika karakter yang diterima adalah 'r', maka LED akan berjalan satu per satu dengan kecepatan tertentu. Sedangkan jika karakter yang diterima adalah 'b', LED akan berkedip dengan interval tertentu. Rangkaian ini mengimplementasikan komunikasi dua arah antara Arduino master dan slave melalui komunikasi serial, di mana master mengirimkan instruksi dan slave mengambil tindakan sesuai instruksi yang diterima.
Kondisi rangkaian yang dibutuhkan adalah memastikan bahwa kedua Arduino terhubung secara fisik dengan benar, bahwa pin input dari tombol pada Arduino master terhubung dengan pin output pada Arduino slave yang mengendalikan LED, dan bahwa komunikasi serial antara keduanya berjalan pada kecepatan yang sama (9600 bps dalam hal ini) untuk memastikan komunikasi yang berhasil.
4. FlowChart
[Kembali]
Master Arduino
#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() {
int b8 = digitalRead(DS8);
int b7 = digitalRead(DS7);
int b6 = digitalRead(DS6);
int b5 = digitalRead(DS5);
int b4 = digitalRead(DS4);
int b3 = digitalRead(DS3);
int b2 = digitalRead(DS2);
int b1 = digitalRead(DS1);
// Hidupkan LED sesuai dengan kondisi tombol yang ditekan
if (b8 == HIGH && b7 == HIGH && b6 == HIGH && b5 == HIGH &&
b4 == LOW && b3 == HIGH && b2 == HIGH && b1 == HIGH) {
// Mengaktifkan running LED
Serial.write('r');
} else if (b8 == HIGH && b7 == LOW && b6 == LOW && b5 == LOW &&
b4 == LOW && b3 == LOW && b2 == LOW && b1 == LOW) {
// Mengaktifkan blinking LED
Serial.write('b');
}
delay(20);
}
Slave Arduino
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 == 'r') {
// Mengaktifkan running LED
for (int i = 0; i < 8; i++) {
digitalWrite(led[i], HIGH);
delay(100);
digitalWrite(led[i], LOW);
}
} else if (message == 'b') {
// Mengaktifkan blinking LED
for (int i = 0; i < 8; i++) {
digitalWrite(led[i], HIGH);
}
delay(500);
for (int i = 0; i < 8; i++) {
digitalWrite(led[i], LOW);
}
delay(500);
}
}
}
b. Flowchart
4 switch dalam pull-down & 4 switch dalam pull-up, 1 switch pull-down dan 4 switch pull up mengaktifkan running led, 4 switch pull down dan 1 switch pull up mengaktifkan blinking led
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
HTML klik disini
Rangkaian Simulasi klik disini
Video Simulasi klik disini
Listing Program Master Arduino klik disini
Listing Program Slave Arduino klik disini
Datasheet Arduino klik disini
Tidak ada komentar:
Posting Komentar