Belajar Microcontroller Dasar
Menggunakan Arduino Uno
Ery Dwiyanto
Pendahuluan
Hai, Saya Uno
Arduino Uno adalah salah
satu board elektronik yang
memiliki
microcontroller
yang dapat kita program.
Microcontroller
yang
dipasang
adalah
ATmega328P
www.arduino.cc
2
PIN Arduino
PIN Arduino
Pasukan PIN
Pasukan
PIN
adalah
pekerja
yang
bisa
diperintah oleh Uno untuk
melakukan sesuatu sesuai
dengan
program
yang
dibuat oleh programmer
4
PIN Arduino
Pasukan PIN
Analog In
Power
5
Digita
l
PIN Arduino
Pasukan PIN : Digital
RX-TX
digital +
PWM
digital
6
PIN Arduino
Pasukan PIN : Digital RX - TX
PIN Digital RX - TX : digunakan untuk mengirim/menerima data ke
luar/masuk Uno.
RX : Receive , pin untuk menerima data yang masuk
TX : Transmit , pin untuk mengirimkan data yang keluar
7
PIN Arduino
Pasukan PIN : Digital + PWM
PIN Digital + PWM : memiliki dual fungsi, sebagai pin
digital dan pin PWM. Ditandai dengan ~ ( tilde )
PWM : Pulse Width Modulation, contohnya nanti bisa
digunakan untuk membuat tingkat redup/terang LED
8
PIN Arduino
Pasukan PIN : Digital
PIN Digital : hanya memiliki 2 nilai yang bisa dibaca
atau di perintahkan, yaitu HIGH dan LOW.
9
PIN Arduino
Pasukan PIN : Analog In
PIN Analog adalah pin yang berfungsi sebagai analog-to-digital
(A/D) converter. ADC nya mempunyai ketelitian 10 bit atau dari 0
- 1023.
Nanti akan kita gunakan untuk membaca nilai sensor analog.
10
PIN Arduino
Pasukan PIN : Power
PIN Power adalah pin yang berfungsi sebagai sumber
daya/tegangan bagi komponen elektronik lain yang tersambung
ke Uno. Contohnya adalah sensor, relay dan lainnya. Uno
memiliki 2 level tegangan, yaitu 5 Volt dan 3.3 Volt.
GND adalah kutub (-) negatif dari sumber daya/tegangan.
11
Berkomunikasi dengan Uno
Berkomunikasi dengan Uno
Halo Uno
Uno hanya mengerti bila kita
berkomunikasi dengan bahasa
pemrograman.
Bahasa pemrograman yang biasa
di
pakai
adalah
bahasa
pemrograman C.
Perintah-perintahnya
dibuat
dalam file yang disebut file
program.
File program ini mempunyai
extension
.ino,
contohnya
?? ?
13
Berkomunikasi dengan Uno
Uno, saya ingin membuat
LED berkedip !
Silahkan buat
programnya
Silahkan buat
rangkaiannya
14
Berkomunikasi dengan Uno
void setup(){
Silahkan buat
programnya
pinMode( 13, OUTPUT );
}
void loop(){
Programnya Uno cek dulu,
kalau error tidak akan dijalankan
digitalWrite( 13, HIGH );
delay( 1000 );
digitalWrite( 13, LOW );
delay( 1000 );
}
15
Berkomunikasi dengan Uno
Silahkan buat
rangkaiannya
Uno tidak bisa memeriksa/
checking
rangkaian elektronik
16
Yang Dilakukan Uno dengan
Kode Program
Yang Dilakukan Uno dengan Kode Program
void setup(){
pinMode( 13, OUTPUT );
}
...
PIN 13 !
Persiapan !
OUTPUT !
SIAAAP !
13
Fungsi setup() adalah tempat dimana dilakukan segala persiapan yang
dibutuhkan untuk perintah-perintah program yang akan dijalankan dalam
fungsi loop()
18
Yang Dilakukan Uno dengan Kode Program
HIGH !
PIN 13 !
void loop()
Perintah !
{
HIGH !
13
digitalWrite( 13, HIGH );
delay( 1000 );
digitalWrite( 13, LOW );
Pada saat HIGH maka tegangan pin 13 menjadi tinggi ( 5 Volt ),
sehingga arus akan mengalir ke LED, akibatnya LED akan
menyala
Delay
( berhenti sejenak ) !
delay( 1000 );
}
Pada saat delay maka Uno akan diam selama waktu yang
19
ditentukan ( 1000 berarti 1 detik )
Yang Dilakukan Uno dengan Kode Program
void loop()
{
Perintah !
LOW !
digitalWrite( 13, HIGH );
delay( 1000 );
digitalWrite( 13, LOW );
LOW !
PIN 13 !
13
Pada saat LOW maka tegangan pin 13 menjadi NOL
( 0 Volt ), sehingga arus akan berhenti mengalir ke
LED, akibatnya LED akan padam
Delay
( berhenti sejenak ) !
delay( 1000 );
}
Pada saat delay maka Uno akan diam selama waktu
yang ditentukan ( 1000 berarti 1 detik )
20
Yang Dilakukan Uno dengan Kode Program
void loop(){
digitalWrite( 13, HIGH );
delay( 1000 );
digitalWrite( 13, LOW );
delay( 1000 );
}
Fungsi loop() akan dilakukan berulang-ulang
sampai tidak ada power untuk Uno atau listrik
padam
21
Bahasa Pemrograman C untuk
Uno
Bahasa Pemrograman C untuk Uno
Bahasa adalah Alat Komunikasi
...
...
...
Silahkan buat
programnya
23
Bahasa Pemrograman C untuk Uno
...
Silahkan buat
programnya
Ms.Setup
Mr.Loop
24
Bahasa Pemrograman C untuk Uno
Pola Dasar ( WAJIB ADA ! )
void setup(){
Ms.Setup
}
void loop(){
Mr.Loop
}
25
Bahasa Pemrograman C untuk Uno
Struktur Dasar
// Ini Komentar, biasanya untuk judul dan keterangan program
// Program : LED Berkedip
int pinLED = 13; // pin 13 untuk LED
int jeda = 1000; // nilai jeda untuk delay : 1 detik
void setup(){
Variabel
pinLED
jeda
jeda_lama
pinMode( pinLED , OUTPUT );
}
void loop(){
int jeda_lama = 1500;
digitalWrite( pinLED , HIGH );
Fungsi Setup
Ms.Setup
delay( jeda );
digitalWrite( pinLED , LOW );
Fungsi Loop
delay( jeda_lama );
}
Mr.Loo
p
26
Bahasa Pemrograman C untuk Uno
Struktur Dasar
Komentar adalah keterangan yang tidak akan diproses oleh Uno.
Biasanya untuk menerangkan judul program atau untuk menjelaskan
kegunaan sebuah baris perintah.
Formatnya :
Diawali dengan garis miring 2 kali : //
Contoh :
// Ini adalah komentar
// Program : Membuat LED Berkedip
pinMode(13, OUTPUT ); // mode pin 13 sebagai
OUTPUT
27
Bahasa Pemrograman C untuk Uno
Struktur Dasar
Variabel adalah tempat/wadah untuk menyimpan data di memory
mikrokontroller. Dapat digambarkan seperti kotak/wadah/kantong untuk
menyimpan data.
Syarat penamaan variabel :
• Tidak boleh dimulai dengan angka
• Tidak boleh sama dengan perintah/fungsi bawaan Uno
• Sebaiknya namanya menggambarkan tujuan dari variabel
tersebut
Formatnya :
<type data> <nama_variabel> = <nilai_awal> ;
Contoh :
int pinLED = 13 ; // pin 13 untuk LED
28
Bahasa Pemrograman C untuk Uno
Struktur Dasar
Type data adalah jenis dan besarnya memory yang akan kita gunakan
untuk menyimpan data.
Jenis adalah data apa yang bisa ditempatkan di dalam wadah tersebut.
Besarnya adalah berapa banyak data yang bisa ditempatkan di dalam
wadah tersebut.
Beberapa type data yang sering kita gunakan adalah :
• int : ini singkatan dari integer
jenis : type data ini untuk menyimpan data numerik atau bilangan
bulat
besar: membutuhkan memory sebesar 2 byte dan angka yang bisa
disimpan dalam range -32.768 sampai 32.767
contoh:
int jumlah_tanaman = 0; // variabel dengan type
29 integer
Bahasa Pemrograman C untuk Uno
Struktur Dasar
• long : ini singkatan dari long integer
jenis : type data ini untuk menyimpan data numerik atau bilangan
bulat
besar: membutuhkan memory sebesar 4 byte dan angka yang bisa
disimpan dalam range -2.147.483.648 sampai 2.147.483.647
contoh :
long jumlah_ikan = 0 ;
// variabel dengan type long integer
30
Bahasa Pemrograman C untuk Uno
Struktur Dasar
• float :
jenis : type data ini untuk menyimpan data numerik desimal atau
bilangan pecahan
besar: membutuhkan memory sebesar 4 byte dan angka yang bisa
disimpan dalam range -3.4028235E+38 sampai 3.4028235E+38
contoh :
float suhu_udara = 0.0;
// variabel dengan type float
31
Bahasa Pemrograman C untuk Uno
Struktur Dasar
• String :
jenis : type data ini untuk menyimpan data text
besar: dapat menyimpan text maksimum bergantung besar memory
yang tersisa/tersedia oleh Uno atau biasanya max sebesar 32768
byte. Satu huruf/karakter membutuhkan memory sebesar 1 byte.
Cara menuliskan datanya adalah diapit tanda kutip “” atau ‘’
contoh :
String nama_tanaman = “cabe merah”;
String
String jenis_tanah = ‘berpasir’;
String
// variabel dengan type
// variabel dengan type
32
Bahasa Pemrograman C untuk Uno
Pola Dasar ( WAJIB ADA ! )
void setup(){
Ms.Setup
}
void loop(){
Mr.Loop
}
33
Bahasa Pemrograman C untuk Uno
Struktur Dasar
Fungsi setup() adalah Fungsi dasar yang WAJIB ADA dalam membuat
program di Arduino Uno. Disinilah tempat kita membuat persiapan untuk
setting program yang akan kita buat.
Ms.Setu
p
Formatnya :
void setup() {
}
Contoh :
void setup() {
pinMode(13, OUTPUT );
}
34
Bahasa Pemrograman C untuk Uno
Struktur Dasar
Fungsi loop() adalah Fungsi dasar yang WAJIB ADA dalam membuat
program di Arduino Uno. Disinilah tempat kita membuat perintah-perintah
program yang akan dijalankan secara berulang-ulang oleh Uno.
Mr.Loop
Formatnya :
void loop() {
}
Contoh :
void loop() {
int jeda_lama = 1500;
digitalWrite( pinLED ,
HIGH );
delay( jeda_lama );
digitalWrite( pinLED ,
35
LOW );
Bahasa Pemrograman C untuk Uno
Fungsi
Ms.Setu
p
Mr.Loop
dela
y
Kita sudah mengenal 2 fungsi dasar dalam pemrograman Arduino, yaitu
fungsi setup() dan fungsi loop().
Apakah fungsi itu? Fungsi adalah sekelompok perintah-perintah program
yang memiliki tujuan tertentu yang dapat mengembalikan nilai hasil dari
proses yang dilakukannya.
Semua perintah yang digunakan dalam pemrograman Arduino Uno
sebenarnya adalah fungsi-fungsi. Contohnya, perintah yang sudah sering
kita gunakan adalah :
delay(1000);
detik
// jeda selama 1000 mili detik atau 1
Perintah ini sebenarnya adalah fungsi dengan definisi :
36
void delay(unsigned long ms); // parameter dalam satuan mili
Bahasa Pemrograman C untuk Uno
Fungsi
Cara membuat/mendefinisikan fungsi :
37
Bahasa Pemrograman C untuk Uno
Fungsi
Type data nilai kembalian : Fungsi biasanya akan mengembalikan sebuah nilai
dari hasil prosesnya. Karena itu, kita harus menentukan tipe data untuk nilai yang
akan dikembalikan.
Apabila fungsi tersebut tidak memiliki nilai kembalian, maka kita harus menggunakan
tipe void untuk menyatakan kalau fungsi tersebut tidak akan mengembalikan nilai apaapa. Bila fungsi tersebut memiberikan nilai kembalian maka dalam badan fungsi
digunakan perintah :
return <nilai_kembalian>;
Bila fungsi mengembalikan sebuah nilai maka type data nya bisa berupa :
• int
• long
• float
• String
38
Bahasa Pemrograman C untuk Uno
Fungsi
Nama fungsi : Nama fungsi bisa apa saja tetapi dengan syarat :
• Tidak boleh dimulai dengan angka
• Tidak boleh sama dengan perintah/fungsi bawaan Uno
• Sebaiknya namanya menggambarkan tujuan dari fungsi tersebut
contohnya :
int 360kopi(){}
angka
int digitalWrite(){}
bawaan Uno
void lilis(){}
menggambarkan
// penamaan fungsi ini tidak valid karena dimulai dengan
// penamaan fungsi ini tidak valid karena sama dengan fungsi
// penamaan fungsi ini sebenarnya valid tetapi tidak
39
Bahasa Pemrograman C untuk Uno
Fungsi
Parameter : ini adalah data yang dibutuhkan oleh fungsi dalam proses yang akan
dilakukannya.
• Parameter ini juga harus mencantumkan type data yang akan dipakai.
• Banyaknya parameter tergantung dari kebutuhan fungsi tersebut, bisa saja fungsi
tersebut tidak membutuhkan parameter.
• Syarat penamaan parameter sama dengan syarat penamaan variabel.
contohnya :
int hitung_jumlah(int nilai_satu, int nilai_dua) {
int jumlah;
// ini adalah variabel lokal untuk menyimpan hasil proses
jumlah = nilai_satu + nilai_dua;
// ini adalah proses yang dilakukan
fungsi
return jumlah;
40
// mengembalikan nilai jumlah dari nilai_satu dan nilai_dua
Bahasa Pemrograman C untuk Uno
Fungsi
Sebuah fungsi dapat dipanggil dari dalam fungsi lainnya. Ini sudah
pernah kita lakukan, contohnya kita memanggil fungsi/perintah di
dalam fungsi loop().
Cara memanggilnya adalah dengan cukup menuliskan nama dan data
parameter yang akan digunakan oleh fungsi tersebut.
hitung_jumla
h
void loop() {
Mr.Loop
digitalWrit
e
int total=0;
int angka1 = 5;
int angka2 = 7;
dela
y
total = hitung_jumlah( angka1,angka2 );
digitalWrite(13,HIGH);
// Ini adalah
41 fungsi digitalWrite
Bahasa Pemrograman C untuk Uno
Hal yang harus diingat
void setup(){
Ms.Setup
}
void loop(){
• Setiap baris perintah harus diakhiri dengan ;
( titik koma )
• Huruf besar dan kecil berpengaruh, dua
variabel dengan nama yang sama tapi huruf
besar/kecilnya berbeda maka dianggap
sebagai 2 variabel berbeda.
}
Mr.Loop
42
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )