Modul 3 Percobaan 2 Kondisi 6 Tambahkan resistor 1k ohm sebelum LED
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
0 komentar:
Posting Komentar