Assalamualaikum Wr.Wb
ketemu lagi nih sama saya ^_^
kali ini saya akan memosting tentang apa itu register dalam arduino..
oke langsung aja yaaa..
Sebelum kita masuk ke Fungsi Register didalam arduino,, kita harus mengenal bilangan hexadecimal terlebih dahulu, karena fungsi register ini akan berhubungan dengan bilangan hexadecimal.. dan bilangan hexadecimal ini akan dikonversikan kedalam bilangan biner..
seperti kita ketahui bilangan hexadecimal itu terdiri dari 16 bilangan, dimana dari 0 s/d 9 dan di lanjutkan dari A sampai F, jadi semuanya ada 16 bilangan. Dan bilangan biner itu sendiri terdiri dari 2 bilangan yaitu 0 dan 1
contoh dari bilangan hexadecimal dikonversikan ke bilangan biner :
C7, C didalam hexadecimal itu adalah angka 13 karena 0 s/d 9 itu sudah 10 angka, maka A adalah angka ke-11 begitu seterusnya sampai dengan F..
jadi C7 bila dikonversikan ke bilangan biner adalah 11000111
begini lebih jelasnya, 13 bila dikonversika ke biner maka menjadi 1100, dan 7 menjadi 0111.
contoh kedua 3F, bila d konversikan ke biner maka 00111111, dimana dikonversikan menjadi 0011 dan F adalah angka ke-15 dikonversikan menjadi 1111..
bila kita mengkonversikan bilangan hexadecimal kebilangan biner, maka akan terdapat 4 angka..
dimana 4 angka itu mempunya nilai masing2, yaitu mulai dari 8 4 2 1, sehingga, bila kita ingin mendapatkan angka 12 misalnya, dari 8 4 2 1, kita jumlahkan angka tersebut menjadi 12, yaitu angka 8 dan 4, sehingga angka 8 dan 4 itu menjadi bilangan biner yaitu 1 1 dan angka 2 dan 1 tersebut tidak di hitung maka akan menjadi 0 0, angka 12 bila di biner kan menjadi 1100..
sudah ngerti belom sama penjelasan dari bilangan hexadecimal tersebut?
bila uda ngerti sekarang kembali ke topik register..
didalam arduino, ada beberapa syntak yg harus ada ketika kita membuat program
seperti void setup() dan void loop()
ketika kita membuat program dalam arduino, ketika ingin memasukkan pin-pin diarduino board menjadi inputan atau output, kita harus mengetikkan pinMode, contoh pinMode(3,OUTPUT); yang berarti pin 3 diperintahkan menjadi output, fungsi tersebut terdapat didalam void setup()
Jika didalam void loop(), pin 3 bila diperintahkan menjadi output maka programnya, digitalWrite(3,OUTPUT);
nah, seandainya kita disuruh masukin pin 8 sampai pin 10 output, dan pin 11 sampai 13 input, itu bakalan panjang program yang akan dibuat..
Dengan menggunakan register kita akan mempermudah hal tersebut.. Contoh programnya..
void setup(){
DDRB=0x07;}
DDRB adalah pin dari 8 s/d 13 pengganti dari pinMode, 0 adalah bilangan hexa, x07 artinya nilai bilangan tersebut d konversikan menjadi biner, yg berarti 0000 0111, yang bernilai 1 adalah Output dan bernilai 0 adalah input.
yang berarti 1 dari kiri adalah pin 8, kemudian 9 dan 10, lalu yang bernilai 0 dari kiri adalah pin 11, 12, dan 13..
DDRC adalah pin A0 s/d A5
DDRD adalah pin 0 s/d 7
Untuk di void loop, digitalWrite diganti dengan PORTB, atau PORTC, juga PORTD
PORTB untuk pin 8 s/d 13
PORTC untuk pin A0 s/d A5
dan PORTDuntuk 0 s/d 7
sebagai contoh:
void loop(){
PORTB=0x07;}
yang artinya pin 8 s/d 10 bernilai HIGH dan pin 11 s/d 13 bernilai LOW..
Oke sekian postingan saya kali ini,, sampai jumpa kembali di postingan selanjutnya :)
Tidak ada komentar:
Posting Komentar