Laporan Akhir 2 Modul 3




1. Alat dan Bahan[Back]
- Jumper
Kabel jumper adalah suatu istilah kabel yang ber-diameter kecil yang di dalam dunia elektronika digunakan untuk menghubungkan dua titik atau lebih dan dapat juga untuk menghubungkan 2 komponen elektronika. Kabel jumper jenis ini digunakan untuk koneksi male to male pada kedua ujung kabelnya.


- Arduino Uno

Microcontroller ATmega328P

Operating Voltage 5 V

Input Voltage (recommended) 7 – 12 V

Input Voltage (limit) 6 – 20 V

Digital I/O Pins 14 (of which 6 provide PWM output)

PWM Digital I/O Pins 6

Analog Input Pins 6

DC Current per I/O Pin 20 mA

DC Current for 3.3V Pin 50 mA

Flash Memory 32 KB of which 0.5 KB used by bootloader

SRAM 2 KB

EEPROM 1 KB

Clock Speed 16 MHz


- LED

LED merupakan kependekan dari Light Emitting Diode, yakni salah satu dari banyak jenis perangkat semikonduktor yang mengeluarkan cahaya ketika arus listrik melewatinya.

- Resistor
Resistor adalah komponen elektronika yang bersifat menghambat arus listrik. Resistor termasuk dalam komponen pasif karena komponen ini tidak membutuhkan arus listrik untuk bekerja. Resistor terbuat dari material atau bahan karbon dan keramik yang berbentuk tabung.


- Breadboard
breadboard adalah board yang digunakan untuk membuat rangkaian elektronik tanpa harus merepotkan pengguna untuk menyolder. Biasanya papan breadboard ini digunakan untuk membuat rangkaian elektronik sementara untuk tujuan uji coba atau prototype.
Push Button
 
Push Button


2. Rangkaian Simulasi[Back]





3. Prinsip Kerja Rangkaian[Back]

Pada percobaan 2 membahas tentang komunikasi arduino dengan tipe SPI atau Serial Peripheral Interface. Jenis komunikasi ini arduino master terhubung 4 pin ke arduino slave, yaitu MOSI, MISO, SCLK dan SS (slave select). Kondisi rangkaian yang diberikan adalah menambahkan resistor dengan nilai resistansi 1000 ohm sebelum LED.

Pada program arduino Master. Dideklarasikan pin 7 untuk LED dan pin 2 untuk button, lalu dideklarasikan juga variabel ‘butoonvalue’ dan ‘x’. lalu digunakan dungsi void set up yang berfungsi untuk mengeksekusi program sekali saja. Didalamnya terdapat pengaturan mode pin dimana pin untuk button berfungsi sebagai input dan pin untuk LED sebagai output, lalu dideklarasikan SPI. Begin yang berfungsi untuk memulai komunikasi SPI, digitalWrite untuk mengatur slaveselect berlogika HIGH. Lalu digunakan void loop untuk mengeksekusi program secara berulang. Didalamnya terdapat deklarasi variabel ‘Mastersend’ dan ‘Masterreceive’, lalu dideklarasikan variabel ‘buttonvalue’ yang berisi pembacaan nilai dari button. Lalu digunakan fungsi IF dimana jika nilai dari variabel ‘buttonvalue’ berlogika high, maka variabel ‘x’ sama dengan 1 dan jika variabel ‘buttonvalue’ tidak berlogika high maka variabel ‘x’ sama dengan 0. Lalu dideklarasikan pembacaan digital untuk pin slave select yang berfungsi untuk memulai komunikasi dengan arduino slave. Lalu dideklarasikan variabel ‘Mastersend’ yang berisi variabel ‘x’. lalu dideklarasikan variabel ‘Masterreceive’ yang berisi SPI.transfer(Mastersend) yang digunakan untuk mengirim nilai variabel ‘Mastersend’ ke arduino slave dan juga menerima nilai dari slave. Lalu digunakan fungsi IF dimana jika nilai variabel ’Masterreceive’ sama dengan 1, maka LED akan aktif, jika variabel ‘Masterreceive’ tidak sama dengan 1, maka LED akan mati

Pada program arduino Slave. Pertama dideklarasikan pin 7 untuk LED dan pin 2 untuk button. Lalu dideklarasikan variabel ‘received’ bertipe data boolean, variabel ‘Slavereceived dan Slavesend’ bertipe data byte. Ketiga variabel tersebut diatur sebagai memori Volatile. Lalu variabel ‘buttonvalue’ dan variabel ‘x’. lalu digunakan fungsi void set up yang berfungsi untuk mengeksekusi program sekali saja. Didalamnya terdapat pengaturan mode pin, pin untuk button berfungsi sebagai input, pin untuk LED berfungsi sebagai output dan pin untuk MISO sebagai output. Lalu dideklarasikan variabel ‘Slavereceived’ yang berisi variabel ‘SPDR’ dan dideklarasikan variabel ‘received’ sebagai true. Lalu digunakan void loop yang digunakan untuk mengeksekusi program secara berulang. Didalamnya terdapat fungsi IF(Received) untuk mengatur logika LED on atau off tergantung nilai yang diterima dari arduino master. Lalu dideklarasikan fungsi IF dimana jika nilai variabel ‘Slavereceived’ bernilai 1, maka LED akan menyala, dan jika variabel ‘Slavereceived’ tidak bernilai 1, maka LED akan mati. Lalu dideklarasikan variabel ‘buttonvalue’ yang berisi pembacaan dari pin untuk button. Lalu digunakan fungsi IF yang mana jika variabel ‘buttonvalue’ berlogika high, maka variabel x = 1, jika variabel ‘buttonvalue’ tidak berlogika high, maka variabel x = 0. Lalu dideklarikan variabel ‘Slavesend’ yang berisi variabel x lalu dideklarasikan variabel ‘SPDR’ yang berisi variabel ‘Slavesend’

Ketika rangkaian dijalankan, LED yang terhubung pada arduino slave akan menyala, jika button yang terhubung ke arduino master ditekan, maka LED pada arduino master akan meyala, sedangkan LED pada arduino slave akan mati


3. Video Rangkaian[Back]






5. Analisa[Back]
  1. 1.   Pada Program  "SPI.setClockDivider(SPI_CLOCK_DIV8);" apabila nilai 8 divariasikan menjadi 4, 16 , 32 berapa nilai clock yang dihasilkan oleh master? [Arduino Clock speed: 16Mhz]

    2.      Analisa pengaruh kecepatan pengiriman data berdasarkan nilai clock yang digunakan

     

    Jawab :

    1.      (SPI_CLOCK_DIV4) = 16 / 4 = 4 MHz

    (SPI_CLOCK_DIV16) = 16 / 16 = 1 MHz

    (SPI_CLOCK_DIV32) = 16 / 32 = 0.5 MHz

    2.      Semakin kecil nilai DIV clock, maka proses pengiriman data akan semakin cepat. Misalnya (SPI_CLOCK_DIV8) = 16 / 8 = 4 MHz, apabila nilai DIV clock bernilai 8, maka clock speed bernilai 4MHz



6. Link Download[Back]

0 komentar:

Posting Komentar