Arduino API (Arduino Programming Language)
"API
Arduino" adalah istilah yang bisa punya beberapa arti tergantung pada
konteks penggunaannya. Tapi secara umum, ini merujuk pada sekumpulan
fungsi atau antarmuka pemrograman (API = Application Programming
Interface) yang disediakan untuk memprogram dan berinteraksi dengan
perangkat Arduino
Contoh Fungsi API Bawaan di Arduino IDE
Digital I/O
Metode dan Parameter |
Keterangan |
Returns |
int digitalRead(int pin) |
Membaca status pin digital. |
int |
void digitalWrite(int pin, int state) |
Menuliskan status ke pin digital. |
Nothing |
void pinMode(int pin, int mode) | Tentukan modus suatu pin. |
Nothing |
Mode yang tersedia adalah:
- INPUT (0)
- OUTPUT (1)
- INPUT_PULLUP (2)
- INPUT_PULLDOWN (3)
- OUTPUT_OPENDRAIN (4)
Analog
I/O
Method &
Parameters |
Keterangan |
Returns |
int
analogRead(int pin) |
Membaca nilai pin analog dalam resolusi 10-bit (0-1023). |
int |
void
analogReadResolution(int resolution) |
Mengatur resolusi baca ADC dalam bit. |
Nothing |
void
analogReference(int reference) |
Mengubah referensi tegangan untuk papan. |
Nothing |
void
analogWrite(int pin, int value) |
Menulis nilai ke pin yang didukung PWM dalam resolusi 8-bit (0-255). |
Nothing |
void
analogWriteResolution(int resolution) |
Mengatur resolusi penulisan untuk papan. |
Nothing |
- Rentang nilai berubah berdasarkan resolusi. 0-1023 adalah resolusi 10-bit, 0-4096 adalah 12-bit dan seterusnya.
- Setiap papan/arsitektur memiliki serangkaian tegangan referensi yang berbeda.
- Rentang nilai berubah berdasarkan resolusi. 0-255 adalah default (8-bit).
Advanced
I/O
Method &
Parameters |
Keterangan |
Returns |
void
tone(int pin, int frequency, long duration) |
Menghasilkan gelombang persegi pada pin yang ditentukan, dengan siklus kerja 50%. |
Nothing |
void
noTone(int pin) |
Menghentikan pembentukan gelombang persegi pada pin yang ditentukan. |
Nothing |
long
pulseIn(int pin, int state, long timeout) |
Membaca pulsa (baik TINGGI atau RENDAH) pada pin dan mengembalikan panjang pulsa (dalam mikrodetik) |
long |
long
pulseInLong(int pin, int state, long timeout) |
Mengembalikan panjang pulsa (dalam mikrodetik) |
long |
int shiftIn(int pin, int clockPin, int bitOrder) |
Menggeser satu byte data satu bit pada satu waktu, dan mengembalikan nilai bit yang dibaca. |
byte |
void shiftOut(int pin, int clockPin, int bitOrder, byte value) |
Menggeser satu byte data satu bit pada satu waktu. |
Nothing |
- Parameter bitOrder adalah MSBFIRST(1) atau LSBFIRST(0) (bit paling signifikan/paling tidak signifikan).
- Pin yang digunakan untuk shiftOut() perlu dikonfigurasi sebagai OUTPUT, menggunakan pinMode().
Time
Method &
Parameters |
Keterangan |
Returns |
void
delay(long milliseconds) |
Membekukan eksekusi program selama jumlah milidetik tertentu. |
Nothing |
void
delayMicroseconds(int microseconds) |
Membekukan eksekusi program selama jumlah mikrodetik tertentu. |
Nothing |
long
millis() |
Mengembalikan milidetik yang berlalu sejak program dimulai. |
long |
long
micros() |
Mengembalikan mikrodetik yang berlalu sejak program dimulai. |
long |
Math
Method &
Parameters |
Keterangan |
Returns |
int
abs(int value) |
Menghitung nilai absolut suatu angka. |
int |
int
constrain(int value, int min, int max) |
Membatasi angka agar berada dalam suatu rentang. |
int |
long
map(long val, long min, long max, long newMin, long
newMax) |
Memetakan kembali angka dari satu rentang ke rentang lainnya. |
long |
int
max(int val1, int val2) |
Mengembalikan nilai yang lebih besar dari dua nilai. |
int |
int
min(int val1, int val2) |
Mengembalikan nilai yang lebih kecil dari dua nilai. |
int |
double
pow(double base, double exponent) |
Menaikkan basis ke pangkat eksponen. |
double |
int
sq(int value) |
Menghitung kuadrat suatu angka. |
int |
double
sqrt(double value) |
Menghitung akar kuadrat suatu angka. |
double |
Trigonometry
Method &
Parameters |
Keterangan |
Returns |
cos(double angle) |
Menghitung kosinus suatu sudut dalam radian. |
double |
sin(double angle) |
Menghitung sinus suatu sudut dalam radian. |
double |
tan(double angle) |
Menghitung tangen suatu sudut dalam radian. |
double |
Characters
Method &
Parameters |
Keterangan |
Returns |
boolean
isAlpha(char c) |
Memeriksa apakah karakter tersebut merupakan karakter alfabet. |
boolean |
boolean
isAlphaNumeric(char c) |
Memeriksa apakah karakter tersebut adalah karakter alfanumerik. |
boolean |
boolean
isAscii(char c) |
Memeriksa apakah karakter tersebut adalah karakter ASCII 7-bit. |
boolean |
boolean
isControl(char c) |
Memeriksa apakah karakter tersebut merupakan karakter kontrol. |
boolean |
boolean
isDigit(char c) |
Memeriksa apakah karakternya berupa angka (0-9). |
boolean |
boolean
isGraph(char c) |
Memeriksa apakah karakter tersebut merupakan karakter yang dapat dicetak, tidak termasuk spasi. |
boolean |
boolean
isHexadecimalDigit(char c) |
Memeriksa apakah karakter tersebut merupakan digit heksadesimal (0-9, A-F, a-f). |
boolean |
boolean
isLowerCase(char c) |
Memeriksa apakah karakter tersebut merupakan karakter alfabet huruf kecil. |
boolean |
boolean
isPrintable(char c) |
Memeriksa apakah karakter tersebut merupakan karakter yang dapat dicetak, termasuk spasi. |
boolean |
boolean
isPunct(char c) |
Memeriksa apakah karakter tersebut merupakan karakter tanda baca. |
boolean |
boolean
isSpace(char c) |
Memeriksa apakah karakter tersebut adalah karakter spasi. |
boolean |
boolean
isUpperCase(char c) |
Memeriksa apakah karakter tersebut merupakan karakter alfabet huruf besar. |
boolean |
boolean
isWhitespace(char c) |
Memeriksa apakah karakter tersebut adalah karakter spasi menurut metode isSpaceChar() |
boolean |
Random
Numbers
Method &
Parameters |
Keterangan |
Returns |
int
random() |
Menghasilkan angka pseudo-acak antara 0 dan RAND_MAX |
int |
void
randomSeed(unsigned long seed) |
Menanamkan benih pada generator angka acak. |
Nothing |
Bits
and Bytes
Method &
Parameters |
Keterangan |
Returns |
boolean
bit(int value, int bitNumber) |
Mendapatkan nilai bit tertentu. |
boolean |
void
bitClear(int &value, int bit) |
Menghapus bit tertentu. |
Nothing |
boolean
bitRead(int value, int bitNumber) |
Membaca nilai bit tertentu. |
boolean |
void
bitSet(int &value, int bit) |
Menetapkan bit tertentu. |
Nothing |
void
bitWrite(int &value, int bit, int bitValue) |
Menulis nilai ke bit tertentu. |
Nothing |
byte
highByte(int value) |
Mengembalikan byte tinggi dari int |
byte |
byte
lowByte(int value) |
Mengembalikan byte rendah dari int |
byte |
External
Interrupts
Method &
Parameters |
Keterangan |
Returns |
void
attachInterrupt(int pin, void (*function)(void), int
mode) |
Melampirkan interupsi ke pin tertentu. |
Nothing |
void
detachInterrupt(int pin) |
Melepaskan interupsi dari pin tertentu. |
Nothing |
Interrupts
Method &
Parameters |
Keterangan |
Returns |
void
interrupts() |
Mengaktifkan interupsi secara global. |
Nothing |
void
noInterrupts() |
Menonaktifkan interupsi secara global. |
Nothing |
Stream
Method &
Parameters |
Keterangan |
Returns |
int
available() |
Mengembalikan jumlah byte yang tersedia dalam buffer serial. |
int |
int
read() |
Membaca byte berikutnya dari buffer serial. |
int |
void
flush() |
Menunggu transmisi data serial keluar selesai. |
Nothing |
int
find(char *target) |
Mencari string target dalam buffer serial. |
int |
int
findUntil(char *target, char *terminate) |
Mencari string target hingga string terminasi yang ditentukan ditemukan. |
int |
int
peek() |
Mengembalikan byte berikutnya dalam buffer serial tanpa menghapusnya. |
int |
int
readBytes(char *buffer, int length) |
Membaca karakter dari buffer serial ke dalam buffer. |
int |
int
readBytesUntil(char terminator, char *buffer, int length) |
Membaca karakter dari buffer serial ke buffer hingga terminator ditemukan. |
int |
String
readString() |
Membaca karakter dari buffer serial ke dalam String hingga karakter baris baru ditemukan. |
String |
String
readStringUntil(char terminator) |
Membaca karakter dari buffer serial ke dalam String hingga terminator yang ditentukan ditemukan. |
String |
int
parseInt() |
Membaca karakter dari buffer serial dan mengubahnya menjadi integer. |
int |
float parseFloat() |
Membaca karakter dari buffer serial dan mengubahnya menjadi float. |
float |
void
setTimeout(unsigned long timeout) |
Mengatur durasi maksimum untuk find(),findUntil(), parseInt(), and parseFloat() . |
Nothing |
Serial
Method &
Parameters |
Keterangan |
Returns |
if(Serial) |
Memeriksa apakah objek Serial tersedia. |
boolean |
int
available() |
Mengembalikan jumlah byte yang tersedia untuk dibaca. |
int |
int
availableForWrite() |
Mengembalikan jumlah byte yang tersedia untuk penulisan. |
int |
void
begin(unsigned long baudrate) |
Menginisialisasi komunikasi Serial dengan baud rate yang ditentukan. |
void |
void
end() |
Mengakhiri komunikasi Serial. |
void |
int
find(char *target) |
Mencari string target dalam buffer serial. |
int |
int
findUntil(char *target, char *terminate) |
Mencari string target hingga string terminasi yang ditentukan ditemukan. |
int |
void
flush() |
Menunggu transmisi data serial keluar selesai. |
void |
float parseFloat() |
Membaca karakter dari buffer serial dan mengubahnya menjadi float. |
float |
int
parseInt() |
Membaca karakter dari buffer serial dan mengubahnya menjadi integer. |
int |
int
peek() |
Mengembalikan byte berikutnya dalam buffer serial tanpa menghapusnya. |
int |
size_t print() |
Mencetak data ke port serial. |
size_t |
size_t println() |
Mencetak data ke port serial diikuti oleh karakter baris baru. |
size_t |
int
read() |
Membaca byte berikutnya dari buffer serial. |
int |
int
readBytes(char *buffer, size_t length) |
Membaca karakter dari buffer serial ke dalam buffer. |
int |
int
readBytesUntil(char terminator, char *buffer, size_t length) |
Membaca karakter dari buffer serial ke buffer hingga terminator ditemukan. |
int |
String
readString() |
Membaca karakter dari buffer serial ke dalam String hingga karakter baris baru ditemukan. |
String |
String
readStringUntil(char terminator) |
Membaca karakter dari buffer serial ke dalam String hingga terminator yang ditentukan ditemukan. |
String |
void
setTimeout(unsigned long timeout) |
Mengatur durasi maksimum untuk find(), findUntil(), parseInt(), and parseFloat() . |
void |
size_t write(uint8_t) |
Menulis satu byte ke port serial. |
size_t |
void
serialEvent() |
Dipanggil saat data tersedia dalam buffer serial. |
void |
SPI
Method &
Parameters |
Keterangan |
Returns |
SPISettings(uint32_t clock, uint8_t
bitOrder, uint8_t dataMode) |
Membuat objek SPISettings dengan jam, urutan bit, dan mode data yang ditentukan. |
SPISettings |
void
begin() |
Menginisialisasi pustaka SPI. |
void |
void
beginTransaction(SPISettings settings) |
Memulai transaksi SPI dengan pengaturan yang ditentukan. |
void |
void
endTransaction() |
Mengakhiri transaksi SPI saat ini. |
void |
void
end() |
Mengakhiri pustaka SPI. |
void |
void
setBitOrder(uint8_t bitOrder) |
Mengatur urutan bit (MSBFIRST atau LSBFIRST) untuk komunikasi SPI. |
void |
void
setClockDivider(uint8_t divider) |
Mengatur pembagi jam untuk komunikasi SPI. |
void |
void
setDataMode(uint8_t dataMode) |
Mengatur mode data untuk komunikasi SPI. |
void |
byte
transfer(byte value) |
Mentransfer satu byte melalui SPI. |
byte |
void
usingInterrupt(int interruptNumber) |
Menentukan interupsi mana yang akan digunakan untuk transaksi SPI. |
void |
I2C
(Kabel)
Method &
Parameters |
Keterangan |
Returns |
void
begin() |
Menginisialisasi pustaka Wire. |
void |
void
end() |
Mengakhiri perpustakaan Wire. |
void |
int
requestFrom(int address, int quantity) |
Meminta data dari perangkat slave dengan alamat dan jumlah byte yang ditentukan. |
int |
void
beginTransmission(int address) |
Memulai transmisi ke perangkat slave dengan alamat yang ditentukan. |
void |
int
endTransmission() |
Mengakhiri transmisi dan mengembalikan status. |
int |
size_t write(uint8_t data) |
Menulis satu byte ke bus I2C. |
size_t |
int
available() |
Mengembalikan jumlah byte yang tersedia untuk dibaca. |
int |
int
read() |
Membaca satu byte dari bus I2C. |
int |
void
setClock(uint32_t frequency) |
Mengatur frekuensi jam I2C. |
void |
void
onReceive(void (*function)(int)) |
Mengatur fungsi yang akan dipanggil saat data diterima oleh slave. |
void |
void
onRequest(void (*function)(void)) |
Mengatur fungsi yang akan dipanggil saat master meminta data dari slave. |
void |
void
setWireTimeout(uint32_t timeout) |
Mengatur batas waktu untuk operasi I2C. |
void |
void
clearWireTimeoutFlag() |
Menghapus tanda batas waktu. |
void |
bool
getWireTimeoutFlag() |
Mengembalikan status tanda batas waktu. |
bool |
Contoh Variables API Bawaan di Arduino IDE
Enums
Enum Type |
Enumeration |
Keterangan |
PinStatus |
HIGH / LOW |
Logical HIGH and LOW values (1and 0). |
PinMode |
INPUT / OUTPUT / INPUT_PULLUP / INPUT_PULLDOWN/ OUTPUT_OPENDRAIN |
Constants for specifying pin modes (0, 1, 2, 3, 4). |
LED_BUILTIN |
Constant representing the built-in LED
pin.* |
|
true / false |
Boolean constants for true and false (1and 0). |
Conversion
Method &
Parameter |
Keterangan |
(unsigned int) |
Ketik casting ke unsigned int. |
(unsigned long) |
Ketik casting ke unsigned long. |
byte() |
Ketik casting ke byte. |
char() |
Ketik casting ke char. |
float() |
Ketik casting ke float. |
int() |
Ketik casting ke int. |
long() |
Ketik casting ke long. |
word() |
Ketik casting ke word. |
Data
Types
Method &
Parameter |
Keterangan |
array |
Kumpulan variabel dengan tipe yang sama. |
bool |
Tipe data Boolean. |
boolean |
Tipe data Boolean (sinonim untuk bool). |
byte |
Tipe data 8-bit yang tidak ditandatangani. |
char |
Tipe data karakter 8-bit. |
double |
Tipe data titik-mengambang presisi ganda. |
float |
Tipe data titik-mengambang presisi tunggal. |
int |
Tipe data integer. |
long |
Tipe data integer panjang. |
short |
Tipe data integer pendek. |
size_t |
Tipe data integer yang tidak bertanda. |
string |
Urutan karakter (bukan tipe primitif). |
String() |
Kelas string di Arduino. |
unsigned char |
Tipe data karakter 8-bit yang tidak ditandatangani. |
unsigned int |
Tipe data integer yang tidak bertanda. |
unsigned long |
Tipe data integer panjang tak bertanda. |
void |
Mewakili tidak adanya tipe. |
word |
Tipe data 16-bit yang tidak ditandatangani. |
Variable
Scope & Qualifiers
Method &
Parameter |
Keterangan |
const |
Kualifikasi untuk mendefinisikan konstanta. |
scope |
Bukan kata kunci spesifik; mengacu pada cakupan variabel. |
static |
Kualifikasi untuk mendeklarasikan variabel statis. |
volatile |
Kualifikasi untuk mendeklarasikan variabel yang mudah berubah. |
Utilities
Method &
Parameter |
Keterangan |
PROGMEM |
Kualifikasi untuk menyimpan data dalam memori program. |
sizeof() |
Operator untuk menentukan ukuran tipe data atau variabel. |
Structure
Sketch
Method &
Parameter |
Keterangan |
void
loop() |
Fungsi utama untuk eksekusi kode berkelanjutan. |
void
setup() |
Fungsi inisialisasi, dipanggil sekali saat startup. |
Control
Structure
Method &
Parameter |
Keterangan |
break |
Keluar dari pernyataan loop atau switch. |
continue |
Melewati sisa iterasi loop. |
do...while |
Menjalankan blok kode berulang kali selama kondisi tertentu berlaku. |
else |
Bagian dari pernyataan if-else. |
for |
Membuat loop dengan inisialisasi, kondisi, dan kenaikan yang ditentukan. |
goto |
Memindahkan kendali ke pernyataan yang berlabel. |
if |
Pernyataan bersyarat untuk pengambilan keputusan. |
return |
Keluar dari fungsi dan secara opsional mengembalikan nilai. |
switch...case |
Pernyataan cabang multi arah. |
while |
Membuat loop dengan kondisi tertentu. |
Further
Syntax
Method &
Parameter |
Keterangan |
#define (define) |
Definisi makro untuk substitusi kode. |
#include (include) |
Menyertakan berkas dalam kode sumber. |
/* */ (block comment) |
Blokir komentar untuk beberapa baris. |
// (single line comment) |
Komentar satu baris. |
; (semicolon) |
Pernyataan terminator. |
{} (curly braces) |
Blok kode, sering digunakan dengan struktur kontrol. |
Arithmetic
Operators
Method &
Parameter |
Keterangan |
% (remainder) |
Operator modulo untuk mencari sisa pembagian. |
* (multiplication) |
Operator perkalian. |
+ (addition) |
Operator penjumlahan. |
- (subtraction) |
Operator pengurangan. |
/ (division) |
Operator divisi. |
= (assignment operator) |
Operator penugasan. |
Comparison
Operators
Method &
Parameter |
Keterangan |
!= (not equal to) |
Memeriksa apakah dua nilai tidak sama. |
< (less than) |
Memeriksa apakah nilai kiri lebih kecil dari nilai kanan. |
<= (less than or equal to) |
Memeriksa apakah nilai kiri kurang dari atau sama dengan nilai kanan. |
== (equal to) |
Memeriksa apakah dua nilai sama. |
> (greater than) |
Memeriksa apakah nilai kiri lebih besar dari nilai kanan. |
>= (greater than or equal to) |
Memeriksa apakah nilai kiri lebih besar dari atau sama dengan nilai kanan. |
Boolean
Operators
Method &
Parameter |
Keterangan |
! (logical not) |
Membalikkan nilai logika, benar menjadi salah dan sebaliknya. |
&& (logical and) |
Operator logika AND, mengembalikan nilai true jika kedua operan bernilai benar. |
(logical or) |
Operator logika OR, mengembalikan true jika setidaknya satu operan bernilai benar. |
Pointer
Access Operators
Method &
Parameter |
Keterangan |
& (reference operator) |
Returns the memory address of a
variable. |
* (dereference operator) |
Accesses the value pointed to by a
pointer. |
Bitwise
Operators
Method &
Parameter |
Keterangan |
& (bitwise and) |
Melakukan operasi AND bitwise. |
<< (bitshift left) |
Menggeser bit ke kiri. |
>> (bitshift right) |
Menggeser bit ke kanan. |
^ (bitwise xor) |
Melakukan operasi bitwise XOR (eksklusif OR). |
\| (bitwise or) |
Melakukan operasi bitwise OR. |
~ (bitwise not) |
Membalikkan semua bit. |
Compound
Operators
Method &
Parameter |
Keterangan |
%= (compound remainder) |
Melakukan operasi modulo dan menetapkan hasilnya ke operan kiri. |
&= (compound bitwise and) |
Melakukan operasi AND bitwise dan menetapkan hasilnya ke operan kiri. |
*= (compound multiplication) |
Mengalikan operan kiri dengan operan kanan dan menetapkan hasilnya ke operan kiri. |
++ (increment) |
Menambah nilai operan sebesar 1. |
+= (compound addition) |
Menambahkan operan kanan ke operan kiri dan menetapkan hasilnya ke operan kiri. |
-- (decrement) |
Mengurangi nilai operan sebesar 1. |
-= (compound subtraction) |
Mengurangi operan kanan dari operan kiri dan menetapkan hasilnya ke operan kiri. |
/= (compound division) |
Membagi operan kiri dengan operan kanan dan menetapkan hasilnya ke operan kiri. |
^= (compound bitwise xor) |
Melakukan operasi XOR bitwise dan menetapkan hasilnya ke operan kiri. |
\|= (compound bitwise or) |
Melakukan operasi OR bitwise dan menetapkan hasilnya ke operan kiri. |
Tidak ada komentar:
Posting Komentar