Laporan Akhir 1 Modul 3 (Percobaan 1)




1. Jurnal
[Kembali]

KONDISI
Lakukan komunikasi UART sesuai pada modul

2. Alat dan Bahan [Kembali]
2.1 Arduino

Arduino merupakan sebuah perangkat elektronik yang bersifat open source dan sering digunakan untuk merancang dan membuat perangkat elektronik serta software yang mudah untuk digunakan. Arduino ini dirancang sedemikian rupa untuk mempermudah penggunaan perangkat elektronik di berbagai bidang.

Arduino ini memiliki beberapa komponen penting di dalamnya, seperti pin, mikrokontroler, dan konektor yang nanti akan dibahas lebih dalam selanjutnya. Selain itu, Arduino juga sudah menggunakan bahasa pemrograman Arduino Language yang sedikit mirip dengan bahasa pemrograman C++. 

A. Bagian-bagian arduino uno:

1. Power USB
Digunakan untuk menghubungkan PapanArduino dengan komputer lewat koneksi USB
2. Power jack
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.
3. Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.  Jumlah cetak    menunjukkan 16000 atau 16000 kHz, atau 16 MHz.
4. Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.
5. Digital Pins I / O
Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.
6. Analog Pins
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.
7. LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.
Bagian-Bagian Pendukung
1. RAM
RAM (Random Access Memory) adalah tempat penyimpanan sementara pada komputer yang isinya dapat diakses dalam waktu yang tetap, tidak memperdulikan letak data tersebut dalam memori atau acak. Secara umum ada 2 jenis RAM yaitu SRAM (Static Random Acces Memory) dan DRAM (Dynamic Random Acces Memory).
2. ROM

ROM (Read-only Memory) adalah perangkat keras pada computer yang dapat menyimpan data secara permanen tanpa harus memperhatikan adanya sumber listrik. ROM terdiri dari Mask ROM, PROM, EPROM, EEPROM. 

2.2 Breadboard

Breadboard merupakan sebuah board atau papan yang berfungsi untuk merancang sebuah rangkaian elektronik sederhana. Breadboard tersebut nantinya akan dilakukan prototipe atau uji coba tanpa harus melakukan solder.

Umumnya breadboard terbuat dari bahan plastik yang juga sudah terdapat berbagai lubang. Lubang tersebut sudah diatur sebelumnya sehingga membentuk pola yang didasarkan pada pola jaringan di dalamnya. Selain itu, breadboard yang bisa ditemukan di pasaran umumnya dibagi menjadi 3 ukuran. Pertama dinamakan sebagai mini breadboard, kedua disebut medium breadboard, dan yang terakhir dinamakan sebagai large breadboard.
2.3 Jumper


Kabel jumper adalah kabel elektrik yang memiliki pin konektor di setiap ujungnya dan memungkinkanmu untuk menghubungkan dua komponen yang melibatkan Arduino tanpa memerlukan solder. Intinya kegunaan kabel jumper ini adalah sebagai konduktor listrik untuk menyambungkan rangkaian listrik. Biasanya kabel jamper digunakan pada breadboard atau alat prototyping lainnya agar lebih mudah untuk mengutak-atik rangkaian.

Jenis jenis kabel jumper yang paling umum adalah sebagai berikut:
    • Kabel Jumper Male to Male
      Kabel Jumper Male to Male

      Jenis yang pertama adalah kabel jumper male male. Kabel jumper male to male adalah adalah jenis yang sangat yang sangat cocok untuk kamu yang mau membuat rangkaian elektronik di breadboard.

    • Kabel Jumper Male to Female
      Kabel Jumper Male to Female

      Kabel jumper male female memiliki ujung konektor yang berbeda pada tiap ujungnya, yaitu male dan female.

      Biasanya kabel ini digunakan untuk menghubungkan komponen elektronika selain arduino  ke breadboard
    • Kabel Jumper Female to Female

      Kabel Jumper Female to Female
      Jenis kabel jumper yang terakhir adalah kabel female to female. Kabel ini sangat cocok untuk menghubungkan antar komponen yang memiliki  header male
    2.4 Kabel USB Arduino

    Kabel Data Mini USB ini biasa digunakan sebagai kabel untuk transfer data antar dua perangkat dan sebagai kabel untuk pemrograman Arduino yang memiliki soket Mini USB seperti Arduino uno standar.

    2.5 LED RED



    LED (Light Emitting Diode) adalah Sebuah lampu kecil yang digunakan sebagai penanda atau pointer. Light Emitting Diode adalah salah satu komponen elektronika yang terbuat dari bahan semi konduktor jenis dioda yang mempu mengeluarkan cahaya. Strukturnya juga sama dengan dioda, tetapi pada LED elektron menerjang sambungan P-N (Positif-Negatif). Untuk mendapatkan emisi cahaya pada semikonduktor, doping yang pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda menghasilkan warna cahaya yang berbeda pula.

    2.6 Resistor 220 ohm



    Resistor merupakan komponen penting dan sering dijumpai dalam sirkuit Elektronik. Boleh dikatakan hampir setiap sirkuit Elektronik pasti ada Resistor. Tetapi banyak diantara kita yang bekerja di perusahaan perakitan Elektronik maupun yang menggunakan peralatan Elektronik tersebut tidak mengetahui cara membaca kode warna ataupun kode angka yang ada ditubuh Resistor itu sendiri.

    Tabel Kode Warna Resistor
    Perhitungan untuk Resistor dengan 4 Gelang warna :


    Cara menghitung nilai resistor 4 gelang

    Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
    Masukkan angka langsung dari kode warna Gelang ke-2
    Masukkan Jumlah nol dari kode warna Gelang ke-3 atau pangkatkan angka tersebut dengan 10 (10n)
    Merupakan Toleransi dari nilai Resistor tersebut

    Contoh :
    Gelang ke 1 : Coklat = 1
    Gelang ke 2 : Hitam = 0
    Gelang ke 3 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
    Gelang ke 4 : Perak = Toleransi 10%
    Maka nilai Resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1 MOhm dengan toleransi 10%.

    Perhitungan untuk Resistor dengan 5 Gelang warna :

    Cara Menghitung Nilai Resistor 5 Gelang Warna

    Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
    Masukkan angka langsung dari kode warna Gelang ke-2
    Masukkan angka langsung dari kode warna Gelang ke-3
    Masukkan Jumlah nol dari kode warna Gelang ke-4 atau pangkatkan angka tersebut dengan 10 (10n)
    Merupakan Toleransi dari nilai Resistor tersebut

    Contoh :
    Gelang ke 1 : Coklat = 1
    Gelang ke 2 : Hitam = 0
    Gelang ke 3 : Hijau = 5
    Gelang ke 4 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
    Gelang ke 5 : Perak = Toleransi 10%
    Maka nilai Resistor tersebut adalah 105 * 105 = 10.500.000 Ohm atau 10,5 MOhm dengan toleransi 10%.

     Contoh-contoh perhitungan lainnya :

    Merah, Merah, Merah, Emas → 22 * 10² = 2.200 Ohm atau 2,2 Kilo Ohm dengan 5% toleransi
    Kuning, Ungu, Orange, Perak → 47 * 10³ = 47.000 Ohm atau 47 Kilo Ohm dengan 10% toleransi

    Cara menghitung Toleransi :
    2.200 Ohm dengan Toleransi 5% =
    2200 – 5% = 2.090
    2200 + 5% = 2.310
    ini artinya nilai Resistor tersebut akan berkisar antara 2.090 Ohm ~ 2.310 Ohm

    2.7 Push Button
     
    Push Button

    Push Button Adalah perangkat / saklar sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan bekerja sebagai device penghubung atau pemutus aliran arus listrik saat tombol ditekan, dan saat tombol tidak ditekan (dilepas), maka saklar akan kembali pada kondisi normal. Sebagai device penghubung atau pemutus, push button switch hanya memiliki 2 kondisi, yaitu On dan Off (1 dan 0). Istilah On dan Off ini menjadi sangat penting karena semua perangkat listrik yang memerlukan sumber energi listrik pasti membutuhkan kondisi On dan Off.

    2.8 Arduino IDE

    Arduino IDE adalah software yang digunakan untuk membuat sketch pemrogaman atau dengan kata lain arduino IDE sebagai media untuk pemrogaman pada board yang ingin diprogram. Arduino IDE ini berguna untuk mengedit, membuat, meng-upload ke board yang ditentukan, dan meng-coding program tertentu. Arduino IDE dibuat dari bahasa pemrogaman JAVA, yang dilengkapi dengan library C/C++(wiring), yang membuat operasi input/output lebih mudah.

    2.9 Laptop


    Laptop adalah perangkat keras dimana pada praktikum ini akan digunakan untuk tempat kita akan melisting program dan mengupload serta mencompile dari software arduino IDE.

    3. Rangkaian Simulasi [Kembali]

    4. Prinsip Kerja Rangkaian [Kembali]
    Pada Percobaan ini, digunakan alat dan bahan seperti 2 Arduino (Untuk Slave dan Master), Push Button
    LED, Resistor 220 ohm, Kabel Jumper, Breadboard, Kabel USB, Arduino IDE, dan Laptop. Selanjutnya,
    kita akan menghubungkan pin TX master ke pin RX slave, pin RX master ke pin TX slave, dan pin GND Master
    ke pin GND slave. Selanjutnya, kita hubungkan pin 2 master ke push button. Terakhir kita menghubungkan
    pin 13 slave ke LED yang terpasang seri dengan resistor 220 ohm. Setelah semua terangkai, kita akan
    selanjutnya membuat listing program untuk menjalankannya.

    LISTING PROGRAM MASTER
    #define button 2 //Deklarasi pin 2 untuk button

    void setup()        //Semua kode dalam fungsi ini dieksekusi sekali
    {
      pinMode(button, INPUT_PULLUP);
      Serial.begin(9600); //Set baud rate 9600
    }

    void loop()         //Semua kode dalam fungsi ini dieksekusi berulang
    {
      int nilai = digitalRead(button);

      //Button ditekan
      if (nilai == 0)
      {
        Serial.print("1");
      }
      else
      {
        Serial.print("2");
      }

      delay(200);
    }

    PENJELASAN PROGRAM

    Prinsip kerja dari program master yaitu pertama-tama deklarasikan pin 2 untuk button, lalu ada fungsi void setup dimana pada fungsi ini semua kode akan di eksekusi secara sekali. Lalu dalam fungsi  void setup ada pinMode(button,INPUT_PULLUP)  berfungsi untuk mendeklarasikan button sebagai input pullup. Maksud input pullup yaitu, ketika button tidak di tekan maka dia akan berlogika 1, sedangkan jika button ditekan dia akan berlogika 0.

    Selanjutnya ada Serial.beggin(9600) berfungsi untuk mengatur kecepatan pengiriman data melalui port serial. Lalu ada fungsi void loop yang mana dalam fungsi ini semua kode akan di eksekusi berulang, dalam fungsi ini ada variabel nilai = digitalRead(button) dengan tipe data integer. Selanjutnya jika button ditekan maka nilainya 0 sehingga serial print bernilai (1). Fungsi serial print adalah untuk mengirimkan data ke port serial, lalu jika nilai nya selain 0 (button tidak ditekan) sehingga serial print nya akan bernilai (2), kemudian ada delay(200) yaitu jarak 200ms sebelum perulangan selanjutnya.

    LISTING PROGRAM SLAVE

    #define led 12 //Deklarasi pin 12 untuk LED

    void setup()    //Semua kode dalam fungsi ini dieksekusi sekali
    {
      pinMode(led, OUTPUT); //Deklarasi LED sebagai output
      Serial.begin(9600);           //Set baud rate 9600
    }

    void loop()                          //Semua program dalam fungsi ini dieksekusi berulang
    {
      if (Serial.available() > 0)
      {
        int data = Serial.read();
        if (data == '1') //Jika data yang dikirimkan berlogika
        {
          digitalWrite(led, HIGH); //LED menyala
        }
        else
        {
          digitalWrite(led, LOW); //LED mati
        }

      }
    }

    PENJELASAN PROGRAM

    Prinsip kerja dari program slave yaitu pertama-tama deklarasikan pin 12 untuk LED,lalu ada fungsi void setup () dimana dalam fungsi ini semua kode akan dieksekusi sekali, dalam fungsi ini terdapat syntak pinMode(led,OUTPUT) yaitu untuk mendeklarasikan led sebagai output dan ada Serial.begin(9600) berguna untuk mengatur kecepatan pengiriman data menggunakan port serial.

    Selanjutnya ada fungsi void loop dimana dalam fungsi ini semua kode akan dieksekusi secara berulang, dalam fungsi ini terdapat syntak if (Serial.available()>0) yang mana serial.available ini berguna untuk menghasilkan jumlah byte di port serial yang belum terbaca.  Lalu ada variable data dengan tipe data integer yang akan membaca satu byte data yang terdapat di port serial. Jika data yang terbaca adalah 1 (saat button button pada master) maka led akan berlogika high sehingga led akan menyala. Sedangkan jika data yang terbaca selain 1 maka led akan berlogika low sehingga led tidak akan menyala.
       
    Setelah listing program dibuat baik di master dan slave, selanjutnya kita hubungkan masing-masing arduino UNO ke Laptop dengan menggunakan kabel USB. Setekah itu kita cabut terlebih dahulu pin TX dan RX arduino saat proses penguploadan biar tidak terjadi error saat menguploadnya karena antara laptop dengan arduino yang terhubung dengan kabel USB sedang berlangsung proses komunikasi UART. Setelah di upload selanjutnya kita pasang kembali pin TX dan RX-nya. Selanjutnya jika button ditekan maka nilainya 0 sehingga serial print bernilai (1). Fungsi serial print adalah untuk mengirimkan data ke port serial, lalu jika nilai nya selain 0 (button tidak ditekan) sehingga serial print nya akan bernilai (2). Saat data yang terbaca adalah 1 (saat button button pada master) maka led akan berlogika high sehingga led akan menyala. Sedangkan jika data yang terbaca selain 1 maka led akan berlogika low sehingga led tidak akan menyala.


    5. Video Rangkaian [Kembali]


    6. Analisa [Kembali]

    1. Analisa apa yang akan terjadi jika memprogram arduino di laptop dengan keadaan TX RX di pin 0 dan 1 terhubung?

    Jawab :
    Yang akan ketika memprogram arduino di laptop dengan keadaan TX RX di pin 0 dan1 terhubung adalah program akan error. Hal ini dikarenakan antara master dengan laptop sedang terjadi proses komunikasi UART,  sehingga saat pin TX RX terhubung arduino akan bingung dalam memilih TX RX yang sedang digunakan.

    2. Analisa apa yang akan terjadi jika pin TX atau pin RX di putus? 

    Jawab :
    Yang akan terjadi apabila pin TX diputus, maka tidak ada data yang ditransmisikan Master dan jika pin RX diputus, maka tidak ada data yang diterima Slave sehingga tidak terjadi komunikasi UART antara master dengan slave. Tetapi jika pin TX pada slave dan pin RX pada master dicabut, maka UART tetap berjalan. Hal ini karena hanya master yang dapat mengirimkan data sehingga pin TX master dan pin RX slave tidak boleh diputus.

    7. Link Download [Kembali]

    No comments:

    Post a Comment

      BAHAN PRESENTASI KULIAH TEKNIK ELEKTRO UNAND Disusun Oleh: Muhammad Dafa NIM : 2010951044 Dosen Pembimbing: 1. Dr. Darwison, MT 2. Zaini, ...