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

Tugas Besar

Modul 1

Modul I - Gerbang Logika dan Multivibrator