0% menganggap dokumen ini bermanfaat (0 suara)
21 tayangan38 halaman

Hardware Dan Software Mikrokontroler Avr Dan Arduino

Dokumen ini menjelaskan tentang mikrokontroler AVR dan platform Arduino yang berbasis AVR, termasuk keunggulan, spesifikasi teknis, dan dasar pemrograman Arduino. Arduino dirancang untuk kemudahan penggunaan dan prototyping, dengan berbagai fitur pemrograman sederhana dan dukungan komunitas yang besar. Selain itu, dokumen ini juga membahas struktur program, variabel, tipe data, operator, dan pengendalian aliran dalam pemrograman Arduino.

Diunggah oleh

aldisitio57
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
21 tayangan38 halaman

Hardware Dan Software Mikrokontroler Avr Dan Arduino

Dokumen ini menjelaskan tentang mikrokontroler AVR dan platform Arduino yang berbasis AVR, termasuk keunggulan, spesifikasi teknis, dan dasar pemrograman Arduino. Arduino dirancang untuk kemudahan penggunaan dan prototyping, dengan berbagai fitur pemrograman sederhana dan dukungan komunitas yang besar. Selain itu, dokumen ini juga membahas struktur program, variabel, tipe data, operator, dan pengendalian aliran dalam pemrograman Arduino.

Diunggah oleh

aldisitio57
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 38

MIKROKONTROLER AVR

DAN ARDUINO
Steven Pragestu, M.T.
Mikrokontroler AVR
• AVR merupakan kependekan dari Alf and Vegard’s
RISC Processor, dikembangkan oleh Atmel.
• Menggunakan arsitektur RISC (Reduced Instruction
Set Computer).
• Keunggulan utama: instruksi sederhana, cepat, dan
efisien.
• Menggunakan arsitektur Harvard, memisahkan
memori program dan memori data.
Arduino
• Arduino adalah platform elektronik open-source
berbasis mikrokontroler AVR.
• Dirancang agar mudah digunakan oleh non-teknisi
(seniman, desainer, pelajar).
• Cocok untuk prototyping cepat dan pembelajaran
mikrokontroler.
• Pemrograman cukup dengan koneksi USB, tanpa
downloader eksternal.
Keunggulan Arduino
• Murah : board Ardunio biasanya dijual relatif murah
• Sederhana dan mudah pemrogramannya : Bahasa pemograman
Arduino sangat Fleksibel karena hampir mendekati bahasa manusia.
• Mudah digunakan: sintaks sederhana, banyak referensi.
• Open-source: hardware dan software bebas dimodifikasi.
• Komunitas besar: banyak proyek dan forum bantuan.
• Kompatibel dengan berbagai modul tambahan (sensor, motor driver,
dsb).
Arduino Uno R3
• Arduino Uno adalah papan mikrokontroler berbasis mikrokontroler 8-
bit ATmega328P. Bersama dengan ATmega328P, terdiri dari komponen
lain seperti osilator kristal, komunikasi serial, pengatur tegangan, dll
untuk mendukung mikrokontroler. Arduino Uno memiliki 14 pin
input/output digital (6 di antaranya dapat digunakan sebagai output
PWM), 6 pin input analog, koneksi USB, soket DC, header ICSP dan
tombol reset.
Spesifikasi Teknis Arduino Uno R3
Arduino Uno R3
Dasar Pemrograman Arduino
(Struktur Program)
A. Struktur
• Struktur dasar bahasa pemrograman Arduino sangat
sederhana hanya terdiri dari dua bagian. Dua bagian
tersebut dapat juga disebut sebagai fungsi utama
yaitu setup() dan loop().
• Di mana void setup() adalah bagian untuk inisialisasi
yang hanya dijalankan sekali di awal program,
sedangkan void loop() untuk mengeksekusi bagian
program yang akan dijalankan berulang-ulang untuk
selamanya.
Dasar Pemrograman Arduino
(Struktur Program)
• setup()
• Fungsi setup() hanya di panggil satu kali ketika
program pertama kali dijalankan. Ini digunakan untuk
mendefinisikan mode pin atau memulai komunikasi
serial. Fungsi setup() harus di ikut sertakan dalam
program walaupun tidak ada statement yang
dijalankan.
Dasar Pemrograman Arduino
(Struktur Program)
• loop()
• Setelah menjalankan fungsi setup() maka secara
langsung akan melakukan fungsi loop() secara
berurutan dan melakukan instruksi-instruksi yang ada
dalam fungsi loop() terus menerus.
Dasar Pemrograman Arduino
(Struktur Program)
B. Fungsi
• Function (fungsi) adalah blok pemrograman yang
mempunyai nama dan mempunyai statement yang
akan di eksekusi ketika function tersebut di panggil.
Fungsi void setup() dan void loop() telah di bahas di
atas dan pembuatan fungsi yang lain akan di bahas
selanjutnya.
Fungsi tersebut memiliki
• Contoh : nilai balik int (integer),
karena kalau tidak
menghendaki adanya nilai
balik maka type function
harus void.
Dasar Pemrograman Arduino
(Struktur Program)
C. Curly Braces {}
• Curly brace mendefinisikan awal dan akhir dari
sebuah blok fungsi. Apabila ketika memprogram dan
programmer lupa memberi curly brace tutup maka
ketika di compile akan terdapat laporan error.
Dasar Pemrograman Arduino
(Struktur Program)
D. Semicolon (;)
• Tanda titik koma adalah sintak wajib dalam
pemrograman Arduino. Biasanya sintak ini
ditempatkan pada akhir pernyataan.
Dasar Pemrograman Arduino
(Struktur Program)
E. Blok Komentar /*…*/
• Cara untuk menambahkan catatan atau penjelasan ke
dalam kode program. Catatan ini tidak akan dieksekusi
oleh mikrokontroler, tetapi akan tetap terlihat di
dalam kode dan dapat membantu programmer (atau
orang lain) memahami apa yang dilakukan oleh kode
tersebut.
Dasar Pemrograman Arduino
(Struktur Program)
F. Baris Komentar //
• Sama halnya dengan blok komentar, baris komentar
pun sama hanya saja yang dijadikan komen adalah per
baris.
Dasar Pemrograman Arduino
(Variabel)
Variabel adalah sebuah penyimpan nilai yang dapat
digunakan dalam program. Variabel dapat di rubah
sesuai dengan instruksi yang kita buat.
Ketika mendeklarasikan variabel harus diikut
sertakan tipe variabel serta nilai awal variabel.

Contoh :
Dasar Pemrograman Arduino
(Variabel Scope)
Sebuah variabel dapat dideklarasikan pada awal program sebelum void setup(), secara lokal di
dalam sebuah fungsi, dan terkadang di dalam sebuah blok statement pengulangan. Sebuah
variabel global hanya satu dan dapat digunakan pada semua blok fungsi dan statement di dalam
program. Variabel global di deklarasikan pada awal program sebelum fungsi setup().
Sebuah variabel lokal dideklarasikan di setiap blok fungsi atau di setiap blok statement
pengulangan dan hanya dapat digunakan pada block yang bersangkutan saja.

Contoh penggunaan:
Dasar Pemrograman Arduino (Tipe
Data)
A. byte
• Tipe data byte dapat menyimpan 8-bit nilai angka bilangan asli tanpa koma. Byte
memiliki range 0 – 255.

B. integer
• Integer merupakan tipe data utama untuk menyimpan nilai bilanganbulat tanpa
koma. Penyimpanan integer sebesar 16-bit dengan range 32.767 sampai -32.768.
Dasar Pemrograman Arduino (Tipe
Data)
C. long
• Perluasan ukuran untuk long integer, penyimpanan long integer sebesar 32-bit
dengan range 2.147.483.647 sampai -2.147.483.648.

D. float
• Float adalah tipe data yang dapat menampung nilai decimal, float merupakan
penyimpan yang lebih besar dari integer dan dapat menyimpan sebesar 32-bit
dengan range 3.4028235E+38 sampai -3.4028235E+38.
Dasar Pemrograman Arduino (Tipe
Data)
E. array
• Array adalah kumpulan nilai yang dapat di akses dengan nomor indeks, nilai yang
terdapat dalam array dapat di panggil dengan cara menuliskan nama array dan
nomor indeks. Array dengan indeks 0 merupakan nilai pertama dari array. Array
perlu di deklarasikan dan kalau perlu diberi nilai sebelum digunakan.

Contoh :
Dasar Pemrograman Arduino
(Operator Aritmetic)
A. Aritmetic
• Operator aritmatik terdiri dari penjumlahan, pengurangan, perkalian, dan
pembagian.

• Dalam menggunakan operan aritmatik harus hati-hati dalam menentukan tipe


data yang digunakan jangan sampai terjadi kelebihan range data.
Dasar Pemrograman Arduino
(Operator Aritmetic)
B. Compound Assignments
• Compound assignments merupakan kombinasi dari aritmatik dengan sebuah
variabel. Ini biasanya dipakai pada pengulangan.
Dasar Pemrograman Arduino
(Operator Aritmetic)
C. Comparison
• Statement ini membandingkan dua variabel dan apabila terpenuhi akan bernilai
1 atau true. Statement ini banyak digunakan dalam operator bersyarat.
Dasar Pemrograman Arduino
(Operator Aritmetic)
D. Logic Operator
• Operator logika digunakan untuk membandingkan dua ekspresi dan
mengembalikan nilai balik benar atau salah tergantung dari operator yang
digunakan. Terdapat 3 operator logika AND, OR, dan NOT, yang biasanya
digunakan pada if statement. Contoh penggunaan:
Dasar Pemrograman Arduino
(Konstanta)
Arduino mempunyai beberapa variabel yang sudah dikenal yang kita sebut konstanta.
Ini membuat memprogram lebih mudah untuk dibaca. Konstanta di klasifikasi
berdasarkan grup.
A. true/false
Merupakan konstanta boolean yang mendefinisikan logic level. False dapat
didefinisikan sebagai 0 dan True sebagai 1.
B. high/low
Konstanta ini digunakan untuk menentukan kondisi pin pada level HIGH atau LOW
ketika membaca dan menulis dari/ke pin digital. HIGH didefinisikan sebagai logic 1, ON
atau 5 volt sedangkan LOW sebagai logic 0, OFF atau 0 volt.
C. input/output
Konstanta ini digunakan dengan fungsi pinMode() untuk mendefinisikan mode pin
digital, sebagai INPUT atau OUTPUT.
Dasar Pemrograman Arduino (Flow
Control)
A. if
• Operator if mengetes sebuah kondisi apakah sudah tercapai/benar atau belum,
dicontohkan seperti pengetesan nilai analog apakah sudah berada di bawah nilai
yang kita kehendaki atau belum, apabila terpenuhi maka akan mengeksekusi
baris program yang ada dalam brackets {...} kalau tidak terpenuhi maka akan
melewati baris program yang ada dalam brackets.
Dasar Pemrograman Arduino (Flow
Control)
B. If….else
• Operator if…else mengetes sebuah kondisi apabila tidak sesuai dengan kondisi
maka akan mengeksekusi baris program yang ada di else.
Dasar Pemrograman Arduino (Flow
Control)
C. for
• Operator for digunakan untuk mengulang blok statement di dalam bracket,
beberapa kali sesuai dengan jumlah yang ditentukan. Setiap perulangan for()
mempunyai tiga parameter dan dipisahkan menggunakan titik koma (;)

• index=0; Sesuatu yang dikerjakan sebelum dimulai: Membuat


index = 0.
• index<=3; Operasi logika yang dites, selama hasilnya benar
• Contoh : (true) akan terus looping: Jika index lebih kecil atau sama
dengan 3, akan menjalankan kode yang ada di dalam bracket {}.
Ketika index = 4, akan keluar dari loop dan melanjutkan baris
kode selanjutnya di dalam sketch.
• index++ Sesuatu yang dilakukan setelah menjalankan satu
baris statement: Meletakan "++" setelah sebuah variabel
bermaksud menambahkan variabel tersebut dengan satu. Dapat
juga menggunakan "index = index + 1".
Dasar Pemrograman Arduino (Flow
Control)
D. while
• Operator while akan terus mengulang baris perintah yang ada dalam bracket
sampai ekspresi sebagai kondisi pengulangan bernilai salah.

E. do…while
• Sama halnya dengan while() hanya saja pada operator do…while tidak melakukan
pengecekan pada awal tapi di akhir, sehingga otomatis akan melakukan satu kali
baris perintah walaupun pada awalnya sudah terpenuhi.
Dasar Pemrograman Arduino (Digital
I/O)
Board Arduino mempunyai jumlah pin yang berlabel digital D0 - D13 sebanyak 14
dengan pengalamatan 0 - 13. Namun apabila pin digital yang kita butuhkan masih
kurang, kita masih bisa menambahnya dengan menggunakan pin yang berlabel analog
A0 - A5 difungsikan sebagai pin digital input/output dengan pengalamatannya 14 - 19.
Ada saat tertentu pin digital 0 dan 1 tidak bisa digunakan karena di pakai untuk
komunikasi serial, sehingga harus hati-hati dalam pengalokasian I/O.
A. pinMode(pin, mode)
• Biasa digunakan dalam void setup() untuk mengkonfigurasi pin apakah sebagai INPUT atau
OUTPUT. Arduino digital pin secara default dikonfigurasi sebagai input sehingga untuk
mengubahnya harus menggunakan operator pinMode(pin, mode).
Dasar Pemrograman Arduino (Digital
I/O)
B. digitalRead(pin)
• Membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.

C. digitalWrite(pin, value)
• Digunakan untuk mengeset pin yang kita kehendaki dalam kondisi level tegangan HIGH atau LOW
(nyala atau mati). Pin digital Arduino mempunyai 14 ( 0 – 13 ).
Dasar Pemrograman Arduino
(Analog I/O)
Selain pin digital Arduino dilengkapi juga oleh pin analog yang berfungsi untuk membaca input
tegangan variabel antara 0 - 5 volt dengan resolusi ADC (Analog to Digital) 10-bit.
Pada Arduino ada 6 pin yang berlabel analog input dengan pengalamatan A0 - A5. Tidak seperti pin
digital yang dapat difungsikan selain sebagai digital input dapat juga sebagai digital output, namun pada
pin analog hanya dapat berfungsi sebagai analog input saja, apabila kamu ingin membuat Arduino
mengeluarkan output tegangan analog dapat dilakukan dengan menggunakan pin digital yang berlabel
PWM (3,5,6,9,10,11), tegangan analog yang dikeluarkan Arduino adalah dengan memanipulasi output
digital secara pulsa.
Dasar Pemrograman Arduino
(Analog I/O)
A. analogRead(pin)
• Membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini hanya dapat bekerja pada
analog pin (A0 - A5). Hasil dari pembacaan berupa nilai integer dengan range 0 sampai 1023.

B. analogWrite(pin, value)
• Mengirimkan nilai analog dengan metoda Pulse Width Modulation (PWM) ke pin yang berlabel
PWM (3,5,6,9,10,11). Nilai yang dapat digunakan adalah dari 0 - 255.
Dasar Pemrograman Arduino (Time)
A. delay(ms)
• Menghentikan program untuk sesaat sesuai dengan yang dikehendaki, satuannya dalam
millisecond.

B. millis()
• Mengembalikan nilai dalam millisecond dihitung sejak arduino board menyala. Penampungnya
harus dengan tipe data long integer.
Dasar Pemrograman Arduino (Math)
A. min(x,y)
• Membandingkan dua variabel dan akan mengembalikan nilai yang paling kecil.

B. max(x,y)
• Membandingkan dua variabel dan akan mengembalikan nilai yang paling besar.
Dasar Pemrograman Arduino
(Random)
A. randomSeed(seed)
• Membandingkan dua variabel dan akan mengembalikan nilai yang paling kecil.

B. random(min,max)
• Membandingkan dua variabel dan akan mengembalikan nilai yang paling besar.
Dasar Pemrograman Arduino (Serial)
A. Serial.begin(rate)
• Statement ini digunakan untuk mengaktifkan komunikasi serial dan mengatur baudrate.
Bauderate yang standar biasa digunakan dengan komputer adalah 9600bps.

B. Serial.println(data)
• Mengirimkan data ke serial port, diikuti oleh karakter Carriage Return dan Line Feed (CR dan LF)
atau yang kita kenal kode untuk Enter. Perintah ini mempunyai fungsi yang sama dengan
Serial.print() namun lebih sering digunakan karena setelah selesai data di kirim di ikuti enter
untuk data selanjutnya akan di tampilkan pada baris/alinea baru di bawahnya sehingga bisa
memudahkan dalam pembacaan data pada serial monitor.
Sekian dan Terima kasih

Anda mungkin juga menyukai