TUGAS PENDAHULUAN 1
1. Prosedur
[Kembali]
Prinsip Kerja
a. Listing Program
5. Kondisi
[Kembali]
MODUL 3
PERCOBAAN 1 KONDISI 7
- Rangkai komponen sesuai percobaan dan kondisi yang dipilih.
- Buat program menggunakan Arduino IDE.
- Transfer program yang telah dibuat ke Arduino yang ada di Proteus.
- Uji coba program di simulasi sesuai dengan kondisi yang diinginkan.
- Proses selesai setelah uji coba berhasil dilakukan.
2. Hardware dan diagram blok
[Kembali]
a. hardware
1. Modul Arduino Uno
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Rangkaian Sebelum Simulasi
Rangkaian Setelah Simulasi
Running LED
Rangkaian pada percobaan ini adalah komunikasi antara dua perangkat mikrokontroler Arduino menggunakan protokol UART.Rangkaian ini melibatkan dua perangkat, satu sebagai master dan yang lainnya sebagai slave, yang saling berkomunikasi melalui pengiriman dan penerimaan data serial.Pertama, program pada perangkat master dijalankan dan mulai dengan menginisialisasi pengaturan komunikasi serial UART dengan kecepatan tertentu, sebesar 9600 bps. Kemudian, perangkat master membaca status input dari tombol-tombol yang telah ditetapkan. Setelah itu, berdasarkan status tombol yang terbaca, perangkat master akan mengirimkan karakter khusus melalui jalur transmisi serial (TX) ke perangkat slave.
Sementara itu, perangkat slave, setelah diinisialisasi, akan terus melakukan pemantauan pada jalur penerimaan serial (RX). Saat perangkat slave mendeteksi adanya data yang masuk, ia akan membaca karakter tersebut. Berdasarkan karakter yang diterima, perangkat slave akan mengaktifkan fungsi tertentu, misalnya mengontrol LED pada Arduino. Inputan pada perangkat ini dirangkaian secara pull up( aktif saat hight) dan pull down (aktif saat low)
Ditetapkan 2 kemungkinan kondisi yang bisa mnegaktifkan LED pada perangkat ini:
Kondisi 1 (r)
Jika 3 switch pull down dan 4 switch pull up. Artinya => Dipswitch yang dirangkai pull up 4 aktif dan Dipswitch yang dirangkai pull down 3 Aktif Maka outputnya berupa running LED. Yang mana LED akan hidup dan mati secara bergantian dan berurutan
Kondisi 2 (b)
Jika 3 switch pull down dan 0 switch pull up. Artinya => Dipswitch yang dirangkai pull up 0 aktif dan Dipswitch yang dirangkai pull down 3 Aktif Maka outputnya berupa Blingking LED. Yang mana LED akan hidup dan mati secara serentak dalam waktu bersamaan.
Program akan mengecek kondisi mana yang terpenuhi melalui fungsi loop. Jika kondisi r tidak terpenuhi maka akan lanjut mengecek kondisi b. Jika kedua kondisi ini tidak terpenuhi maka LED tidak akan ada yang menyala.
Prinsip kerja ini memungkinkan perangkat master untuk mengirimkan instruksi ke perangkat slave, dan perangkat slave akan menanggapi instruksi tersebut sesuai dengan program yang telah ditetapkan. Penting untuk diingat bahwa komunikasi serial UART memerlukan konsistensi dalam pengaturan baud rate (kecepatan komunikasi) dan pengaturan lainnya agar komunikasi dapat berjalan dengan baik.Dengan rangkaian ini, data dapat dikirimkan dengan aman dan efisien antara perangkat master dan slave, memungkinkan mereka untuk saling berinteraksi sesuai dengan kebutuhan aplikasi yang diinginkan.
4. FlowChart
[Kembali]
Master
#define DS1 2
#define DS2 3
#define DS3 4
#define DS4 5
#define DS5 6
#define DS6 7
#define DS7 8
#define DS8 9
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 == HIGH && b3 == HIGH && b2 == HIGH && b1 == LOW) {
// Mengaktifkan running LED
Serial.write('r');
} else if (b8 == LOW && b7 == LOW && b6 == LOW && b5 == LOW &&
b4 == HIGH && b3 == HIGH && b2 == HIGH && b1 == LOW) {
// Mengaktifkan blinking LED
Serial.write('b');
}
delay(20);
}
Slave
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
Master
Percobaan 1 Kondisi 7
4 Switch dalam pull down dan 4 Switch dalam pull up. 3 Switch pull down dan 4 Switch pull up mengaktifkan running LED. 3 Switch pull down dan 0 switch pull-up mengaktifkan blingking LED
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
Download HMTL klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi klik disini
Download Program Master klik disini
Download Program Slave klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet DipSW-8 klik disini
Download Datasheet LED klik disini
Tidak ada komentar:
Posting Komentar