TUGAS PENDAHULUAN MODUL 3 PERCOBAAN 1 KONDISI 6
- Modul 3 Komunikasi
[KEMBALI KE MENU SEBELUMNYA]
DAFTAR ISI
1. Prosedur
2. Rangkaian Simulasi dan Prinsip Kerja
3. Flowchart dan Listing Program
4. Kondisi
5. Video Simulasi
6. Download File
1. Prosedur [kembali]
- Buatlah rangkaian sesuai dengan kondisi yang telah dipilih
- Buat Program pada software Arduino IDE
- Masukkan program yang telah dibuat pada software Arduino IDE sebagai library Arduino
- Jalankan rangkaian, sesuai dengan kondisi yang diinginkan
2. Rangkaian Simulasi dan Prinsip Kerja [kembali]
Pada modul 3, percobaan 1 kondisi 6, kami menggunakan 4 saklar pull-down dan 4 saklar pull-up sebagai input dan 8 LED sebagai output.
Selain itu juga menggunakan 2 modul, pertama Arduino master sebagai pemberi perintah dan Arduino Slave sebagai penerima/pelaksana perintah.
Arduino master dihubungkan dengan 8 input saklar dan Arduino slave dihubungkan dengan 8 output berupa LED.
Pada pengujian ini menggunakan komunikasi UART yang ditandai dengan pin Tx Arduino master terhubung ke pin Rx Arduino Slave dan pin Rx Arduino Master terhubung ke pin Tx Arduino Slave.
Sesuai kondisi yang dibutuhkan, ketika 1 saklar pull-down dan 4 saklar pull-up aktif, maka LED on akan aktif sesuai program yang kita masukkan di Arduino.
if (message == 'R'){
for(i=0; i<9; i++){
digitalWrite(led[i], 1);
digitalWrite(led[i-1], 0);
delay(100);
}
maka ketika kondisi ini sesuai maka program akan menyalakan LED satu per satu secara bergantian dan mematikan LED sebelumnya setelah LED berikutnya hidup.
Sesuai dengan kondisi kedua yang diminta, 4 switch pull down dan 1 switch pull up aktif maka akan mengaktifkan blinking led, dimana hal ini sesuai dengan program yang telah kita inputkan pada arduino
}else if (message == 'B'){
for(i=0; i<8; i++){
digitalWrite(led[i], 1);
}
maka ketika kondisi ini sesuai maka program akan menyalakan semua LED sejenak dan langsung mematikan semua LED secara bersamaan.
3. Flowchart dan Listing Program [kembali]
a. Flowchart
- Arduino Slave
- b. Listing Program
Arduino Master
//master
int sw_pd[] = {2,3,4,5};
int sw_pu[] = {10,11,12,13};
int i, sw_on_pd, sw_on_pu, SW_PD[4], SW_PU[4];
void setup() {
Serial.begin(9600);
for(i=0; i<4; i++){
pinMode(sw_pd[i], INPUT);
}
for(i=0; i<4; i++){
pinMode(sw_pu[i], INPUT_PULLUP);
}
}
void penjumlahan(){
for(i=0; i<4; i++){
SW_PD[i] = digitalRead(sw_pd[i]);
}
for(i=0; i<4; i++){
SW_PU[i] = digitalRead(sw_pu[i]);
}
sw_on_pd = SW_PD[0] + SW_PD[1] + SW_PD[2] + SW_PD[3];
sw_on_pu = SW_PU[0] + SW_PU[1] + SW_PU[2] + SW_PU[3];
}
void loop() {
penjumlahan();
if (sw_on_pd == 1 && sw_on_pu == 0){
Serial.write('R');
delay(1000);
}
else if (sw_on_pd == 4 && sw_on_pu == 3){
Serial.write('B');
delay(1000);
}
else{
Serial.write('0');
delay(1000);
}
}
- Arduino Slave
//slave
int led[] = {2,3,4,5,6,7,8,9};
int i;
void setup() {
Serial.begin(9600);
for(i=0; i<8; i++){
pinMode(led[i], OUTPUT);
}
}
void loop() {
if (Serial.available()){
char message = Serial.read();
if (message == 'R'){
for(i=0; i<9; i++){
digitalWrite(led[i], 1);
digitalWrite(led[i-1], 0);
delay(100);
}
}else if (message == 'B'){
for(i=0; i<8; i++){
digitalWrite(led[i], 1);
}
delay(100);
for(i=0; i<8; i++){
digitalWrite(led[i], 0);
}
}else if (message == '0'){
for(i=0; i<8; i++){
digitalWrite(led[i], 0);
}
}
}
}
4. Kondisi [kembali]
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
5. Video Simulasi [kembali]
6. Download File [kembali]
Download HTML klik disini
Download Rangkaian Proteus klik disini
Download Program Arduino Master klik disini
Download Program Arduino Slave klik disini
Download Video klik disini
Download Datasheet Arduino klik disini
Tidak ada komentar:
Posting Komentar