LA 1 Modul 3

 



Percobaan 1
Percobaan 1 Komunikasi UART Menggunakan Arduino 

1. Prosedur [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan dengan modul
  • Lihat hasil LED apakah sesuai dengan warna switch yang ditekan

  • Hardware
  • Push Botton
  • LED

  • Arduino UNO
  • VCC
  • Ground
  • Diagram Blok



  • Rangkaian Simulasi



4. Prinsip Kerja Rangkaian [Kembali]

  • Rangkaian percobaan ini merupakan rangkaian 8x Push Button dan LED. Push button akan mengatur keluaran pada LED. Dimana:

    • Ketika push button 1 ON, maka LED 1 ON.
    • Ketika push button 2 ON, maka LED 2 ON.
    • Dan begitu seterusnya secara berurutan
  • Flowchart

Master

Slave
  • Listing Program 
  • //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
    bool b1,b2,b3,b4,b5,b6,b7,b8;
    void setup()  
    {  
    Serial.begin(9600);
    pinMode(DS1, INPUT);
    pinMode(DS2, INPUT);
    pinMode(DS3, INPUT);
     pinMode(DS4, INPUT);
      pinMode(DS5, INPUT);
      pinMode(DS6, INPUT);
      pinMode(DS7, INPUT);
      pinMode(DS8, INPUT);
    }
    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 tombol yang ditekan
      if (b8 == HIGH)
        {
          Serial.write('8');
        }
      else if (b7 == HIGH)
        {
          Serial.write('7');
        }
      else if (b6 == HIGH)
        {
          Serial.write('6');
        }
      else if (b5 == HIGH)
        {
          Serial.write('5');
        }
      else if (b4 == HIGH)
        {
          Serial.write('4');
        }
      else if (b3 == HIGH)
        {
          Serial.write('3');
        }
      else if (b2 == HIGH)
        {
          Serial.write('2');
        }
      else if (b1 == HIGH)
        {
          Serial.write('1');
        }
      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 == '1')
        {
          digitalWrite(led[0], 0);
        }
        else if (message == '2')
        {
          digitalWrite(led[1], 0);
        }
        else if (message == '3')
        {
          digitalWrite(led[2], 0);
        }
        else if (message == '4')
        {
          digitalWrite(led[3], 0);
        }
        else if (message == '5')
        {
          digitalWrite(led[4], 0);
        }
        else if (message == '6')
        {
          digitalWrite(led[5], 0);
        }
        else if (message == '7')
        {
          digitalWrite(led[6], 0);
        }
        else if (message == '8')
        {
          digitalWrite(led[7], 0);
        }
    }
    delay(20);
    digitalWrite(led[0], 1);
    digitalWrite(led[1], 1);
    digitalWrite(led[2], 1);
    digitalWrite(led[3], 1);
    digitalWrite(led[4], 1);
    digitalWrite(led[5], 1);
    digitalWrite(led[6], 1);
    digitalWrite(led[7], 1);
    }
    

6. Kondisi dan Analisa [Kembali]








Tidak ada komentar:

Posting Komentar