TP1 M3


1. Prosedur [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan sesuai kondisi
  • Rangkaian Simulasi


  • Prinsip Kerja
Pada percobaan 1 kondisi 1 ini kita menggunakan komunikasi data UART yang mana mengirimkan data secara serial tanpa mengikuti clock menggunakan pin Rx dan pin Tx. Inputnya berupa 4 buah sakelar yang dipasang secara pull down (maksud nya switchnya aktif ketika logika nya 1) yang terhubung pada arduino yang berperan sebagai master. Sedangkan output berupa 4  buah led yang terhubung pada arduino yang berperan sebagai slave. 

  • Flowchart
  • Listing Program
MASTER
//master
int sw[] = {2,3,4,5};
int i,sw_on,sw1,sw2,sw3,sw4;

void setup() {
  Serial.begin(9600);
  for(i=0; i<4; i++){
    pinMode(sw[i], INPUT);
  }
}

void penjumlahan(){
  sw1 = digitalRead(sw[0]);
  sw2 = digitalRead(sw[1]);
  sw3 = digitalRead(sw[2]);
  sw4 = digitalRead(sw[3]);
  sw_on = sw1 + sw2 + sw3 + sw4;
}

void loop() {
  penjumlahan();
  if (sw_on == 1){
    if(sw1 == 1){
      Serial.write('1');
    }else if(sw2 == 1){
      Serial.write('2');
    }else if(sw3 == 1){
      Serial.write('3');
    }else if(sw4 == 1){
      Serial.write('4');
    }
  }
  else if (sw_on == 4){
    Serial.write('A');
  }
  else{
    Serial.write('a');
  }
}
 delay(20);
}

SLAVE
//slave
int led[] = {2,3,4,5};
int i;

void setup() {
  Serial.begin(9600);
  for(i=0; i<4; i++){
    pinMode(led[i], OUTPUT);
  }
}

void loop() {
  if (Serial.available()){
    char message = Serial.read();
    if (message == '1'){
      digitalWrite(led[0], 1);
    }else if (message == '2'){
      digitalWrite(led[1], 1);
    }else if (message == '3'){
      digitalWrite(led[2], 1);
    }else if (message == '4'){
      digitalWrite(led[3], 1);
    }else if (message == 'A'){
      digitalWrite(led[0], 1);
      digitalWrite(led[1], 1);
      digitalWrite(led[2], 1);
      digitalWrite(led[3], 0);
    }else if (message == 'a'){
      digitalWrite(led[0], 0);
      digitalWrite(led[1], 0);
      digitalWrite(led[2], 0);
      digitalWrite(led[3], 0);
    }
  }
}

4. Kondisi [Kembali]

Semua Switch dalam kondisi Pull-down, 1 switch mengaktifkan 1 led sementara 4 switch mengaktifkan 3 led    

Simulasi  klik disini
Gambar Simulasi  klik disini
Video Simulasi  klik disini
Listring Program Master  klik disini
Listring Program Slave  klik disini

Komentar

Postingan populer dari blog ini

Modul 1

Modul I - Gerbang Logika dan Multivibrator

Tugas Besar