Pin pin pada arduino UNO |
konfigurasi pin Arduino UNO |
Bagian-bagian arduino uno:
-Power USB
Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.
-Power jack
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.
-Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino. Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.
-Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.
-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.
-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.
-LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.
Bagian - bagian pendukung:
-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).
-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.
Block Diagram Mikrokontroler ATMega 328P pada Arduino UNO
Adapun block diagram mikrokontroler ATMega 328P dapat dilihat pada gambar berikut:
- MASTER
#include<SPI.h>#define buzz 7#define ipbutton 2int buttonvalue;int x;void setup (void){Serial.begin(115200);pinMode(ipbutton,INPUT_PULLUP);pinMode(buzz,OUTPUT);SPI.begin();SPI.setClockDivider(SPI_CLOCK_DIV4);digitalWrite(SS,HIGH);}void loop(void){byte Mastersend,Mastereceive;buttonvalue = digitalRead(ipbutton);if(buttonvalue == LOW){x = 1;}else{x = 0;}digitalWrite(SS, LOW);Mastersend = x;Mastereceive=SPI.transfer(Mastersend);if(Mastereceive == 1){digitalWrite(buzz,HIGH);Serial.println("Master Buzz ON");delay(1000);}else{digitalWrite(buzz,LOW);}delay(1000);}
- SLAVE
1. Analisa percobaan dari rangkaian dan listing program ini, apakah informasi yang diberikan simplex, half duplex, atau full duplex?
Jawab:
Dari percobaan yang dilakukan, informasi
yang diberikan merupakan jenis
half
duplex dimana tidak ada kebutuhan
untuk komunikasi dua arah pada saat yang bersamaan, seluruh kapasitas saluran
dapat dimanfaatkan untuk satu arah. Jadi saat terjadi komunikasi antara A dan B. Saat A mengirim
informasi (berbicara) maka B akan menerima informasi (mendengarkan). Pada
rangkaian percobaan ini kita menggunakan SPI dimana apabila kita memilih salah
satu jalur komunikasi yang kita deklarasikan ke arduino, maka komunikasi
tersebut akan memberikan informasi secara dua arah tetapi tidak dapat secara
bersama sama. Informasi yang diberikan dari master dikirim ke slave, kemudian
di proses oleh slave. Setelah itu, slave akan mengirim kembali ke master.
2. Apa
yang akan terjadi pada rangkaian jika serial begin diganti dari 115200 menjadi
9600?
Jawab:
Serial.begin berfungsi untuk menentukan kecepatan pengiriman dan penerimaan data melalui port serial. Jika serial begin diubah dari 115200 maka tidak ada perubahan pada rangkaian. Hal ini dikarenakan pada dasarnya serial begin hanya mempengaruhi ceppat atau lambatnya berfungsi sebagai set baudrate atau pengatur kecepatan informasi yang diberikan pada 1 arduino ke arduino lainnya. Jika semakin besar serial begin nya maka kecepatan dalam pengiriman data akan lebih cepat. Pada umumnya untuk mencetak beberapa hal pada terminal debugging penggunaan 9600 baud adalah 960 karakter per detik, atau 12 x 80 karakter per detik itu sudah sangat mencukupi. Jika set baudrate antara master dan slave berbeda, maka pada kecepatan pada master dan slave akan berbeda pula
3. Apa
pengaruh clock speed jika diubah menjadi 0 dan 16, yang normalnya 8?
Jawab:
Clock speed adalah kecepatan prosesor yang diukur dari banyaknya jumlah siklus yang bisa dieksekusi setiap detik. Secara logika, makin tinggi angka clock speed, seharusnya makin bagus pula performa prosesor, tapi kondisi ini hanya berlaku dengan asumsi bahwa semua faktor selain clock speed adalah sama. Dimana clock speed memiliki parameter 2, 4, 8, 16, 32, 64, 128. Selain jumlah siklus per detik, yang juga perlu diperhatikan adalah seberapa banyak instruksi yang bisa dieksekusi oleh sebuah prosesor dalam setiap siklus. Hal ini terkait dengan efisiensi prosesor dalam menangani instruksi. Clock speed yang lebih rendah tapi setiap siklusnya mampu mengeksekusi lebih banyak instruksi lebih bagus. Hal ini dikarena jumlah siklusnya lebih sedikit, maka tenaga yang dibutuhkan prosesor untuk menjalankan tugasnya pun juga ikut berkurang. Prosesor pun lebih hemat daya dan tidak mudah panas. Jika nilai parameternya lebih dari 128 atau 28 maka clock speed nya akan menyebakan kinerja prosesor dalam arduino kurang bagus, karena 128 merupakan default dari parameter clock speed.
Tidak ada komentar:
Posting Komentar