Pertemuan 2
Pertemuan 2
PERTEMUAN 2
Mikrokontroler
komputer yang berukuran mikro dalam satu chip IC (integrated
circuit) yang terdiri dari processor, memory, dan antarmuka yang
bisa diprogram. Jadi disebut komputer mikro karena dalam IC atau
chip mikrokontroller terdiri dari CPU, memory, dan I/O yang bisa
kita kontrol dengan memprogramnya. I/O juga sering disebut
dengan GPIO (General Purpose Input Output Pins) yang berarti :
pin yang bisa kita program sebagai input atau output sesuai
kebutuhan.
Contoh Project Mikrokontroller
https://www.instagram.com/reel/Ctg3spvA8Ml/
https://www.instagram.com/reel/CrbYlxRgtMU/
https://www.instagram.com/reel/Cq3b48MAL0k/
https://www.instagram.com/reel/Cq0JUpyA6B8/
https://www.instagram.com/reel/CkN9EtLgfpZ/
https://www.youtube.com/watch?v=-SlOaIG7YtY
https://www.youtube.com/watch?v=GwYuixn_9Yg&t=22s
Contoh rangkaian
Arduino dotemukan oleh Massimo Banzi dan
David Cuartielles dengan tujuan awal yaitu
untuk membantu para siswa membuat
perangkat desain dan interaksi.
SEJARAH ARDUINO
Board Arduino
Sofware Arduino
Programming Structure
Bahasa Pemrograman Arduino
Berbasis C
setup()
Loop()
Functions
Variable
Variable
int x=0 ;
Byte menyimpan data numerik bernilai 8 bit, tidak memiliki nilai desimal,data byte nilai berkisar
0-255.
Tipe data utama yang menyimpan data angka bernilai 16 bit. Data bertipe int nilainya berkisar 32,767 sampai
-32,768.
Long
Tipe data integer yang memiliki kisaran nilai lebih tinggi, memiliki nilai 32 bit dengan nilai berkisar
2,147,483,487 sampai -2 2,147,483,487
Tipe data numerik yang memiliki nilai desimal, memiliki data angka bernilai 32 bit.
Array
Array adalah kumpulan nilai yang dapat di akses dengan nomor index, nilai yang terdapat dalam array
dapat di panggil dengan cara menuliskan nama array dan nomor index. Array dengan index 0 merupakan
nilai pertama dari array. Contoh
y = y +3 ;
x = x -7;
i=j*6;
r=r/5;
Operasi Gabungan
Operator untuk membandingkan 2 konstanta atau varaible yang sering digunakan untuk menguji suatu
kondisi benar atau salah.
X == y // x sama dengan y
adalah konstanta boolean yang mendefinisikan nilai logika. FALSE dapat didefinisikan sebagai 0 (nol)
sedangkan TRUE sering didefinisikan sebagai 1. Contoh
If (b == TRUE) {
digitalWrite (0, HIGH) ;
}
HIGH / LOW
Konstanta ini menentukan nilai pin sebagai HIGH atau LOW dan digunakan ketika membaca atau
menulis ke pin digital. HIGH didefinisikan sebagai tingkat logika 1/ON/5 volt, sedangkan LOW adalah
tingkat logika 0/OFF/ 0 volt. Contoh
digitalWrite(13, HIGH) ;
Konstanta yang digunakan pada fungsi pinMode() untuk menentukan mode pin digital sebagai input
atau output. Contoh
pinMode(13, OUTPUT) ;
Description If statement
Instruksi untuk menguji apakah suatu kondisi tertentu telah tercapai, seperti mebandingkan nilai variable
berada diatas jumlah tertentu, dan menjalankan setiap instruksi di dalam kurung jika pernyataan tersebut
benar. Jika kondisi tidak terpenuhi maka program dalam kurung akan dilewati.
If (x > 0){
Serial.print(“POSITIF”) ;
}
IF... Else
Memungkinkan untuk mengeksekusi instruksi yang lain jika suatu kondisi tidak terpenuhi
digitalWrite(0, HIGH) ;
else {
digitalWrite(0, LOW) ;
}
Else juga dapat digunakan untuk kondisi lebih dari satu. Contoh
digitalWrite(0, HIGH) ;
digitalWrite(1, HIGH) ;
else {
}
Switch Case Statement
Mirip dengan pernyataan if, switch...case
mengontrol program dengan mengizinkan
programmer untuk menentukan kode yang
berbeda yang harus dieksekusi dalam berbagai
kondisi.
For
for (i=0;i<10;i++) {
digitalWrite(0, HIGH);
}
While
while (x>1) {
}
pinMode(pin, Mode)
Instruksi yang digunakan pada fungsi void setup() untuk menginisialisasi suatu pin sebagai input atau
output. Contoh
pinMode(3, INPUT) ;
pinMode(3, OUTPUT) ;
digitalRead(pin)
Instruksi yang digunakan untuk membaca input dari suatu pin yang hasilnya berupa logika HIGH atau
LOW pada pin digital. Pindigital dapat diartikan sebagai suatu variable atau konstanta 0-13 yang
mewakili pin input dan output. Contoh
Value = digitalRead(Pin) ;
digitalWrite(pin,value)
Instruksi yang digunakan untuk memberi nilai output HIGH(1) atau LOW(0) pada pin digital.
Pindigital dapat diartikan sebagai suatu variable atau konstanta 0-13 yang mewakili pin input dan
output. Contoh
digitalWrite(pin, HIGH) ;
analogRead(pin)
Instruksi membaca nilai input analog dengan resolusi 10bit. Hanya berlaku untuk pin A0-A5. karena
beresolusi 10bit maka hasil pembacaan nilai digital antara 0 sampai 1023. Contoh
Value = analogRead(pin) ;
analogWrite(pin, value)
Instruksi yang berfungsi untuk memberi nilai PMW (pulse width modulation) pada output yang
berlabel PMW (3, 5, 6, 9, 10, 11) nilai yang dapat digunakan 0 sampai 255. Contoh
analogWrite(pin, 255);
.
tone(pin, frekuensi, durasi)
Instruksi untuk menghasilkan nada frekuensi dengan durasi tertentu dan dikirim ke pin yang dituju.
Instruksi untuk memberi jeda sebelum lanjut ke program selanjutnya. Jeda dalam satuan milidetik.
Contoh
Instruksi untuk membuka port data serial untuk komunikasi serial baik mengirim atau menerima data
dari serial. Rate adalah baud rate yang digunakan untuk komunikasi serial (biasa digunakan 9600).
Contoh
Void setup() {
Serial.begin(9600);
}
Serial.print();
Serial.print() adalah instruksi yang digunakan untuk mengirim data ke serial port. Contoh
Z = Serial.read (); //menerima nilai dari serial port dan menyimpan ke var z
Tugas
1. Carilah jenis-jenis mikrokontroller dan
konfigurasi pinnya
2. Buatlah gambaran project yang ingin
mahasiswa buat berdasarkan imajinasi
masing-masing.