Laporan Akhir Modul 3 Percobaan 3




1. Jurnal
[Kembali]

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 Potensiometer

    Potensiometer (POT) adalah salah satu jenis Resistor yang Nilai Resistansinya dapat diatur sesuai dengan kebutuhan rangkaian elektronika ataupun kebutuhan pemakainya. Sebuah Potensiometer (POT) terdiri dari sebuah elemen resistif yang membentuk jalur (track) dengan terminal di kedua ujungnya. Sedangkan terminal lainnya (biasanya berada di tengah) adalah Penyapu (Wiper) yang dipergunakan untuk menentukan pergerakan pada jalur elemen resistif (Resistive). Pergerakan Penyapu (Wiper) pada Jalur Elemen Resistif inilah yang mengatur naik-turunnya Nilai Resistansi sebuah Potensiometer. 

    Simbol dan bentuk Potensiometer dapat dilihat pada gambar 9 berikut.

    Gambar Bentuk dan Simbol Potensiometer 


    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 [Kembali]

    Pada Percobaan ini, digunakan alat dan bahan seperti 2 Arduino (Untuk Slave dan Master), Potensiometer  LED, Resistor 220 ohm, Kabel Jumper, Breadboard, Kabel USB, Arduino IDE, dan Laptop. Setelah semua terangkai, kita akan selanjutnya membuat listing program untuk  menjalankannya. Pertama pada slave kita hubungkan  pin 13 dengan LED yang seri dengan resistor 220 ohm pada kaki anoda dan kaki katodanya terhubung ke ground. Selanjutnya beralih ke master. Pada master, kita menghubungkan pin VCC(5V) arduino ke pin VCC  dari potensiometer dan kita menghubungkan pin GND pada potensiometer ke pin GND arduino. Selanjutnya, kita hubungkan pin A0 dengan pin OUT pada potensiometer. Setelah itu, kita menghubungkan pin SDA yakni A4 pada master ke pin SDA A4 pada slave dan juga pin SCL A5 pada master dan pin A5 SCL pada slave. Setelah semua terangkai, kita selanjutnya masuk ke listing program

     //MASTER

    #include <Wire.h>
    #define MASTER_ADDR 9
    int analogPin = 0;
    int val = 0;
    void setup() {
    Wire.begin();
    }
    void loop() {
    delay(50);
    val = map(analogRead(analogPin), 0, 1023, 255, 1);
    Wire.beginTransmission(MASTER_ADDR);
    Wire.write(val);
    Wire.endTransmission();
    }

    Prinsip kerja dari program master yaitu pertama-tama menginput libray yang digunakan yakni wire.h. Setelah itu, kita mendefinisikan alamat master pada pin 12 arduino master. Setelah itu, kita membuat variabel analog pin dan val = 0 dengan tipe data integer. Setelah itu kita membuat fungsi void setup () dimana kode didalam fungsi ini akan dieksekusi sekali. Didalam fungsi ini terdapat Wire.begin() untuk memulai wire. Selain itu, terdapatSerial.begin(9600); untuk mengatur kecepatan pengiriman data 9600 bps melalui port serial.

    Selanjutnya, kita membuat fungsi void loop() dimana kode di dalam fungsi ini akan dieksekusi  berulang. Didalam fungsi ini terdapat delay 50 ms, terdapat variabel val  untuk memetakan analog pin, 0-1023, 1-255. Selanjutnya, kita memulai transmisi dengan Wire.beginTransmission(MASTER_ADDR);. Setelah itu kita membuat Wire.write(val); Dan setelah itu kita akan mengakhiri transmisi dengan Wire.endTransmission(); dan kita kan print nilai varibel val pada serial monitor dengan Serial.println(val);

    //SLAVE
    #include <Wire.h>
    #define SLAVE_ADDR 8
    int LED = 13;
    int rd;
    int br;
    void setup() {
    pinMode(LED, OUTPUT);
    Wire.begin(SLAVE_ADDR);
    Wire.onReceive(receiveEvent);
    Serial.begin(9600);
    Serial.println("I2C Slave demo");
    }
    void receiveEvent(){
    rd = Wire.read();
    Serial.println(rd);
    }
    void loop() {
    delay(50);
    if(rd==1)
    {
      digitalWrite(LED, HIGH);
    }
    if(rd==255)
    {
      digitalWrite(LED, LOW);
    }
    }

    Prinsip kerja dari program master yaitu pertama-tama menginput libray yang digunakan yakni wire.h. Setelah itu, kita mendefinisikan alamat slave pada pin 12 arduino. Setelah itu, kita membuat variabel br dan rd serta mendeklarasikan pin 13 digunakan untk LED. Selanjutnya fungsi void setup () dimana kode didalam fungsi ini akan dieksekusi sekali. pinMode(LED, OUTPUT); untuk mendeklarasikan LED sebagai output. Wire.begin(SLAVE_ADDR); memulai komuikasi I2C dengan variabel SLAVE_ADDR. Selanjutnya, Wire.onReceive(receiveEvent); untuk menunjukkan bahwa slave menerima data dari receiveEvent. Selain itu, terdapatSerial.begin(9600); untuk mengatur kecepatan pengiriman data 9600 bps melalui port serial. Terakhir di dalam fungsi ini terdapat Serial.println("I2C Slave demo"); untuk menampilkan text "I2C Slave demo" pada serial monitor.

    Selanjutnya terdapat fungsi void receiveEvent() untukmenunjukkan kode yang ada fidalam fungsi ini sebagai penerima: Didalam fungsi ini terdapat rd=Wire.read(); untuk variabel rd membaca nilai yang terbaca dari komunikasi I2C. Selanjutnya terdapat Serial.println(rd);} untuk memprint nilai yang terbaca pada variabel rd pada serial monitor. Selanjutnya kita membuat fungsi void loop()dimana kode dalam fungsi ini akan dieksekusi berulang.Selain itu kita beri delay selama 50ms setelah eksekusi. Setelah itu terdapat br = map(rd, 1, 255, 100, 2000);  untuk menunjukkan tentang nilai rd, tentang but tegangan (1-255),dan rentang waktu (100-2000).

    Selain itu terdapat Serial.println(br); untuk memprint nilai variabel br pada serial monitor. Selanjutnya terdapat digitalWrite(LED, HIGH); menunjukkan LED hidup. delay(br); menunjukkan jeda waktu br ms setelah dieksekusi. digiralWrite(LED, LOW); menunjukkan LED mati dan terakhir delay(br);} menunjukkan jeda waktu br ms setelah dieksekusi.

    Setelah dirangkai, kita upload dengan menghubungkan menggunakan kabel USB arduino master dan slave ke laptop. Prinsip kerja rangkaian ini adalah, arduino master akan mengirimkan data dengan bantuan sinyal clock ke slave. data dikirimkan memalui pin SDA dan clock melalui pin SCL. data dari master berupa besar tegangan atau nilai potensiometer yang akan dikirimkan ke slave dan diolah oleh slave sehingga slave akan mengeluarkan output LED  hidup atau mati sesuai dengan data dari slave sehingga dapat diatur juga lamanya hidup dan mati.

    5. Video Percobaan [Kembali]

        



    6. Analisa [Kembali]

    Percobaan 3 :

    1. Analisa pengaruh baudrate pada komunikasi I2C? dan apakah pada komunikasi i2c baudrate dapat dihilangkan!

    Jawab :

    Tidak ada pengaruh baud rate pada komunikasi I2C. Karena pada dasarnya serial begin (baudrate) berfungsi sebagai set baudrate/pengatur kecepatan informasi data yang diberikan pada 1 arduino ke arduino lainnya. Jika dihilangkan maka tidak ada pengaruh pada outputnya, hanya saja pada serial monitor tidak muncul nilainya dan juga pada I2C merupakan komunikasi sinkronous.

    2. Analisa pengaruh "SLAVE_ADDR 9" jika nilai 9  pada slave divariasikan!

    Jawab :

    Fungsi SLAVE_ADDR 9 adalah untuk mendefinisikan alamat slave, angka 9 pada syntax tersebut menunjukkan alamat 9 yang digunakan oleh slave. Sehingga jika nilai 9 pada slave divariasikan akan merubah alamat (address) slave tersebut. Jika perubahan alamat slave tidak diikuykan dengan konfigurasi master maka tidak akan sampai tujuannya.

    3. Analisa pengaruh potensiometer terhadap output yang dihasilkan pada master dan slave!

    Jawab :

    Potensiometer berguna sebagai input dari master untuk memperbesar dan memperkecil delay/hambatan hidup dari LED. maka semakin besar hambatannya maka akan bergerak lambat, sedangkan jika hambatan kecil LED bergerak (HIGH, LOW) cepat. 

    4. Analisa Alasan menggunakan program "val = map(analogRead(analogPin), 0, 1023, 255, 1)"!

    Jawab :

    Untuk rentang ADC 0-1023 dan 1-255 dimana pada  kondisi 1 LED akan hidup lebih lama dan 255 akan cepat. Untuk mengubah dari 10 bit ke 8 bit dan di 10 bit menjadi maksimum di 8 bit dan sebaliknya.

    7. Link Download [Kembali]


    Tidak ada komentar:

    Posting Komentar

      Bahan Presentasi untuk Mata Kuliah Sistem Digital 2022   Oleh : Muhammad Salman Ikhsan (2010951007) Dosen Pengampu : Dr. Darwison, MT Juru...